読者です 読者をやめる 読者になる 読者になる

EmEditorでHSP開発できるようにしてみた

概要

この記事はEmEditorというエディタをHSP開発環境として利用する際の情報をまとめたものです。少なくともHSP既に知ってて、EmEditor常用しようかなと言う人でないと全く読む価値は無いです拝承。

はじめに

 先日、*1下記のサクラエディタHSP開発環境にするという記事が盛り上がっていました。
サクラエディタをHSPのスクリプトエディタとして使う: transient-log
確かにHSP標準エディタにも色々機能足りてないなーと思う所があったのですが、普段サクラエディタを利用していないのでちょっと設定に手こずるところもあり、私が常用しているEmEditorHSP用の開発環境に仕立てようかなと思いました。そこそこ使えるようになったので、その環境構築の手順を紹介します。EmEditorでも上記サクラエディタで出来ることほぼ出来ますので、サクラエディタよりEmEditorの方を常用してるよって方はこの記事の内容を試して見てはいかがでしょうか。

EmEditorHSP向け環境設定など

EmEditorのDL

下記URLからDL出来ます。
Unicode、巨大ファイルにも対応する Windows用定番テキストエディター! - EmEditor (テキストエディタ)
EmEditorは有料ですが、無料版もあるので、お試しならそちらを使えばよいでしょう。ちなみに私がEmEditorを常用している理由は、数十GBのファイルであってもかなり軽快に開けるからです。私はデータ解析してる人間でして、たまに数十GBに及ぶ巨大なログを目視したい時もあり、その際に便利です。多分HSP使ってる人の99.999%に当てはまらない要望だとは自覚してます。

EmEditorHSP構文ファイルを適用する

構文ファイルを適用すると、キーワード(関数名や定数など)を強調表示(平文と色分けしてくれたり太字にしたり)してくれます。まずは下記サイトからHSP構文ファイルをDLしてください。
http://mclab.uunyan.com/lab/editor/HSP_%E6%A8%99%E6%BA%96%E6%A9%9F%E8%83%BD.ESY
DL出来たら、画面上部のツールバーから「ツール」→「設定の選択」→「設定の定義」へと進み左クリックすると「設定の定義」ダイアログが出てくるので、そこにある「新規作成」ボタンを左クリックします。すると「新規作成」ダイアログが出てくるので、そこで「既定の設定を使用」にチェックを付けたまま「OK」ボタンを左クリックします。クリックすると、「新規作成」ダイアログが閉じて「設定の定義」ダイアログにコントロールが戻ります。そして「設定」欄に「新規」ってオブジェクトが出てくるので、それに「HSP*2」と名前を付けてEnterします。すると「設定」欄にHSPの項目が出来ますので、それを選択状態にしたうえで「プロパティ」ボタンを左クリックします。「HSPのプロパティ」というダイアログが出てくるので、そこから「強調(1)」というタブを左クリックし、「強調(1)」画面の下部にある「インポート」ボタンを左クリックします。そこでファイルダイアログが出てくるので、先ほどDLしたHSP構文ファイルを選択し左クリックを押すと、HSP構文ファイルの情報が読み取られて強調表示などが設定されます。

EmEditorからHSPコンパイルする

HSP3コンパイラfor EmEditorマクロ | Codetter(こーどったー)β
これをcompile.jseeなどの適当な名前を付けて保存します。
EmEditorに戻り、画面上部のツールバーから「マクロ」→「カスタマイズ」→「新規作成」でファイルダイアログが出てきますので、そこで先ほどのcompile.jseeを選択します。これで設定は終わりです。以後は「マクロ」にcompile.jseeが設定されているので、それをクリックするとか何らかのキーを対応付ければEmEditorからコンパイルできるようになります。ただ、これ私の環境ではパスの設定が面倒臭くて、HSPソース内で相対パスにて画像ファイルなどを設定した状態でこのコンパイルすると「そのパスにそんなファイルは無い」と怒られます。これちょっとめんどくさいのでどうすればいいのか思案中です。今の所絶対パスで書いてます。あとHSP標準エディタが立ち上がるのもイケてないです*3

EmEditorからHSPヘルプを呼び出す

HSPインストールされてるフォルダの中にhdl.exeというのが入っている筈です。それを外部ツールに設定して呼び出せばよいです。
ツールバーから「ツール」→「外部ツールの設定」で出てきた「外部ツール」ダイアログの「新規作成」ボタンを左クリックすると「外部ツールのプロパティ」ダイアログが出てきますので、そこに以下を設定して下さい。

  • タイトル:HSPヘルプ(何でも良いです)
  • コマンド:横の「…」ボタンを左クリックするとファイルダイアログが出てくるので、それでhdl.exeを選択
  • 引数:$(CurText)とすると、エディタ内で選択したテキストや行先頭の単語をhdl.exeに渡してくれるようになるので便利です

とこのような設定をして、これまた外部ツールの呼び出しをまたなんかのキーに割り当てれば1発で選択したキーワードを引数に与えてヘルプを参照できます。これとても便利!

サクラエディタと違って出来ないこと

多分ですが、アウトライン表示のウィンドウをサクラエディタなら任意の場所に出来るのに、EmEditorは右端固定だと思います。あとコード補完も出来ません(EmEditorプラグイン山ほどあるので、何か組み合わせたら出来そうな気もしますが)。ただ、サクラエディタのコード補完も適用出来るの標準組込関数だけなのでそんな実用するようなものではないと思います。これも僕がサクラエディタを知らないばかりに嘘ついてたらごめんなさい。最大の難点はやっぱ有料だと言う事ですかね…。

終わりに

というわけで、以上でEmEdtiorのHSP対応終わりです。HSP標準エディタと違って矩形選択が出来たりアウトライン表示が出来たり色んなマクロを仕込めるのが良いです。特にHSPって「ラベル」に対してgotoで書いていくスタイルが凄く好きなので、アウトライン表示がとてもありがたいです。アウトライン表示をすると各ラベルの一覧が表示され、そのラベルをクリックするとそのラベルの所までジャンプできます。便利!長くなったソースファイルでも縦横無尽に行き来できる!ヤッター*4

*1:私の狭い観測範囲内で

*2:これ別にHSPじゃなくても動くのですが、HSPにしといた方が分かり易いでしょう

*3:だったらお前がいいスクリプト書けと言う話ですね、はい!すみません、ちょっと試しましたがどうすればいいのかやり方が分かりませんでした…

*4:1ファイルに何百行もコード書くなというのは他の言語なら認めるけど、HSPの場合は別に良いのではという感想。依存関係とかパーツ化とか考えたりしないといけないようなものHSPでは(多分)作らないんで