if you have an idea and i have an idea and we exchange these ideas,
then each of us will have two ideas.

BLOG

毎日コーディングを行うコーダーにとって、コーディング速度は非常に重要ですが、なにより指が辛い…。腱鞘炎なんてザラにあるコーディングにとって、まさに救世主の様なプラグインがEmmetです。コーディングが早くなる事はもちろん、タイプミスによるバグも回避しやすくなるので、初心者・ベテラン問わず、使わない手はありません。圧倒的に作業を効率化できるプラグインですので、ぜひ使い方を覚えておきましょう。

  1. Emmetとは?
  2. Emmetの導入方法
  3. Emmetの使い方
  4. まとめ
  1. Emmetとは?|神戸市のWEBデザイン・ORDERweb|オーダーウェブ

    Emmetとは?

    Emmetとは、HTMLやCSSといったコード入力を補完してくれるプラグインです。プログラミングに関わるプロの方で、使っていない方はいないと言っても過言ではないでしょう。導入のハードルも低く、使い方も簡単ですので、初心者の方でも気兼ねなく利用することができます。
    一度慣れてしまうと戻れなくなるほど、強力なプラグインです。基本的にどのテキストエディタでも使うことができ、入力方法も同じですが、場合によって異なる箇所があるかもしれませんので、予めご了承ください。では導入するメリットや方法から見ていきましょう。

    導入するメリット

    上述したとおり、プロの方で使っていない方はいないほど優秀なプラグインです。通常のHTMLやCSSを省略できるだけでなく、その他にも様々なメリットがあります。

    • どのテキストエディタで使用しても無料
    • HTMLやCSSの記述を省略できる
    • コーディングに掛かる時間を短縮できる
    • 記述しなくても必要なタグが補完される
    • テキストエディタの種類を問わない
    • コンパイルする必要がない
    • 腕や指の負担軽減に繋がる
    • タイプミスによるコーディングミスが減る

    などが挙げられます。コーディングの仕方自体に制限をかけるものではないので、チームで制作する場合や、Emmetを使えない方に、Emmetを使ってコーディングしたものを引き継ぐ場合でも、何ら問題ありません。目立ったデメリットもありませんので、ぜひ導入することをおすすめします。

  2. Emmetの導入方法|神戸市のWEBデザイン・ORDERweb|オーダーウェブ

    Emmetの導入方法

    有名なテキストエディタへの導入方法をご紹介します。特に難易度が高いものはなく、誰でも簡単に導入することができますが、対応していないテキストエディタを利用されている場合は、乗り換えも検討することをおすすめします。

    • VS Code (Visual Studio Code)

      標準で搭載されているため、導入の必要がありません。

    • Dream Weaver CC

      標準で搭載されているため、導入の必要がありません。

    • Web Storm

      標準で搭載されているため、導入の必要がありません。

    • Atom

      設定画面を開き、パッケージのインストール画面を開きます。検索ボックスにEmmetを入力し、表示されたEmmetプラグインをインストールして完了です。

    • Sublime Text3

      まずは「Sublime Text3」に機能を追加していくためのプラグイン「Package Controll」を導入しましょう。その後、「Tools」タブ内から「Command Pallet」を選択すると検索ボックスが表示されます。そこへ「Package Control:Install Package」と入力して決定すると、さらに検索ボックスが表示されます。ここに「Emmet」と入力し、表示されたEmmetプラグインをインストールして完了です。

    いかがでしょうか?便利過ぎて標準搭載されているテキストエディタもあります。この他にもたくさんのテキストエディタがありますが、代表的なものであれば、難なくEmmetを使用することができます。

  3. Emmetの使い方|神戸市のWEBデザイン・ORDERweb|オーダーウェブ

    Emmetの使い方

    基本操作は非常に簡単です。Emmetが入っているテキストエディタを開き、指定されているコマンドを打ち込みます。そしてキーボードのTabを押すだけ。
    はい。以上で爆速コーディングの基本操作は終わりです。
    テキストエディタの種類や設定よってTabでコマンドを実行、Entarでコマンドを実行など、若干の違いはありますが、基本的なコマンド入力の方法はこの手順だけなので、誰も簡単に扱うことができます。では、HTMLやCSSの記述方法を見ていきましょう。

    EmmetでHTMLを記述する

    通常のHTMLでコード入力する場合、「div」や「img」など様々なタグを使って記述していきますが、そのたびに「<」や「>」を入力するのは面倒になるはずです。Emmetを使用して記述することで、テンプレートのような記述は省略することができます。

    例えば、「h1」のタグを使いたい場合を見ていきましょう。
    テキストエディタ内でh1と打ち込んで、Tabを押してみます。

             
              <h1></h1>
             
            

    このように出力されます。わざわざ記号を打ち込む必要がないので、コード入力に掛かる労力が少し減りました。さらに「a」や「img」タグの場合も見ていきましょう。

    a+Tab

             
              <a href=""></a>
             
            

    img+Tab

             
              <img src="" alt="">
             
            

    このように、使用するタグに対して必要となる属性なども一緒に出力してくれます。一見少しの差かもしれませんが、実際にコーディングを行っている方であれば、この便利さが伝わると思います。ですが、Emmetの力はまだまだこんなものではありません。省略記号を駆使することで、複数の構文を一気に実装することが可能です。

    よく使われる「ul」で考えてみましょう。「ul」タグ直下の子要素には、疑似要素を除き、かならず「li」タグがきますよね。その「li」タグは複数になることがほとんどだと思います。
    仮に「ul」タグの子要素に「連番classのついたli」タグが5つ。その「li」タグそれぞれの子要素に「a」タグを作りたいとしましょう。これをEmmetで記述してみます。
    ul>li.item$*5>a
    記述するのはこれだけです。この状態でTabを押してみましょう。ポチ…。

             
              <ul>
               <li class="item1"><a href=""></a></li>
               <li class="item2"><a href=""></a></li>
               <li class="item3"><a href=""></a></li>
               <li class="item4"><a href=""></a></li>
               <li class="item5"><a href=""></a></li>
              </ul>
             
            

    はい、まさに一瞬です。Emmetで定めている記号を使う事で、この他にも様々な記述が可能ですし、複雑な入れ子を使いたい場合でも問題ありません。記述する方法も1パターンではありませんので、自身が一番分かりやすい方法を使って作ることができます。

    先ほどと同じ条件の「ul」を、別の記述パターンで作ってみましょう。
    ul>(li.item$>a)*5
    この状態でTabを押してみます。

             
              <ul>
               <li class="item1"><a href=""></a></li>
               <li class="item2"><a href=""></a></li>
               <li class="item3"><a href=""></a></li>
               <li class="item4"><a href=""></a></li>
               <li class="item5"><a href=""></a></li>
              </ul>
             
            

    先ほどと同じ結果が出力されます。記号の種類や使い方を覚えておくことで、より柔軟に記述することができます。一気に全ての省略方法を覚える事は難しいと思うので、頻繁に使うことになる記号は優先して覚えておきましょう。

    省略タグ 展開後
    hdr <header> </header>
    mn <main> </main>
    ftr <footer> </footer>
    art <article> </article>
    sect <section> </section>
    adr <address> </address>
    省略記号 内容 記述例
    # IDの指定 div#id
    . classの指定 div.class
    > 子要素の指定 div>h1
    + 同階層に配置 h1+p
    ^ 1階層上に配置 div>h1+p^ul
    * 要素を複数配置 ul>li*5
    $ 連番 ul>li.item$*5
    () 要素のグループ化 ul>(li.item$>a)*5
    [] 属性の指定 a[href="/index.html"]
    {} 要素内テキスト p{テキスト}
    ! HTMLひな形の配置 !

    この他にも、まだまだ省略タグや記号はありますので、ぜひご自身でためしてみてください。一覧はページ下部に「Emmetチートシート」のリンクを貼っていますので、気になる方はご参照ください。

    EmmetでCSSを記述する

    HTMLに続いてCSSでの記述方法も見ていきましょう。HTMLの記述と違う点は、複数の配置や指定を一気にするのではなく、1つのプロパティに対して値を設定していくという記述方法になります。

    例えば、「margin-top:10px;」と入力したい場合を見ていきましょう。
    テキストエディタ内でmt10と打ち込んで、Tabを押してみます。

             
              margin-top:10px;
             
            

    このように出力されます。使い方はHTMLの時とほとんど変わりませんので、こちらも省略された記号やタグを覚えて使うことで、爆速コーディングが可能になります。もう少し種類を見ていきましょう。

    m0-a+Tab

             
              margin:0 auto;
             
            

    w20p+Tab

             
              width:20%;
             
            

    d+Tab

             
              display:block;
             
            

    tac+Tab

             
              text-align:center;
             
            

    このように、少しの文字で一気にCSSを記述していく事ができます。HTMLと違って省略プロパティが非常に多く、値との組み合わせも多いので、例をあげるとキリがありません。こちらもHTML同様、良く使うプロパティは最低限覚えておき、必要に応じて使える省略プロパティを増やしていきましょう。

    ボックス関連 展開後
    pos position:relative;
    d display:block;
    bg background:#000;
    w width
    h height
    m margin
    p padding
    テキスト関連 展開後
    ff font-family
    fw font-weight
    fz font-size
    ta text-align:left;
    lh line-height
    lts letter-spacing
    c color:#000;
    Flex box関連 展開後
    d:f display:flex;
    fxw flex-wrap
    jc justify-content
    ai align-items
    ord order

    Emmetの省略タグやプロパティ、値の種類などの一覧は下記よりご確認いただけます。
    Emmetのチートシート

  4. まとめ|神戸市のWEBデザイン・ORDERweb|オーダーウェブ

    まとめ

    いかがだったでしょうか?コーダーにとって、Emmetをマスターするとしないとでは、コード入力のスピードに雲泥の差が生まれる理由がお分かりいただけたと思います。

    始めたばかりだと思うようにスピードアップできないかもしれませんが、慣れてくると複雑な構造でも一気に書き出す事が可能になります。ただし、なんでもかんでも略語で組み合わせようとすると、逆に考える時間が長くなってしまう可能性もあるので、自分のやりやすいように組むのが大切です。
    また、更に上を目指して爆速コーディングを行いたい方は「Sass」に挑戦してみることもおすすめします。こちらはHTMLではなく、CSSの作業効率を根本的に上げることが可能です。ですが長くなってしまうので、「Sass」に関してはまた別の記事でご紹介させていただきます。

    ここまでお読みいただき、ありがとうございました。本記事を参考にEmmetについて理解を深め、ぜひ爆速コーディングを行ってください。