VSCodeのスニペット登録を簡単にする拡張機能を作ったので紹介する
VSCodeにおけるスニペットとは、よく使うコードのテンプレートを登録しておき、いつでも呼び出せるようにする機能のことです。
スニペットをご存知ない方向けの説明
詳しい説明は公式ドキュメントに譲って、ここではPythonに対するスニペットを登録する例を使って雰囲気だけ説明しておきます。
Pythonに適用されるスニペットを登録するには、F1→"Snippets: Configure User Snippets"→"python.json"で開かれるファイルを編集します。例えば、
{
"変数名=値でprint": { // IntelliSense で表示される名前
"prefix": "print", // コード呼び出しに使う文字列
"body": [ // コード生成の雛形
"$1=\"テキスト\"",
"print(f\"$1 = {$1}\")"
],
"description": "変数名=値という感じでprintさせるコード"
}
}
と書いておくことにしましょう。python.jsonを保存してから、適当な.pyファイルの編集中にprint
(prefixに設定してある文字列です)をエディタに入力すると、
このように、スニペットを挿入することを提案してくれます。このままTABキーを押してtext
と入力すると、
このようになります。print
TAB
text
と入力するだけで2行のコードになっています。
Pythonに限らず、任意の言語で、どんなに長いスニペットも登録できます。普段から長い定型文を使っていて「テンプレ機能が欲しいなあ」と思っている方にはとても便利な機能でしょう。
ただし、スニペットの登録には少々めんどくさい文法の勉強と作業が必要です。特に、複数行のスニペットを登録する場合、各行を"
と",
で囲って登録しなければなりません。そのデメリットを軽減するのが、本記事で紹介する拡張機能 Snippet Utilitiesです!
Snippet Utilities とは?
私が開発した、VSCodeのスニペットを簡単に登録するための無料の拡張機能です。スニペットの登録を、
- スニペットにしたい部分を選択する
-
Shift
+Alt
+S
(MacならShift
+Option
+S
)を押す
のたった2ステップで可能にします!
VSCodeのスニペット機能の唯一の弱点である「登録の面倒さ」は,この拡張機能が解決してくれるでしょう。
Snippet Utilities のインストール
VSCodeを開き、拡張機能Marketplaceで、 Snippet Utilities
と検索し、インストールします。
このアイコンが目印です。
もしくは、Snippet Utilitiesにアクセスして、VSCodeにインストールします。
Snippet Utilities の使い方
-
VSCodeにおいてコードの編集中に、スニペットととして登録したい部分を選択します。
-
Shift
+Alt
+S
(MacならShift
+Option
+S
)を押します。もしくは、右クリックから "Add selection to user snippets."をクリックします。 -
どの言語のスニペットファイルに追加するかを選びます。
-
スニペットが追加されたと思います。スニペットの名前と、
prefix
、description
をわかりやすいものに変更します。また、必要に応じてbody
に${1:label}
などを追加します。くわしい文法は、公式ドキュメントの Snippet Syntax を読めばすぐに理解できると思います。
スニペットの登録は完了したので,登録した言語のファイルを編集中にprefixで登録した文字を入力すれば、コードが反映されると思います。
おわりに
これでもう、1行1行"",
で囲む作業とはおさらばです。
初めてのzennへの投稿でしたが、お気づきの点があればご連絡お願いします。
拡張機能の改善点などがありましたら、下のリポジトリにぜひともお願いします。
(もしSnippet Utilitiesを気に入っていただけましたら、バッジを送っていただけますと今後の開発の励みになります。)
最後まで読んでいただきありがとうございました。
Discussion