VSCodeで使えるHTML・CSSショートカット集
Visual Studio Code(VSCode)は、HTML・CSS開発において効率的に作業するための多くのショートカットを提供しています。この記事では、開発速度を劇的に向上させる主要なショートカットを紹介します。
HTMLのショートカット(Emmet)
VSCodeはEmmetを標準搭載しており、少ない入力で多くのHTMLコードを生成できます。
1. 基本的なHTML構造
「!」と入力してTabキーを押すと、HTML5の基本構造が自動生成されます。
! [Tab]
結果:
<!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>
2. 要素の作成
要素名を入力してTabキーを押すと、対応するタグが作成されます。
div [Tab]
結果:
<div></div>
3. IDとクラスの追加
「#」でID、「.」でクラスを指定できます。
div#container.wrapper [Tab]
結果:
<div id="container" class="wrapper"></div>
4. 入れ子構造
「>」を使って子要素を作成できます。
ul>li*3 [Tab]
結果:
<ul> <li></li> <li></li> <li></li> </ul>
5. 兄弟要素
「+」を使って兄弟要素を作成できます。
header+main+footer [Tab]
結果:
<header></header> <main></main> <footer></footer>
6. グループ化
「()」を使って要素をグループ化できます。
div>(header>nav>ul>li*3)+main+footer [Tab]
結果:
<div> <header> <nav> <ul> <li></li> <li></li> <li></li> </ul> </nav> </header> <main></main> <footer></footer> </div>
7. テキスト内容の追加
「{}」を使ってテキスト内容を追加できます。
p{これはサンプルテキストです。} [Tab]
結果:
<p>これはサンプルテキストです。</p>
8. 連番の作成
「$」を使って連番を作成できます。
ul>li.item$*5{アイテム$} [Tab]
結果:
<ul> <li class="item1">アイテム1</li> <li class="item2">アイテム2</li> <li class="item3">アイテム3</li> <li class="item4">アイテム4</li> <li class="item5">アイテム5</li> </ul>
CSSのショートカット(Emmet)
EmmetはCSSでも使用でき、プロパティを素早く入力できます。
1. プロパティの略語
プロパティの略語を入力してTabキーを押すと、完全なプロパティが展開されます。
m [Tab] → margin: p [Tab] → padding: w [Tab] → width: h [Tab] → height: bg [Tab] → background: c [Tab] → color: fz [Tab] → font-size: d [Tab] → display: pos [Tab] → position: fl [Tab] → float: z [Tab] → z-index: o [Tab] → opacity: bd [Tab] → border:
2. 値を含むプロパティ
値を含むプロパティの略語を入力できます。
m10 [Tab] → margin: 10px; p20 [Tab] → padding: 20px; w100p [Tab] → width: 100%; h50vh [Tab] → height: 50vh; c#f [Tab] → color: #fff; fz16 [Tab] → font-size: 16px; df [Tab] → display: flex; dg [Tab] → display: grid; poa [Tab] → position: absolute; por [Tab] → position: relative;
3. 複数の値
「-」を使って複数の値を指定できます。
m10-20 [Tab] → margin: 10px 20px; p10-20-30 [Tab] → padding: 10px 20px 30px; m10-auto [Tab] → margin: 10px auto;
4. 単位の指定
数値の後に単位の略語を付けることができます。
w100p [Tab] → width: 100%; m10r [Tab] → margin: 10rem; p2e [Tab] → padding: 2em; lh1.5 [Tab] → line-height: 1.5;
5. Flexboxのショートカット
Flexboxに関連するプロパティのショートカットです。
df [Tab] → display: flex; dif [Tab] → display: inline-flex; fxd [Tab] → flex-direction: fxdr [Tab] → flex-direction: row; fxdc [Tab] → flex-direction: column; jc [Tab] → justify-content: jcc [Tab] → justify-content: center; jcs [Tab] → justify-content: flex-start; jce [Tab] → justify-content: flex-end; jcsb [Tab] → justify-content: space-between; jcsa [Tab] → justify-content: space-around; jcse [Tab] → justify-content: space-evenly; ai [Tab] → align-items: aic [Tab] → align-items: center; ais [Tab] → align-items: flex-start; aie [Tab] → align-items: flex-end; aist [Tab] → align-items: stretch; ac [Tab] → align-content: acc [Tab] → align-content: center; acs [Tab] → align-content: flex-start; ace [Tab] → align-content: flex-end; acsa [Tab] → align-content: space-around; acsb [Tab] → align-content: space-between; as [Tab] → align-self: fw [Tab] → flex-wrap: fww [Tab] → flex-wrap: wrap; fwnw [Tab] → flex-wrap: nowrap; fg [Tab] → flex-grow: fs [Tab] → flex-shrink: fb [Tab] → flex-basis:
6. Gridのショートカット
CSS Gridに関連するプロパティのショートカットです。
dg [Tab] → display: grid; dig [Tab] → display: inline-grid; gtc [Tab] → grid-template-columns: gtc1fr [Tab] → grid-template-columns: 1fr; gtc1-1 [Tab] → grid-template-columns: 1fr 1fr; gtc1-2 [Tab] → grid-template-columns: 1fr 2fr; gtr [Tab] → grid-template-rows: gtr100 [Tab] → grid-template-rows: 100px; gtr1-2 [Tab] → grid-template-rows: 1fr 2fr; gta [Tab] → grid-template-areas: ga [Tab] → grid-area: gc [Tab] → grid-column: gcstart [Tab] → grid-column-start: gcend [Tab] → grid-column-end: gr [Tab] → grid-row: grstart [Tab] → grid-row-start: grend [Tab] → grid-row-end; gg [Tab] → grid-gap:
7. テキスト関連のショートカット
テキストスタイリングに関するプロパティです。
ta [Tab] → text-align: tac [Tab] → text-align: center; taj [Tab] → text-align: justify; tar [Tab] → text-align: right; tal [Tab] → text-align: left; td [Tab] → text-decoration: tdn [Tab] → text-decoration: none; tdu [Tab] → text-decoration: underline; tdl [Tab] → text-decoration: line-through; tt [Tab] → text-transform: ttu [Tab] → text-transform: uppercase; ttl [Tab] → text-transform: lowercase; ttc [Tab] → text-transform: capitalize; fw [Tab] → font-weight: fwb [Tab] → font-weight: bold; fwn [Tab] → font-weight: normal; fs [Tab] → font-style: fsi [Tab] → font-style: italic; fsn [Tab] → font-style: normal;
8. 背景とボーダーのショートカット
背景とボーダーのスタイリングに便利なショートカットです。
bg [Tab] → background: bgc [Tab] → background-color: bgc#f [Tab] → background-color: #fff; bgi [Tab] → background-image: bgp [Tab] → background-position: bgr [Tab] → background-repeat: bgs [Tab] → background-size: bd [Tab] → border: bd1-s-#f [Tab] → border: 1px solid #fff; bdrs [Tab] → border-radius: bdrs5 [Tab] → border-radius: 5px; box [Tab] → box-shadow:
VSCodeのキーボードショートカット
HTML・CSS編集に役立つVSCode固有のキーボードショートカットです。
基本操作
- Ctrl+Space:コード補完を表示
- Ctrl+/:選択行をコメントアウト/コメント解除
- Alt+Shift+F:コードのフォーマット
- Ctrl+F:検索
- Ctrl+H:置換
- Ctrl+D:同じ単語を次々と選択
- Alt+↑/↓:行を上下に移動
- Ctrl+L:現在の行を選択
HTMLタグ操作
- Ctrl+Shift+]:対応するHTMLタグにジャンプ
- Ctrl+K Ctrl+T:HTMLタグの名前を変更(両方のタグが自動的に更新)
- Ctrl+Shift+V:マークダウンプレビュー表示(HTMLプレビューに役立つ)
選択と編集
- Shift+Alt+→:選択範囲を拡大
- Shift+Alt+←:選択範囲を縮小
- Ctrl+Shift+L:選択したすべての出現箇所を一度に編集
- Alt+クリック:複数カーソルを配置
実践的なHTMLとCSSのショートカット例
実際の開発で便利な組み合わせのショートカットを紹介します。
レスポンシブなグリッドレイアウト
.container>(.item*3>h3{見出し$}+p{これはアイテム$の説明文です。}) [Tab]
結果:
<div class="container"> <div class="item"> <h3>見出し1</h3> <p>これはアイテム1の説明文です。</p> </div> <div class="item"> <h3>見出し2</h3> <p>これはアイテム2の説明文です。</p> </div> <div class="item"> <h3>見出し3</h3> <p>これはアイテム3の説明文です。</p> </div> </div>
ナビゲーションメニュー
nav>ul.menu>li.menu-item*5>a[href="#"]{メニュー$} [Tab]
結果:
<nav> <ul class="menu"> <li class="menu-item"><a href="#">メニュー1</a></li> <li class="menu-item"><a href="#">メニュー2</a></li> <li class="menu-item"><a href="#">メニュー3</a></li> <li class="menu-item"><a href="#">メニュー4</a></li> <li class="menu-item"><a href="#">メニュー5</a></li> </ul> </nav>
フォーム要素
form>fieldset>legend{お問い合わせフォーム}+(div.form-group>label{お名前}+input:text[name=name])+(div.form-group>label{メールアドレス}+input:email[name=email])+(div.form-group>label{メッセージ}+textarea[name=message])+(div.form-group>button:submit{送信}) [Tab]
結果:
<form> <fieldset> <legend>お問い合わせフォーム</legend> <div class="form-group"> <label>お名前</label> <input type="text" name="name"> </div> <div class="form-group"> <label>メールアドレス</label> <input type="email" name="email"> </div> <div class="form-group"> <label>メッセージ</label> <textarea name="message"></textarea> </div> <div class="form-group"> <button type="submit">送信</button> </div> </fieldset> </form>
メディアクエリのショートカット
レスポンシブデザインに必要なメディアクエリのショートカットです。
@m [Tab] → @media screen and {} @mw320 [Tab] → @media (min-width: 320px) {} @mxw1200 [Tab] → @media (max-width: 1200px) {} @print [Tab] → @media print {} @dpi [Tab] → @media (min-resolution: ) {}
Flexboxレイアウトのショートカット
Flexboxレイアウトの一般的なパターンを素早く作成できます。
/* 中央揃えのFlexboxコンテナ */ .center { df [Tab] jcc [Tab] aic [Tab] } /* 結果 */ .center { display: flex; justify-content: center; align-items: center; } /* 横並びのナビゲーション */ .nav { df [Tab] jcsb [Tab] aic [Tab] } /* 結果 */ .nav { display: flex; justify-content: space-between; align-items: center; }
よく使われるCSSパターン
頻繁に使用されるCSSパターンのショートカットです。
/* センタリングパターン */ .center { pos [Tab] t50p [Tab] l50p [Tab] trf [Tab] trft-50p-50p [Tab] } /* 結果 */ .center { position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); } /* ボックスシャドウ */ .card { bdrs5 [Tab] p20 [Tab] m10 [Tab] box3-5-10-rgba000.1 [Tab] } /* 結果 */ .card { border-radius: 5px; padding: 20px; margin: 10px; box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.1); }
メディアテンプレート
画像やビデオ要素のテンプレートを素早く作成できます。
/* レスポンシブ画像 */ figure.responsive>img[src="image.jpg" alt="説明"]+figcaption{キャプション} [Tab]
結果:
<figure class="responsive"> <img src="image.jpg" alt="説明"> <figcaption>キャプション</figcaption> </figure>
HTMLの高度なショートカット
より複雑なHTML構造や特殊な要素のためのショートカットを紹介します。
1. 属性付きの要素
角括弧「[]」を使って要素に属性を追加できます。
a[href="https://example.com" target="_blank" rel="noopener" title="サンプルリンク"] [Tab]
結果:
<a href="https://example.com" target="_blank" rel="noopener" title="サンプルリンク"></a>
2. フォーム要素の種類
コロン「:」を使ってフォーム要素のタイプを指定できます。
input:email [Tab] → <input type="email"> input:password [Tab] → <input type="password"> input:datetime [Tab] → <input type="datetime-local"> input:color [Tab] → <input type="color"> input:range [Tab] → <input type="range"> input:file [Tab] → <input type="file"> input:number [Tab] → <input type="number"> input:search [Tab] → <input type="search"> input:url [Tab] → <input type="url"> input:date [Tab] → <input type="date"> input:time [Tab] → <input type="time"> input:checkbox [Tab] → <input type="checkbox"> input:radio [Tab] → <input type="radio"> input:submit:value [Tab] → <input type="submit" value="">
3. メタタグとSEO
メタタグを素早く作成するショートカットです。
meta:desc [Tab] → <meta name="description" content=""> meta:keywords [Tab] → <meta name="keywords" content=""> meta:author [Tab] → <meta name="author" content=""> meta:viewport [Tab] → <meta name="viewport" content="width=device-width, initial-scale=1.0"> link:favicon [Tab] → <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"> link:css [Tab] → <link rel="stylesheet" href="style.css"> link:print [Tab] → <link rel="stylesheet" href="print.css" media="print"> link:rss [Tab] → <link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> script:src [Tab] → <script src=""></script>
4. データリスト要素
入力候補を提供するdatalist要素を素早く作成できます。
input:text[list=options]+datalist#options>option[value]*3 [Tab]
結果:
<input type="text" list="options"> <datalist id="options"> <option value=""></option> <option value=""></option> <option value=""></option> </datalist>
5. テーブル構造
複雑なテーブル構造を素早く作成できます。
table>thead>tr>th*3^^tbody>tr*3>td*3 [Tab]
結果:
<table> <thead> <tr> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> </tbody> </table>
6. 詳細・要約要素
アコーディオン用のdetails/summary要素を作成できます。
details>summary{クリックして詳細を表示}+p{ここに詳細な内容を記述します。} [Tab]
結果:
<details> <summary>クリックして詳細を表示</summary> <p>ここに詳細な内容を記述します。</p> </details>
7. 図形とキャンバス
SVGやCanvas要素を素早く作成できます。
svg[width=200 height=200]>circle[cx=100 cy=100 r=50 fill="#ff0000"] [Tab]
結果:
<svg width="200" height="200"> <circle cx="100" cy="100" r="50" fill="#ff0000"></circle> </svg>
canvas#myCanvas[width=300 height=200] [Tab]
結果:
<canvas id="myCanvas" width="300" height="200"></canvas>
VSCodeの拡張機能
HTML・CSS開発の生産性をさらに向上させる拡張機能を紹介します。
おすすめの拡張機能
- Auto Rename Tag:開始タグの名前を変更すると、対応する終了タグも自動的に変更されます。
- CSS Peek:HTMLファイルからCSSの定義にジャンプできます。
- HTML CSS Support:HTMLファイルでCSSクラスの補完を提供します。
- IntelliSense for CSS class names:プロジェクト内のCSSクラス名の補完を提供します。
- Live Server:ファイルを保存すると自動的にブラウザをリロードします。
- HTML to CSS autocompletion:HTMLのクラスやIDからCSSセレクタを自動生成します。
まとめ
VSCodeでHTMLとCSSを効率的に記述するためのショートカットを紹介しました。Emmetを活用することで、コーディングの速度が大幅に向上します。特に、Flexbox・Gridなどのモダンレイアウト技術に関するショートカットを覚えておくと、開発効率が格段に上がります。
また、VSCode固有のキーボードショートカットや拡張機能を組み合わせることで、さらに効率的な開発が可能になります。カスタムスニペットを作成して、プロジェクト固有のコードテンプレートを準備しておくのもおすすめです。
これらのショートカットを日常的に使うことで、コーディング時間を短縮し、より創造的な作業に時間を割くことができるでしょう。まずは、よく使うショートカットから少しずつ覚えていき、徐々に自分のワークフローに組み込んでいくのが効果的です。