我正在从MetaEditor切换到VSCode,以便为MetaTrader4开发。
我正在通过Wine在Linux中使用MetaTrader4和MetaEditor。 (并且MetaEditor在Wine中运行非常糟糕)
我想创建一个编译代码的任务,并希望将相同的错误日志返回给VSCode来进一步调试代码,就像使用MetaEditor一样。
我已经使用了这篇文章来弄清楚使用了什么CLI命令来编译MQL4: Compiling MQL4 via command line through wine metaeditor.exe
/usr/bin/wine /path/to/MT4/metaeditor.exe /compile:"Z:\path\to\MT4\MQL4\Experts\Foo\Bar_EA.mq4" /include:"Z:\path\to\MT4\MQL4" /log
我的问题是我不理解,找不到任何能够解释task.json文件中“命令”的作用或可用变量列表的资源。像“ / include:”或“ presentation”:,$ {file}等
所以我做了一些猜测,然后将其拼凑成到目前为止的样子:
{
"version": "2.0.0",
"tasks": [
{
"label": "MQL4 Compile",
"type": "shell",
"command": "/usr/bin/wine /.wine/drive_c/Program Files (x86)/FXChoice MetaTrader 4/metaeditor.exe",
"args": [
"/compile:${file}"
]
}
]
}
它可能不太正确。 感谢您的帮助,谢谢
答案 0 :(得分:0)
{
"version": "2.0.0",
"tasks":
[
{
"label": "MQL4-Compile",
"group":
{
"kind" : "build",
"isDefault" : true
},
"presentation":
{
"echo" : true,
"reveal": "always",
"focus" : true,
"panel" : "shared"
},
"promptOnClose" : true,
"type" : "process",
"osx" :
{
"command" : "wine",
"args" :
[
"/Users/SVG/.wine/drive_c/Program Files/MetaTrader/metaeditor.exe",
"/compile:${fileBasename}",
"/log:${fileBasenameNoExtension}.log",
]
},
"windows" :
{
"command" : "C:\\Program Files (x86)\\MetaTrader\\metaeditor.exe",
"args" :
[
"/compile:${fileBasename}",
"/log:${fileBasenameNoExtension}.log",
]
},
}
]
}