SublimeText3に移行するかAtomに移行するか、まだ思案中です。原稿作成に併用していて使い勝手もよくなってきましたが、SASSのコンパイルでエラーが出て、なんだか面倒になっている最中です。
スニペット登録
- メニューバーのTools>スニペット追加
- 設定ファイルにスニペット登録をする
- .sublime-snippetの拡張子でファイルの保存場所を選んで保存する
Atomと同じく手順はすごくシンプルです。注意点は拡張子.sublime-snippetを意識しなければいけない点とファイルの保存場所の階層をPackages以下にする必要があることです。
スニペットの記入例
WordPressのカスタム投稿タイプの条件分岐をスニペット登録した例です。
<snippet> <content><![CDATA[ 	<?php if (get_post_type() === '${1:}'): ?> 		${2} 	<?php endif; ?> 	]]></content> 	<tabTrigger>ifpt</tabTrigger> 	<!-- <scope>source.python</scope> --> </snippet>
<content><![CDATA[〜]]></content>の中に展開内容を記入
<content><![CDATA[から]]></content>
の間に展開内容を記入します。展開後は${1:}
がフォーカスされていてtabキーを押すと${2}
にフォーカスが移ります。
トリガーを設定
<tabTrigger>から</tabTrigger>
の間にトリガーを設定します。設定したトリガー入力後、tabキーを押すとスニペットが展開します。
.sublime-snippetの拡張子でファイルを保存
入力が終われば.sublime-snippetの拡張子でファイルを保存します。前述の通りPackages以下の階層に保存する必要があります。
//Macの場合 /Users/ユーザー名/Library/Application\ Support/Sublime\ Text\ 2/Packages/以下の階層
基本的には以上で設定は完了ですが、scopeを設定してスニペットの範囲を決めることができます。Web制作用途であれば以下を押さえておけば大丈夫でしょうか。
- HTMLファイル
- text.html
- PHPファイル
- source.php
- CSSファイル
- source.css
- JavaScriptファイル
- .source.js
複数のscopeを設定する場合は、カンマで区切ります。以下スコープをphpとhtmlで設定した例です。
<snippet> <content><![CDATA[ 	<?php if (${1:}): ?> 		${2} 	<?php endif; ?> 	]]></content> 	<tabTrigger>ife</tabTrigger> 	<scope>source.php,text.html</scope> </snippet>
phpで設定すると<?php ?>
の範囲でしか設定できませんので、htmlを設定する必要があります。というわけで上の例では、phpの設定は無意味です。
とりあえず最近覚えたWordPress系のスニペットを作りまくって爆速化頑張ります!