2014年12月31日水曜日

Sublime Text : コメントアウトコマンド(Toggle Comment)で挿入される文字列を設定する

最終成果物は以下の2つのファイルです。
これらのファイルを Sublime Text の Preferences -> Browse Packages... で開くフォルダに保存すると、Toggle Comment コマンド実行時にテキストファイルでは > が、バッチファイルでは rem が挿入されるようになります。

BatchFileComments.tmPreferences
TextComments.tmPreferences

以下、忘備録を兼ねた解説です。


Sublime Text では Ctrl + / (Toggle Comment) でコメントアウト・アンコメントのトグルができます。

このコマンドでどのような文字列が挿入されるかは、*.tmPreferences というファイルで設定されています。

デフォルトの設定は、SublimeText 3 ではインストール先の Packages ディレクトリ(C:\Program Files\Sublime Text 3\Packages)の *.sublime-package を解凍して開いた中にあります。(ファイル名は Comments.tmPreferences が多いようですが、Python では Miscellaneous.tmPreferences でした。)

テキストファイル(.txt)にはデフォルトの設定がなく、Ctrl + / を押しても何も起こらないようだったので、">" が挿入されるような設定ファイルを作成してみました。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>name</key>
 <string>CommentCommandToQuoteInText</string>
 <key>scope</key>
 <string>text</string>
 <key>settings</key>
 <dict>
  <key>shellVariables</key>
  <array>
   <dict>
    <key>name</key>
    <string>TM_COMMENT_START</string>
    <key>value</key>
    <string>&gt; </string>
   </dict>
  </array>
 </dict>
</dict>
</plist>

ポイントになるのは対象となるファイルの種類を設定する scope と、挿入する文字列を設定する TM_COMMENT_START です。name は適当で構いません。このファイルを (適当な名前).tmPreferences というファイル名で、Preferences Browse Package... で開くディレクトリ以下に保存しておくと、テキストファイルで Ctrl + / を実行した場合は行頭に ">" が挿入されるようになります。


他にも、例えばバッチファイルの場合に rem を挿入する、とする場合は scope を source.dosbatch、TM_COMMENT_START を rem にするなどで設定できます。

0 件のコメント:

コメントを投稿