MetaTrader4 から別のエディタを選択して起動する。
Notepad++ de MQL4の記事を読んで、『A better editor for MQL4 using SciTE!』を導入してみたら、かなり便利だった...のですが、微妙に欠点があって、やはり純正 MetaEditor も手放せなかったりします。
そこで、MetaTrader4 から、両方のエディタを選んで起動できるようにしてみました。
動作イメージは・・・
↑MT4から起動すると
↓選択ダイアログがでて、「はい」 ならMetaEditor 、「いいえ」 なら SciTE が起動します。
手順は以下の通りです。
(1) MetaEditor.exe -> _MetaEditor.exe にリネームしておく。
(2) 以下の6行の MetaEditor.ahk を作成し、右クリ&コンパイルして MetaEditor.exe を作成して配置する。(要 AutoHotkey)
SetWorkingDir %A_ScriptDir% MsgBox, 4,, Open MetaEditor ? IfMsgBox Yes Run , %A_ScriptDir%\\_MetaEditor.exe "%1%" else Run , "C:\\MT4\\scite-mql-1.4.2\\SciTE.exe" "%1%"
↑SciTE.exeのパスは適宜書き換えてください。
注意1)MetaTrader がアップデートされると、MetaEditor.exe が上書きされて元に戻ります。その場合は、やり直してください。
注意2)既に、MetaEditor.exe が起動している場合は、そちらがアクティブになるだけなので、SciTEは起動しません。
『A better editor for MQL4 using SciTE!』は、そのままでは日本語設定になっていないのと、キーワードの色設定が MetaEditor と異なっています。
このセットを解凍して、SciTE.exe のあるフォルダに上書きすると簡単に上記設定に変更できます。
メニューが日本語では困る人は、locale.properties ファイルを削除してください。
フォントを変えたい場合は、オプションから
SciTEGlobal.properties (共有特性設定)ファイルの下記を変更してください。
font.base=font:MS ゴシック,size:10
ツールの Code Beatifierでソース整形する際のオプションを変更する場合は、
Commands.properties ファイルの下記を変更してください。
command.14.*="$(SciteDefaultHome)\\additions\\astyle\\astyle.exe" -s2A3Dp "$(FileNameExt)"
コンパイラのパスを変えたい場合は、
langs/mql.properties ファイルの下記を変更してください。
metalang=$(SciteDefaultHome)\other\metalang.exe
#include しているファイルがある場合、metalang.exeのパスを本来のパスに変えるか、
scite-mql-1.4.2\other\experts\include
に必要なファイルを置くしかないようです。
デフォルトの補完機能では、MQL4のすべてのキーワードが補完候補には出てきません。不便であれば、
api\mql.api に追記しておくと改善します。とりあえず、これで上書きして、不要な単語を消すと良いかも?