vscode スニペットの書き方と同期
vscode(Visual Studio Code) のスニペットの書き方と、Dropbox を使って設定を他のマシンでも同期の方法。
ツールバーの [表示(V)] からコマンドパレットを表示して snippets と入力すれば言語を選択できます。
各言語ごとに JSON を書くようになっていて、snippets ディレクトリはそれぞれ以下のパスにあります。
Linux(Ubuntu)
~/.config/Code/User/snippets
Windows10
C:\Users\[username]\AppData\Roaming\Code\User\snippets
書き方
Creating your own snippets にすべて載っているので簡単に書き方の説明
{ "スニペットの名前": { "prefix": "この文字が検索に引っかかる", "body": [ "スニペットの内容", "複数行ある場合は、配列なのでそれに従って記述する" ], "description": "説明 必要なければ書かなくていい" } }
- スニペットの名前
なんでもいいのですが、Objectのキーなので他と重複しないことと、わかりやすい名前を記述する
- prefix
この文字が検索に引っかかってサジェストされる
例えば、Go言語のfmt.Println
と書いておけばfmt
やfln
など
最初でも途中の文字でも拾ってくれる
- body 実際の内容。 $0 は、Tabキーの移動終わり。$1, $2, $3 ... Tabキーで順番にカーソル移動できる
// 複数の場所に同じ数字を使えて一気に書ける { "body": [ "for ($1 := 0; $1 $2; $1++) {", "\t$0", "}" ] }
${1:}, ${2:} は内容を選択状態にする
// ${2:} のように ${1:} にネストできる { "body": [ "int main(${1:int argc, const char *argv[]${2:, const char *envp[]}}) {", "\t$0", "\treturn 0;", "}", ] }
同期
$ ln -s ~/Dropbox/snippets ~/.config/Code/User/snippets
> New-Item -ItemType SymbolicLink -Name C:\Users\[username]\Dropbox\snippets -Target C:\Users\[username]\AppData\Roaming\Code\User\snippets