HTML/CSS入力を効率化する「Emmet」の基本とカスタマイズ術

Webサイト制作において、HTMLタグを一つひとつ手打ちしていませんか?
<div class= "container ">…</div>と入力するのは、時間もかかるし、タイプミスの原因にもなります。

今回は、コーディングの速度を劇的に向上させる必須ツール「Emmet」について解説します。
さらに、VS Codeでの便利なカスタマイズ設定についても紹介しますので、ぜひ最後までご覧ください。

Emmetとは?

Emmetとは、短い省略記法を入力しTabキーを押すことでHTML/CSSコードを展開してくれる機能です。

例えば、HTMLで「!」と入力し、Tabキーを押すことでHTMLの基本構造(htmlやhead、bodyタグなど)が一瞬で作成できます。

HTMLの基本:まずはこれだけ覚えよう

タグとクラス・ID

HTMLタグに加えて、CSSセレクタと同じ書き方をすることで、クラスやIDを指定ができます。

入力コード展開後のコード説明
div<div></div>タグのみ
#container<div id= "container "></div>ID指定
.title<div class= "title "></div>クラス指定(タグ省略時はdivタグが使用される)
p.text<p class= "text "></p>タグ + クラス

親子関係と兄弟関係

要素の入れ子構造なども一行で書くことができます。

  • 子要素(>):中に入れる
    • 入力:ul>li
    • 出力:<ul><li></li></ul>
  • 兄弟要素(+):並列に並べる
    • 入力:p+span
    • 出力:<p></p><span></span>
  • 組み合わせて使用も可能
    • 入力:tr>th+td
    • 出力:<tr><th></th><td></td></tr>

HTMLの応用:リストや連番を一瞬で作る

繰り返し(*

同じタグを複数作成したい場合に使用します。

  • 入力li*3
  • 出力
<li></li>
<li></li>
<li></li>

連番($

クラス名などに連番を振りたいときに使用します。

  • 入力li.item-$*3
  • 出力
<li class="item-1"></li>
<li class="item-2"></li>
<li class="item-3"></li>

コンテンツの挿入({}

タグの中身(テキスト)を同時に指定できます。

  • 入力a{詳しくはこちら}
  • 出力
<a href="">詳しくはこちら</a>

CSS編:プロパティも爆速入力

EmmetはHTMLだけでなく、CSSでも威力を発揮します。基本的には「頭文字」を入力すると補完してくれます。

入力展開後説明
w100width: 100px;単位無しはpxになる
m10margin: 10px;
dfdisplay: flex;
aicalign-items: center;
bgc#333background-color: #333;色指定も可能

エディタ設定:Emmetをさらに使いやすくする

Emmetはデフォルトでも強力ですが、少し設定を変えるだけで開発環境に最適化できます。

Visual Studio Code(VS Code)の場合

VS Codeで最初にしておきたい設定は、HTMLの初期言語設定をen(英語)からja(日本語)に変えることです。

通常、!+Tabで展開すると<html lang="en">となり、毎回手動でjaに書き換える必要がありますが、設定でこれを自動化できます。

  1. 設定画面を開く(Ctrl+,
  2. 検索バーに「emmet variables」と入力
  3. Emmet: Variablesの項目にある「項目の追加」をクリック
  4. 以下のように入力してOKを押す
    1. 項目: lang
    1. 値: ja

これで次回から、!を展開した際に、自動的に<html lang="ja">と出力されるようになります。

実践:ナビゲーションバーを作ってみよう

これらを組み合わせると、一般的なナビゲーションメニューも1行で書くことができます。

入力するショートカットnav>ul.menu>li*4>a{メニュー$}

展開結果

<nav>
    <ul class="menu">
        <li><a href="">メニュー1</a></li>
        <li><a href="">メニュー2</a></li>
        <li><a href="">メニュー3</a></li>
        <li><a href="">メニュー4</a></li>
    </ul>
</nav>

手打ちすると30秒以上かかるコードが、わずか数秒で完成します。

まとめ

Emmetは、最初は記法を覚える必要がありますが、一度手になじむと「これなしではコーディングできない」と感じるほど強力なツールです。

まずは、簡単なクラス指定や繰り返し記法から使い始めて、徐々に自分のエディタ設定をカスタマイズしてみてください。

参考文献
https://docs.emmet.io/cheat-sheet/
https://code.visualstudio.com/docs/languages/emmet