脚本
概述
EverEdit内置JScript/VBS作为基础的脚本解释引擎(理论上支持以ActiveScript形式运行的ruby和python)。在EverEdit内部,JScript/VBS不仅可以用来进行常见的文本操作,也可以定义着色文件。JScript/VBS易学易懂,和Windows关系紧密。借助于脚本, EverEdit可以完成很多匪夷所思的功能,JScript和JavaScript非常的像,语法基本一致,JavaScript使用起来毫无难度! 本文并不着重于介绍VBS/JScript的基础语法和用法, 如您需要学习VBS/JScript的基础部分, 请参考相关文档。
为了简化和方便管理,被调用的脚本,要统一地放置到安装目录下的macro目录中。您可以在macro目录中,使用子目录作为分类,脚本的后缀必须为mac,ejs,evb,erb,epy(暂时不识别其它的后缀)。所有被放置到macro目录中的文件都会显示在扩展菜单中,如未显示,您可以点击刷新脚本菜单试试看。
类和函数
EverEdit以面向对象的方式封装了一些常用的类和函数,在脚本中处于最顶层的对象是App,其它的对象均由此创建而来。
全局函数和变量
SCRIPT_PATH: 获取当前脚本的路径SCRIPT_FULLNAME获取当前脚本的路径+名称SCRIPT_NAMEONLY只获取当前脚本的名称Include(): 包含某个文件。注意:EverEdit会直接读取被包含的文件,然后在当前上下文中进行执行。SCRIPT_NAME: 已舍弃自4.5.0.4500
Application
函数
// 创建菜单。该菜单的弹出将会跟随鼠标位置。
Menu CreateMenu();
bool BindShortcut(string strCommand, string strKey, bool bSaveNow);
string FindShortcut(string strCommand);
void AddTemplate(string strTitle, string strType, string strFile, bool bRunAsSnippet);
Document GetDoc(int index);
void Sleep(int dwMillisec);
// 发送整数形式的命令到主窗口,nCmd是整数值,对应着菜单中的某个菜单项的ID。
void SendCommand(int nCmd);
// 发送字符串形式的命令到主窗口,具体命令可参考快捷键中显示的文本。
void SendCommandEx(string strText);
// web预览指定路径的文件,预览的web文件将会链接当前活动的文档窗口。可以使用Ctrl+B在链接的文档间切换。
void WebPreview(string strPathName);
void WebOutput(string strText);
Document NewDoc();
Document CreateDoc();
Document OpenDoc(string strPathName);
/**
输出文本到输出窗口
bClear:是否清除当前文
bTerminate:是否终止当前正在运行的程序。
**/
void OutputText(string strText, bool bClear=false, bool bTerminate=false);
// 打印文本到输出窗口并自动添加一个换行符
void OutputLine(string strText);
// 打印文本到输出窗口
void Print(string text);
// 打印文本到输出窗口并自动添加一个换行符
void PrintLine(string text);
/**
弹出文本输入框
strPrompt:提示文字
strTitle:对话框的标题
**/
string ShowInputBox(string strPrompt, string strTitle);
/**
执行一个命令行程序,并获取它的stdout的输出
initdir: 初始目录
encoding: 该程序的输出编码
**/
string GetResultFromExe(string cmdline, string initdir="", int encoding=0)。
// 打开代码管理窗口,并让其显示指定title的snippet文件
void OpenSnippetByTitle(string title);
// 获取当前显示器,平均字符宽度
int GetEmWidth();
// 运行自定义工具
void RunTool(string toolFile)
// 下载文件
void DownloadFile(string fileName, string url, string saveTo);
bool Unzip(string pathName, string unzipTo);
IniFile* GetIniFile(string pathName);
string md5file(string pathName);
string md5(string text);
string GetTempFolder()
// 状态栏闪烁文本, 5秒后停止闪烁
void Alert(string text)
// 删除指定的模板文件
DeleteTemplate(string title)属性
Document
函数
属性
光标位置:Pos
输出窗口:OutputWindow
函数
菜单:Menu
持久化存储:PersistentStringTable
字符串表:StringTable
HtmlDialog
HexDoc
Project
Hello World
下面看看在EverEdit中用脚本如何显示一个Hello,World。首先打开EverEdit,建立一纯文本文件,保存以下代码:
点击主菜单→扩展→保存为脚本,输入任意脚本名称就可以了(支持中文),因为我们是用js写的,所以后缀要输入ejs。然后点击同菜单下的刷新脚本菜单,看看你命名的脚本是不是出现了呢,点击它运行试试吧!
最后更新于
这有帮助吗?