vscodeには拡張子ごとにスニペット(定型文)を登録する機能がありますが、erb
用のスニペットを作ってもhtml.erb
で利用することができませんでした。
不具合でしょうか?
代わりにグローバルスニペットを作成して対応したので、設定方法と記述内容を書いていきます。
##グローバルスニペットを作成
-
CODE>基本設定>ユーザースニペット
をクリック -
「新しいグローバルスニペットファイル」をクリック
-
任意のファイル名を入力(私は
html.erb
と入力しました) -
以下のようにファイルを編集
html.erb.code-snippets
{
"embedded Ruby": {
"prefix": "erb",
"body": [
"<% $1 %>"
]
},
"print embedded Ruby": {
"prefix": "prb",
"body": [
"<%= $1 %>"
]
},
"link_to": {
"prefix": "lt",
"body": [
"<%= link_to $1, $2 %>"
]
},
"link_to group": {
"prefix": "lg",
"body": [
"<%= link_to($1) do %>",
"<% end %>"
]
},
"image_tag": {
"prefix": "it",
"body": [
"<%= image_tag '$1' %>"
]
},
"form_for": {
"prefix": "ff",
"body": [
"<%= form_for @$1 do |f| %>",
" <%= f.label :name %>",
" <%= f.text_field :name, class:'form__txt'%>",
"<% end %>"
]
},
"end": {
"prefix": "end",
"body": [
"<% end %>"
]
}
}
##構文解説
以下で一かたまりです。
"embedded Ruby": {
"prefix": "erb",
"body": [
"<% $1 %>"
]
}
"embedded Ruby"
:タイトル。識別用。
"prefix": "erb"
:erbと入力してTABキーをクリックした時に、スニペットが展開されるように設定しています。
"body":
:この下に、展開するスニペットの内容を登録します。
"<% $1 %>"
:展開されるスニペットです。展開時$1
の部分にカーソルが合った状態になります。
あとは好きな数だけ、json形式でスニペットを登録することができます。