コーディング作業を爆速化する「オートコンプリート辞書」の作り方|現場で使える実践テクニック

C
クリオ
Web制作ディレクター / フロントエンジニア

こんにちは!

今日は「コーディング作業を爆速化する『オートコンプリート辞書』の作り方」について解説します。

よくある「繰り返し作業」の悩みから生まれた工夫

僕も最初は、毎回同じコードを一から手入力していました。
例えば、グリッドレイアウトのベーステンプレートとか、よく使う<meta>タグの設定とか、何度も何度も同じものを打ってるんですよね。
「あ、またこのコード書くのか…」って、めっちゃストレスでした。

現場でよく見るのは、同僚が「あ、そのコード何度も書いてますよね」と言って、コピペ用のテキストファイルを用意してる人たちなんです。
悪くはないんですが、毎回ファイルを開いて、コピペして、編集して…という手間がある。
これが1日100回、200回となると、ほんま時間もったいないんですよ。

そこで気づいたのが、エディタ標準の機能を活用すること。
特にVS Codeの「ユーザースニペット」機能を使えば、短いキーを打つだけで複雑なコードが自動展開される。
これが、めっちゃ効率的なんです。

VS Codeのスニペット機能を使った辞書の作り方

まず、VS Codeでスニペット機能を開く方法です。
「コマンドパレット」を開いて(WindowsならCtrl + Shift + P、MacならCmd + Shift + P)、「Preferences: Configure User Snippets」と検索します。
すると言語を選ぶ画面が出てくるので、「html」「css」「javascript」など、自分が使いたい言語を選んでください。

すると、こんな感じのファイルが開きます(デフォルトではコメントが入ってます):

{
  "スニペット名": {
    "prefix": "トリガーキー",
    "body": ["展開されるコード"],
    "description": "説明文"
  }
}

例えば、HTMLのボイラープレート(初期コード)を作りたいなら、こんな感じで書きます:

{
  "HTML5 Boilerplate": {
    "prefix": "html5",
    "body": [
      "<!DOCTYPE html>",
      "<html lang=\"ja\">",
      "<head>",
      "  <meta charset=\"UTF-8\">",
      "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
      "  <title>$1</title>",
      "</head>",
      "<body>",
      "  $2",
      "</body>",
      "</html>"
    ],
    "description": "HTML5の基本テンプレート"
  }
}

このスニペットを保存した後、HTMLファイルでhtml5と打ってTabキーを押すと、上のコード全体が一瞬で展開されます。
ちょっと魔法みたいですよね。
$1$2の場所にカーソルが自動で移動するから、タイトル入力したら次のセクションに移動して…という流れもスムーズです。

実際の活用例:僕が毎日使う辞書5選

僕が現場で本当に使ってるスニペットをいくつか紹介しますね。
参考までに真似してみるといいですよ。

1. CSSのFlexbox基本テンプレート

prefix: "flex"と設定して、display: flexを含む基本セットを展開します。
毎回justify-contentalign-itemsの綴りを確認するより、テンプレートから始める方がめっちゃ速いです。

2. モダンCSSのGrid設定

prefix: "grid"display: gridのセットアップを自動展開。
grid-template-columnsやレスポンシブ対応まで、よく使うパターンをセットにしておくと、毎回の設定時間が短くなります。

3. JavaScriptのイベントリスナー

prefix: "addEvent"で、addEventListener()の基本形を展開。
括弧の位置やコールバック関数の形式をいちいち思い出さなくてすみます。

4. React(またはVueなど)のコンポーネント雛形

prefix: "comp"で、関数コンポーネントの基本形を一発で作成。
ファイルを作るたびに同じ形を書く手間がなくなります。

5. よく使うmetaタグセット

OGP(Open Graph Protocol)タグとか、SNS共有用のメタタグって、コピペするしかない情報もありますよね。
prefix: "og"で、そういったセットを一括展開できるようにしておくと、HTMLファイル作成時の初期化がめっちゃ楽です。

まとめ

「オートコンプリート辞書」という言い方は僕の造語ですが、要するにVS Codeのユーザースニペット機能を自分用にカスタマイズすることです。
最初は「セットアップ面倒だな…」と思うかもしれませんが、実際に作ると本当に効果を実感できます。

むしろ、今までなぜやってなかったのか…と後悔するレベルです。
1日30分程度の時間投資で、毎日の数十分を取り戻せるなら、やる価値めっちゃあります。

チーム全体で辞書を共有することもできるので、チームメンバーと一緒に「このプロジェクトではこのスニペットセットを使おう」という約束をするのも、僕はおすすめです