2017年1月20日金曜日

秀丸のtagsファイルを使用して楽をする

自前のMELプロシージャが増えてくると、どんなプロシージャが有って、どんなツヅリだったかを思い出すのも苦労しはじめます。
そのためのDoxygenだったりするのですが、タイピングするのがなかなか面倒くさい。


秀丸の単語補完を使用するために、辞書ファイルへ追加していくなんて方法もありますが、スクリプトファイルやMELプロシージャを追加するたびに辞書ファイルをいじるのもなんか、そいつはちょっと科学的じゃない。

なので、tagsファイルを使って楽をしたいと思います。

手順としては、

  1. ルールの作成
  2. tagsファイルの作成
  3. ダイレクトタグジャンプの指定
  4. 単語補完の検索対象を追加

最初だけ4まで行わないといけませんが、一度設定してしまえば定期的に2を実行するだけで良くなります。


1.ルールの作成

まず、tagsファイルを作成するには、抜き出すためのルール(強調表示用の設定ファイル)が必要なので準備します。
秀丸でファイルを新規作成し、
その他(O) -> ファイルタイプ別の設定(C)...
で、
デザイン - 強調表示
を選びます。

おもむろに[全削除(R)]をおこない、
^global proc
を追加します。





そしたら[保存(V)...]で"melTags用"などとして.hilightファイルに保存します。


ここで注意。
.hilightファイルを保存したら、この設定は必要ないので、必ず[キャンセル]で閉じます

[OK]をクリックしてしまうと全削除が確定されてしまい元に戻すのに手間取ります。


2.tagsファイルの作成

その他(O) -> tagsファイルの作成(G)...

を選びます。


各設定は以下。


対象ファイル(N):には[...]から絶対パスも指定可能です。
ルール(R):は、1で作成した.hilightファイルを指定し、出力ファイル名は"_melTags"とでもします。

対象ファイルが上図のように*.melのワイルドカードのみだと、現在開いているファイルのパスを基準に検索がかかります。
出力ファイルも同じように現在開いているファイルのパスへ出力されるので、実行する際は注意が必要です。

出力ファイルは、なにげに絶対パスでも指定できるのでmelのみで使うのなら絶対パスにするのも良いでしょう。


3.ダイレクトタグジャンプの指定

その他(O) -> 動作環境(E)...
その他コマンド - tagsファイル
から、tagsファイル(T):
に2で出力した"_melTags"を絶対パスで指定します。


上図は例によりSVNに登録してあるフォルダですね。
ふつうならマイドキュ内のmaya\scriptsですかね。

ここもフルパスじゃないと開いているファイルのパスを基準にするので要注意。


4.単語補完の検索対象を追加

最後に、
その他(O) -> ファイルタイプ別の設定(C)...
その他 - 単語補完
から、単語補完の検索対象内[詳細(X)...]

で、追加の検索対象からtagsファイル(T)にチェックを入れます。


ココまで設定することで、単語補完にglobal procのプロシージャが指定できるようになります。




おまけ

tagsファイルを作成するときに、ファイル名をフルパスで出力(F) にチェックを入れたと思いますが、このおかげでダイレクトタグジャンプ([Ctrl]+[F10])が機能すると思います。

ダイレクトタグジャンプとは、なんぞや?みたいな感じだと思いますが、
たとえばgrepで検索をかけた結果から、ハイライトされている単語をダブルクリックすると該当箇所のファイルなんかが開いてくれますが、それと似たような事ができます。

単語補完でMELプロシージャを入力したら、プロシージャ名を選択して[Ctrl]+[F10]で.melファイルの該当箇所が開きます。
引数とか処理を確認するのに便利です。


0 件のコメント:

コメントを投稿