脚本

概述

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。然后点击同菜单下的刷新脚本菜单,看看你命名的脚本是不是出现了呢,点击它运行试试吧!

最后更新于

这有帮助吗?