从名称替换和函数提示到书签和热键,在MetaEditor中实施的不同的工具都是为了便于开发程序。这些方法可以加速源代码编写过程,通过它可以便于导航和避免失误。
在本节中描述以下函数:
可以查看内置和用户函数,常量,变量,类成员,关键字等的不同名称列表 。替换变量由第一个输入的符号决定。当编写源代码时,此列表自动打开。若要手动打开此列表,应该使用" 列表名称" 命令在"编辑" 菜单,在"标准" 工具栏或使用"Ctrl+Space" 组合键,在第一个符号名称键入后:
此外,它是唯一留下来选择必要的变体,使用“向上箭头”和“向下箭头”键,然后按“Enter”键。也可以用鼠标做此选择。如果继续键入函数名称字母,可替换变量列表将缩短。
这个特征允许查看选定函数的参数及其类型。若要打开这个信息,应该执行" 参数信息" 命令在 "编辑" 菜单,在"标准" 工具栏或使用"Ctrl+Shift+Space" 组合键。必须在鼠标光标在参数指定括号内的时候执行此命令。只要您这样做,函数下面将出现弹出的包含参数的帮助行:
考虑一下上面截图所示的示例中展示的信息:
此函数可以自动移动到选定函数或者变量的声明或释义。如果释义或声明在另一个文件,那么将打开此文件和移动鼠标到相应位置。这个函数也允许移动到包含文件(#include)。
若要转到定义,应该把光标放在一个参数上并执行 " 转到定义" 命令在"编辑" 菜单,在"标准" 工具栏或使用"Alt+G"组合键。若要转到包含文件,应该把光标放在声明线上并执行上面提到的一个命令。
这个特征允许在当前文件打开所有声明函数列表。若要打开列表,请执行" 函数列表" 命令在"编辑" 菜单,在"标准" 工具栏或使用"Alt+M" 组合键。
为函数指定的参数显示在括号中。通过点击鼠标左键或使用 "Enter"键可以进入文件中的所选函数的定义。 列表中,每个函数的类型都有其自己的图标:
在源代码中注释工作的不同命令在"编辑" 菜单和在 "标准" 工具栏中实施:
执行"限制注释"或使用"Ctrl+/"组合键在指定位置插入单行注释符号:
//--- |
如果 "函数标题" 或"Ctrl+."组合键被使用,那么函数注释部分将被插入到指定位置:
//+------------------------------------------------------------------+
|
"编辑" 菜单的"其他" 子菜单包括几个命令,用来方便编辑源代码:
书签意于在代码库中使用必要的行,通过它们进一步方便导航。书签工作的命令位于"编辑"菜单的“书签”子菜单,在 "标准" 工具栏和文本的快捷菜单。在MetaEditor,有以下工作命令:
MetaEditor包含命名书签工作的功能-有已分配的个位数标识符的书签。 要设置这样一个书签按0-9数字键,同时按住"Ctrl" 键。若去以前设置的键,按下相应的数字键,同时按住“Alt”键。命名书签导航使通过源代码要容易得多。
要快速转到当前文件代码中的行,可以使用" 转到行" 命令在"编辑" 菜单或"标准" 工具栏。只有按下该按钮,下面窗口就会打开:
窗口中指定包含在该文件中的代码的行的范围。要转到行,应该指定其编号并点击"OK" 键。
为了使代码编写更容易,MetaEditor包含了插入片段的可能性 - 小模板的代码片段,描述了MQL4/MQL5语言的结构元素。要插入一个片段,您应该键入一个特殊的关键字。只要您这样做,光标会变成,意味着可以插入一个片段。下一步是按"Tab" 键。
例如,要插入一个类的声明,输入关键字"class" 并按下"Tab" 键:
只要这样做,关键字就会被类的声明替换。要在活动的片段字段之间切换 (在这种情况下?它们是类的名称,构造函数和析构函数),使用"Tab"和"Shift+Tab" 组合键。
如果您改变活动字段,片段的其他字段将会自动改变。例如,如果您改变类的名称,构造函数和析构函数的名称将会自动改变;如果您在"for"运算符的一个表达式中改变变量名称,其他表达式的变量名称也会更改。
如果您按下"Ctrl+Enter"组合键,那么片段工作系统会识别结构,类,枚举,方法和函数。这时光标必须在相应的结构元件描述中。只要按下组合键,用户就可以使用"Tab"和"Shift+Tab"组合键在成员(类,结构和枚举)和参数(方法和函数) 间移动以及如上所述的一起编辑它们。
此刻,支持下列片段:
关键字 |
值 |
---|---|
#import |
导入声明。 |
OnBookEvent |
OnBookEvent事件处理程序。 |
OnCalculate |
OnCalculate事件处理程序。 |
case |
"case" 选择符。 |
OnChartEvent |
OnChartEvent事件处理程序。 |
class |
类的声明。 |
OnDeinit |
OnDeinit事件处理程序。 |
do |
"do while"循环声明。 |
enum |
枚举声明。 |
for |
"for"循环声明。 |
if |
"if" 条件声明。 |
else |
"else"条件声明。 |
OnInit |
OnInit事件处理程序。 |
OnStart |
OnStart事件处理程序。 |
struct |
结构声明。 |
switch |
"switch"选择符。 |
OnTester |
OnTester事件处理程序。 |
OnTesterInit |
OnTesterInit事件处理程序。 |
OnTesterPass |
OnTesterPass事件处理程序。 |
OnTesterDeinit |
OnTesterDeinit事件处理程序。 |
OnTick |
OnTick事件处理程序。 |
OnTimer |
OnTimer事件处理程序。 |
OnTrade |
OnTrade事件处理程序。 |
OnTradeTransation |
OnTradeTransation事件处理程序。 |
while |
"while" 循环声明。 |
"编辑-插入"菜单命令可以快速插入资源文件,因此可以有助于应用程序开发。
在当前位置插入 #property 指令可以立即打开语言中所有程序属性 的列表。
若要在程序资源添加图片或声音文件,请运行该指令并选择BMP或WAV文件(文件必须在\MQL5 目录中)。已选文件相应路径的#resource指令将被插入到程序的当前位置。
#resource "\\Images\\image.bmp" |
通过执行这个命令和选择合适的文件,您可以从外部程序库或EX5/EX4文件导入函数(文件必须位于\MQL5目录)。已选文件相应路径的一对#import指令将被插入到程序的当前位置。
#import "..\Experts\SendNotification.ex5"
|
在两个指令中间添加已导入函数的描述。
若要在程序代码中插入包含文件,请运行这个命令并选择一个MQH文件(相应的文件必须位于\MQL5目录)。已选文件相应路径的#include指令将被插入到程序的当前位置。
#include <Arrays\Array.mqh> |
这个命令允许您以二元数组的形式向程序文本添加任何文件。运行这个命令并选择所需的文件(相应的文件必须位于\MQL5目录)。char数组将被插入到程序的当前位置。
此外,这个函数还允许您使用EA或指标传输图表模板:在程序代码中插入您的模板作为一个数组,然后使用FileSave函数将其保存到磁盘。在此之后,可以使用ChartApplyTemplate函数将模板应用到所需的图表上。
//+------------------------------------------------------------------+
|
若要在程序代码添加文本文件的数据,请运行该命令并选择TXT或CSV文件(文件必须在\MQL5 目录中)。包含文件数据所需维度的字符串数组将被插入到当前程序位置:
string data[][3]=
|
MetaEditor允许您轻松转换源数据的格式。打开所需文件,选择其中的文字并执行编辑-转换 菜单的其中一个命令: