【爆速コーディング】Visual Studio CodeのEmmetでサジェストされるコードをカスタマイズする!

PRYTHMWORKS CSS
CSS

Visual Studio CodeとEmmet

Visual Studio Code、通称VScodeは、拡張機能を追加することで、自分が使いやすいようにしていけるコードエディタアプリだ。MicroSoft製。

そして、その拡張機能のひとつに”Emmet”というパッケージがあり、これは「コード補完機能」の代表格である。

コード補完機能とは

たとえば、

div

とだけ打ち、Tabを押すと、

<div></div>

と変換してくれる。

かつ、カーソルは気が利くことに、

<div>と</div>の間にセットしてくれるので、

そのまま続けて

ul>li

と打ち、Tabを押すと、

<div>と</div>の間に、

<ul>
	<li></li>
</ul>

を作成してくれる。

結果、

<div>
	<ul>
		<li></li>
	</ul>
</div>

このようなコードになる。

さらに、もし、

ul>li

ではなく、

ul>li*4

というふうに、

*4(4回繰り返す)という記号をliにくっつけてTabを押すと、

<ul>
	<li></li>
	<li></li>
	<li></li>
	<li></li>
</ul>

と作成してくれる。

ほかにも色々な記述ルールで、爆速かつローコストで、複雑なコードを記述できるので、脳で描いているイメージをいかに高速に記述できるかを生業にしているようなエンジニアにとっては天下の宝刀である。

これがコード補完機能だ。

Emmetの問題

このように、業務を効率化したいコーダーは必須のツールの組み合わせなのだが、このEmmet、デフォルトだと、

使っていくうちに、

なぜこれが予測変換で出ない…?

という不満がどんどん積もってくることになる。

(もちろん予測変換されないので、直に打つか、どこかに置いておいたコードをコピペしてくることになる)

たとえば、cssファイル内で、レスポンシブ対応のためにメディアクエリの指定をしたい時、

@media screen and (max-width: 480px) { }

というような、そらで打ったらなんともどこかでスペルミスをしそうな長い定型分を打つ必要があるのだが、

これを

@m

と打ったらコード補完で

@media screen and (max-width: 480px) { }

が予測変換できるようにしたい。

または、以下のどれを出力するかをカーソルで選択し、Enterキー押下で出力できるようにしたい。

@media screen and (max-width: 480px) { }
@media screen and (max-width: 768px) { }
@media screen and (max-width: 1024px) { }

解決方法:自分で予測変換の辞書にワードを追加する

原始的だが一番手っ取り早い方法。

参考記事

【VSCode】EmmetのHTMLテンプレートにいろいろ詰め込んでみた - Qiita
##はじめにVScodeを使い始めて、+でhtmlのお決まりのタグがパっと出ておてがるってのは知ってたけど初期設定のコードではいろいろ足りていないことが分かってきた。毎回書くの…

cssのスニペットの参考にできるかと思ったgitコード

File not found · emmetio/emmet
The essential toolkit for web-developers. Contribute to emmetio/emmet development by creating an account on GitHub.

(結局、なぜかこのJSONファイルの記述内容では動かなかったが、「やりつくしたらこのくらいのボリュームになる」ということがわかる参考にはなった)

自作したJSONコード

見るとわかるかもしれないが、

結局

!important;

もemmetのデフォルトになかったので、

これも自作で

!

!i

を打った時点でサジェストされるように追加した。

css.json

{
	"@media screen and (max-width: 767px)": {
		"prefix": "@m",
		"body": [
			"@media screen and (max-width: 767px) {\n    $0\n}"
		]
	},
	"@media screen and (min-width: 768px)": {
		"prefix": "@m",
		"body": [
			"@media screen and (min-width: 768px) {\n    $0\n}"
		]
	},
	"!important;": {
		"prefix": "!i|!",
		"body": [
			"!important;"
		]
	}
}

html.json

