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 に追記しておくと改善します。とりあえず、これで上書きして、不要な単語を消すと良いかも?