html テンプレート
"HTML Template": {
"body": [
"<!doctype html>",
"<html lang=\"ja\">",
" <head>",
" <meta charset=\"UTF-8\">",
" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
" <title>${1:title}</title>",
" </head>",
" <body>",
" $0",
" </body>",
"</html>"
],
"isFileTemplate": true,
"description": "HTMLの雛形"
},
上記をベースに自分用に改造するのがおすすめ。雛形のためコマンドパレットからスニペットでファイルを満たすコマンドで動かすことを想定しています。
C++ インクルードガード
"include-guard": {
"prefix": "#hdr",
"body": [
"#ifndef ${1:${TM_FILENAME/(?:(\\w+)(\\.)?)/${1:/upcase}${2:+_}/gi}}",
"#define $1",
"$0",
"#endif // $1"
],
"description": "インクルードガード"
}
ファイル名を大文字に変換しつつ.を_に変換する正規表現をプレースホルダーの初期値に設定している。
#ifndefの行でしか正規表現は使用していませんが、
タブストップのリンク機能により#defineおよび#endifの行でも正規表現によって変換されたファイル名が挿入される。
html 選択範囲をタグで囲む
{
"key": "cmd+k 1",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus && editorLangId == html",
"args": {
"snippet": "<${1:span}$0>$TM_SELECTED_TEXT</$1>"
}
}
上記スニペットはスニペットファイルでなく、ショートカットキーの設定ファイルkeybindings.jsonで設定する。
Emmetだと間に空白が入ったり改行されると動かないけど、これだと改行や空白を無視してくれる。
現在の日付と時刻を挿入する。
"data time": {
"prefix": "YYYY/MM/DD-HH:MM:SS",
"body": "$CURRENT_YEAR/$CURRENT_MONTH_NAME_SHORT/$CURRENT_DATE-$CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND"
}
現在の日付を挿入したい時に。順番を入れ替えたり、不要なものを削除して自分用に作り替える。