{
    "html(カスタマイズ済)": {
        "prefix": "!",
        "body": [
            "<!DOCTYPE html>\n<html lang=\"ja\">\n<head>\n<meta charset=\"UTF-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\"content=\"width=device-width, initial-scale=1\">\n<meta name=\"description\" content=\"検索結果でサイト名の下に表示される「サイトの説明文」\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"アップルタッチ用のファビコン(相対パスOK).png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"32サイズのファビコン画像(相対パスOK).png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"16サイズのファビコン画像(相対パスOK).png\">\n<link rel=\"manifest\" href=\"PWA化のためのマニフェストファイル.webmanifest\">\n<meta name=\"msapplication-TileColor\" content=\"Windowsピン留めのテーマカラーを設定→#ffffff\">\n<meta name=\"theme-color\" content=\"theme-colorを設定→#ffffff\">\n<meta name=\"msapplication-TileImage\" content=\"Windowsピン留め時の画像(絶対パス).png\" />\n<meta property=\"og:description\" content=\"SNSでシェアされたときに表示するサイトの説明文\">\n<meta property=\"og:title\" content=\"SNSでシェアされたときに表示するサイトのタイトル\">\n<meta property=\"og:image\" content=\"SNSでシェアされたときに表示する画像※かならず絶対パスを記載(相対パス不可)https://....../img/icons/logo.png\">\n<meta property=\"og:image:width\" content=\"画像の幅px\">\n<meta property=\"og:image:height\" content=\"画像の高さpx\">\n<meta property=\"og:type\" content=\"urlがトップページの場合→website、トップページ以外の場合→article\">\n<meta property=\"og:url\" content=\"https://........\">\n<title>${1:Document}</title>\n<link rel=\"stylesheet\"  href=\"${2:css/style.css}\">\n<link rel=\"stylesheet\"  href=\"https://nanaironanaoto.github.io/tailwind_mini/assets/my_tailwind_mini_minified.css\">\n<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js\">\n</head>\n<body>\n    $0\n</body>\n</html>"
        ]
    }
}

いかがでしたか?

VScodeでは、Emmet意外にも、コーディングを効率化できる拡張機能がたくさんあります。

例えば、ローカル開発から、Webサーバーへコマンドでファイルをアップロードしたいとか、gitリポジトリにプッシュしたいときなどに、VScode内の分割ウィンドでターミナルを実行できたり、また、cssなどをminify(半角スペースや改行を全て排除して長ーい一本のcssコードをボタン一発で出力してくれるものもあります。

ぜひ、まだ活用していないコーダーさまはお試しください!

Webサイト制作を依頼したい方へ

PRYTHM WORKS(プリズムワークス)は、東京都墨田区、東京スカイツリーのふもとにあるWebコンテンツ制作事務所です。

華々しいおしゃれなECサイトをはじめ、アンダーグラウンドな案件まで幅広くご依頼をいただき、どんな案件でも真心・丁寧・楽しくを理念に掲げて制作しております!

作りたいサービスはあるけど、まずは費用感が知りたい!という方も、まずはお問い合わせください!

mail@prytymworks.tokyo

PRYTHM WORKSが手掛ける仕事の一部をご紹介します。

制作のご依頼者様用 費用かんたんお見積もりフォーム

おそらく本記事を読まれるのは、制作の現場の、法人またはフリーの、プロデューサーの方、ディレクターの方、エンジニアの方がほとんどかと存じます。
いつもおつかれさまです!そして本記事をお読みいただきありがとうございます。
紹介した記事の内容について、またはその他制作のご依頼について、以下のフォームより簡易お見積もりができます!
試算だけならフォーム送信しなくてもできますので、ぜひ試しにいかがでしょう?

お仕事をご希望の制作者様用 お問合せフォーム

また、まずはライトなご相談から…ということであれば、こちらのコンタクトフォームからお気軽にどうぞ!ご縁を大切にしてご返信いたします!

    タイトルとURLをコピーしました