VScodeでEmmet(自動補完機能)を利用してHTMLを楽に書く方法

# VScodeのEmmet(エメット)について
VScodeのEmmetについて学んだのでまとめました。
VScodeにはEmmetというツールがバンドルされていて、
Emmetによる自動補完によってHTMLを自動的に成形してくれる機能です。

### 例：HTMLのテンプレートを自動補完してみる

```index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>
```
このHTMLテンプレートですが、以下の方法で自動補完機能を利用すると一気に出力することが出来ます。

**＜やり方＞**
**「！ + Tabキー」**
VScode上で「!（半角）」を入力しTabキー（→|）を押す
※「+」は「and(と)」という意味で用いています。入力は不要です。

![81ee7027de634379d13fe21c0ee1502f](https://user-images.githubusercontent.com/60685829/79995317-0e97c180-84f2-11ea-8692-3bcaf9d5aba9.gif)



### タグを自動補完する 
タグの記述も自動補完が可能です。

◯各タグの開始タグと閉じタグを作成する 
**「タグ名 + Tabキー」**
例）div + Tabキーと入力すると `<div></div>` が自動補完されます。
![5df2e0437333cfa60692b403b304f953](https://user-images.githubusercontent.com/60685829/80000006-8fa58780-84f7-11ea-91bc-7f4e5116b448.gif)

◯id名やクラス名を付けてタグを作成する

**「#(シャープ) + id名 + Tabキー」**
**「.(ドット) + class名 + Tabキー」**

「#」はidを指定し、「.」はclassを指定します。

例）　# + first + Tabキー　⇨　`<div id="first"></div>`
例）　. + cls + Tabキー　⇨　`<div class="cls"></div>`
※「#」や「.」の前に何も付けないとdivタグになります。divタグ以外は最初にタグ名を記述する必要があります。
例）　span + . + cls + Tabキー　⇨　`<span class="cls"></span>`
![975b5920c849a1c5655cfd0a6c8bf44b (1)](https://user-images.githubusercontent.com/60685829/80002973-53742600-84fb-11ea-9e93-01f78e08df8d.gif)

◯タグの中にダグを作成する

**「. + class名 + > + 中に作成したいタグ名※ + . + class名 + Tabキー」**
※divタグを作成したい場合は不要です。

例）. + cls + > p + . + txt + Tabキー
⇒`<div class="cls">
　　<p class="txt></p>
　 </div>"`
![74474be62a03f78926739cd8ac736b1f](https://user-images.githubusercontent.com/60685829/80046713-59432900-8546-11ea-8703-8f59834728ac.gif)

◯タグの中に同じクラス名のタグを複数作成する
上記の方法を応用して中に作成するタグを複数にします。
中に作りたい「id名」もしくは「class名」の後ろに**「 * + 作成する数」**を付け足します。

例）. + cls + > p + . + txt **+ *4** + Tabキー
⇨`<div class="cls">
　　<p class="txt"></p>
　　<p class="txt"></p>
　　<p class="txt"></p>
　　<p class="txt"></p>
　 </div>`
![749137bac067064a8cc3e5e8a3d88e61](https://user-images.githubusercontent.com/60685829/80047616-db345180-8548-11ea-9767-ecb4e3dc185d.gif)

◯class名に数字を持たせてタグを複数作成する
上で複数作成した<p>タグは全て同じクラス名ですが、これらに数字を付け足したい場合は、
作成する数の前に**「$」**を付け足します。
**$**マークが数字として出力されます。

例）. + cls + > p + . + txt **+ -$** + *4 + Tabキー
※今回は数字の前に「-(ハイフン)」を置きたかったので「-$」としました。 
 自動補完後は「-」の後ろの「$」が数字に変換されるので、「-1 〜 -4」と出力されます。
⇨`<div class="cls">
　　<p class="txt-1"></p>
　　<p class="txt-2"></p>
　　<p class="txt-3"></p>
　　<p class="txt-4"></p>
　 </div>`
![08e06dd33a85b962c90ea56a2ff704f1](https://user-images.githubusercontent.com/60685829/80058834-4ee45780-8565-11ea-812a-b9ef646d6101.gif)

ちなみに「$」マークを重ねると、「01〜」と数字の頭に0を付けることが出来ます。
![037d5cadd7e7549df07d2123a1dfe6a3](https://user-images.githubusercontent.com/60685829/80059185-43456080-8566-11ea-9034-eb9e6ca0d98d.gif)




また、HTMLだけでなくCSSでもEmmetを利用することが出来ます。
プロパティを入力する際にある程度入力すると自動補完候補が画面に表示されるので選択すれば自動補完されます。
例えば、「background-size」というプロパティをスタイルとして適用したい場合、
「backs」と入力するだけで**その文字列を含むもの**が表示されます。
![237eed313ba2617384ea221fd9708d4b](https://user-images.githubusercontent.com/60685829/80059701-8c49e480-8567-11ea-9e5e-a814ad28444f.gif)



以上、Emmetを使った自動補完機能のまとめでした。
利用すると記述を簡略化することが出来るので、この書き方で慣れておくと良いなと個人的に思いました。



## Emmetの起動方法
自身のVScodeでTabキーを押しても自動補完されない場合は、Emmetが無効になっているので有効にする必要があります。

１．VScodeを立ち上げて左下の歯車アイコンをクリック
２．「設定」or「settings」をクリック
![alt](https://user-images.githubusercontent.com/60685829/79991986-dee6ba80-84ed-11ea-8adf-b4e518cacdd9.png)

３．設定の検索という検索窓で「Trigger Expansion On Tab」と入力
４．検索結果として「Emmet:Trigger Expansion On Tab」が下に表示されるので</br>
　チェックボックスにチェックを入れる
![alt](https://user-images.githubusercontent.com/60685829/79992930-1c981300-84ef-11ea-85eb-f1cc1e6d2558.png)

これでEmmetが使えるようになります。
設定を変えた後は一度VScodeを終了して再起動してください。

## 参考
- [VSCodeでEmmetが使えない時の対処方法](https://taiyosite.com/vscode-emmet/)