2022年3月24日木曜日

秀丸エディタのスニペット

 秀丸エディタ version9.12からスニペット機能が追加されました。スニペットとは(wikipedia)

 いままでは単語補完の辞書へ

for($i=0;$i<;$i++){}

 みたいに1行へ無理やり詰め込み、にたような事をしていましたが、長文を使えるとなるとMELを書くとき効率化できそうなので、さっそく設定してみることにしました。


 まずは、秀丸エディタの更新。
 基本的に、上書きインストールすることで動作環境などを引き継ぐことが出来るので、自分の秀丸が 64bit版なのか 32bit版なのかに注意してインストーラをダウンロードしてきます。
 見極め方は、Hidemaruフォルダが

"C:\Program Files"に在ると 64Bit版

"C:\Program Files(x86)"に在ると 32Bit版

 のようです。


 つぎにスニペットを使うための設定。
 秀丸エディタのスニペットは「ファイルタイプ別の設定」から行うため、使用したい拡張子のファイルを開いた状態で設定した方が良さそうです。
 ※同じフォルダを指定すれば、どの設定リストからも流用可能っぽい

 その他 > テンプレート から設定します。
 まずは「単語補完に含ませる」にチェックを入れておくと単語補完のショートカットを使って起動できるので”オン”にしておきます。


 最初に「新規作成」を行うとスニペットを保存するフォルダの作成を促されますが、特殊な使い方をしないのであれば初期位置へ作成して良いかと思います。
 [>>]をクリックすれば「エクスプローラ」でフォルダを開くことが出来ます。

 ※32bit版と64bit版で保存場所が違うようです

 フォルダの作成が済むとテンプレートの作成が出来るようになります。
 テンプレートの書式には、「ファイル」「複数記述」「json」の3種類があるようですが、手軽に記述できる「ファイル」と「複数記述」について説明します。


 ファイル

 ファイル名がスニペットのキーワードになります。
 ファイルに記述されているすべてがテンプレートとして挿入されます。
 自分は header.txtというファイル名で、ファイルヘッダーのテンプレートとして使用します。
 ほかには confirmDialogコマンドや windowコマンドなど、たまに必要だけれども頻繁には使用しないものを作っておくと良いかもしれません。

 

 複数記述

 制御コードの行がスニペットのキーワードになります。
 プロシージャのひな型や for文 switch文など、短めのブロックのテンプレートとして使用するのに向いている気がします。
 各スニペットの先頭行に「制御コード」を入れておかないと使用できないので要注意です。

 制御コードの入れ方

 その他>制御コード入力

 12 CL Ctrl-L >[OK]

 制御コードが挿入されます。



 テンプレートの書式1

 テンプレート中に $(ドル記号)を使うことでスニペットを挿入した後の記述を補助します。主な機能としては、スニペット挿入後のカーソル位置を制御できます。
 ファイルヘッダーをスニペットで挿入した場合、「ファイル名」「日付」「説明」の順に記入したい場合には、こんな風に header.txtに記述しておきます。

//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
/// @file $1
/// @brief $3
/// @auther Teruyuki Ishiko
/// @date since $2
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



$0

 すると、キータイプ後 tabキーで次の記入場所へカーソルを移動させることが出来ます。

 $に続く数字でカーソルが移動する順番を指定します。$1,$2,$3の順で移動していき、$0もしくは $cが最後の移動先になります。
 [tab]を押下し、カーソルが次の場所へ移動し[shift]+[tab]で前に戻れるようですが[Del]など行うとカーソル移動は解除されるようです。

 テンプレートの書式2

 for文で有効な書式に ${数字,内容} というのがあります。

for($$${2,i} = 0; $$${2,i} <`size $$${1,list}`; $$${2,i}++)
{
	$0
	
}

 「内容」の部分がデフォルト値になり入力の手間を減らします。そして同じ「数字」の部分を同時入力することもできます。

 指定の単語を編集しているときも単語補完は使用できるので、変数名の入力補助が可能です。
 各ブロックのインデントも問題なく保持されスニペットが挿入されています。

 この他に .jsonがありますが、手軽にテンプレートを作成できなそうなので説明は省きます。
 また、隠し機能的な感じでスニペット用のフォルダ内にある .macファイルは、単語補完からマクロを実行できるようになっているみたいです。

  詳細は「秀丸エディタヘルプ」を読んでみてください。

0 件のコメント:

コメントを投稿