会員ログイン
エディター・Git

ユーザースニペッド機能

ユーザースニペッド機能のアイキャッチ画像
はじめに
概要

テキストエディタのユーザースニペットとは、プログラミングや文章作成の際に頻繁に使用するコードやテキストの断片を保存し、簡単に再利用できるようにする機能です。ユーザーは特定のキーワードを入力するだけで、あらかじめ定義しておいた長いコードや定型文を挿入できます。これにより、タイピングの手間を省き、作業の効率化を図ることができます。具体例をもとに設定してみましょう。

※本記事の情報は執筆時点のものであり、閲覧時点では変更されている可能性があります。また、ご利用の環境によっては、本記事の内容が正常に動作しないことがあります。最新の情報については、公式サイトなどでご確認ください。
疑問を持つ読者のイラスト読者

ユーザースニペッド機能は、最初にどこを理解するとよいですか?

著者・木村のプロフィール写真木村

使用するツールの役割、設定ファイルの場所、実行する順番を先に整理すると、環境差によるつまずきを減らせます。

話を聞く読者のイラスト読者

実際に試すときは、手順だけでなく確認方法も知っておいた方がよいでしょうか?

著者・木村のプロフィール写真木村

はい。この記事では、作業の目的から実装後の確認までを順番に整理します。自分の環境と照らし合わせながら読み進めてください。

実装内容

実装内容では、ユーザースニペッド機能を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。

動画では以下を実装しています。

– Vscodeの「!マーク」デフォル機能でHTMLのひな型を作成

– 「!!!」自作のスニペッドでbody内のコードを出力

– 「__media」自作のスニペッドでメディアクエリを生成

設定箇所

上部のメニューからタイトル(VsCode/Cursor)を選択

基本設定

ユーザースニペットの構成

構成する言語を選択

実装内容で押さえたいポイント

実装内容は、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。

コード

以下はユーザースニペットの一例です。動画で紹介した内容になります。コピー&ペーストできるように添付しておきます。

HTML

"!DOCTYPE html2": {
		"prefix": "!!!",
		"body": [
			"<div id="global-container">",
			"  <div id="container">",
			"    <header class="header"></header>",
			"    <main>",
			"      <div id="main-container">",
			"",
			"      </div><!-- /#main-container -->",
			"    </main>",
			"    <div class="footer">",
			"",
			"    </div><!-- /.footer -->",
			"  </div><!-- /#container -->",
			"</div><!-- /#global-container -->"
		],
		"description": "!DOCTYPE html"
	}

SCSS

 "media": {
    "prefix": "___media",
    "body": "@include mq($1){}",
    "description": ""
  },

	"background": {
    "prefix": "_background-image",
    "body": "background-image: url(~@img/$1/$2);",
    "description": "background-image"
  },

  "extend": {
    "prefix": "_extend",
    "body": "@extend .background-set;",
    "description": "background-set"
  },

コードの解説

ユーザースニペットの設定はJSON形式で行います。JSON(JavaScript Object Notation)は、データ交換のフォーマットの一つで、読みやすく、かつ機械が解析しやすい構造を持っています。この形式を使用することで、設定ファイルが人間にもコンピュータにも理解しやすい形になります。

Prefix

役割: ユーザーがスニペットを呼び出す際に使用するキーワードまたはフレーズを指定します。このPrefixは、コーディング中に速やかにコードスニペットを挿入したい場合に入力されるトリガーとなります。

: "prefix": "log" は、ユーザーが log と入力した際に、関連するスニペットが提案されることを意味します。

Body

役割: 実際に挿入されるコードスニペットの内容を記述します。ここには、複数行のコードや、変数部分を含むテンプレートリテラルも設定することが可能です。

: "body": ["console.log(${1:variable});"] では、console.log()関数を呼び出すJavaScriptのコードスニペットを定義しています。${1:variable}は、ユーザーがスニペットを挿入した際に最初にカーソルが置かれる部分で、簡単に変数名を編集できるようになっています。

コードで押さえたいポイント

コードは、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。

実装前に確認しておきたいこと

ここでは、ユーザースニペッド機能を実際の制作へ取り入れる前に、準備しておきたい内容を整理します。先に作業範囲と確認方法を決めておくと、既存ページへの影響を抑えながら進められます。

作業の目的と変更範囲を決める

使用するツールの役割、設定ファイルの場所、実行する順番を先に整理すると、環境差によるつまずきを減らせます。 サンプルをそのまま貼り付ける前に、どのページ、どの要素、どの利用者へ影響するのかを書き出してください。目的が明確であれば、必要以上にコードや設定を増やさずに済みます。

元の状態へ戻せるようにする

テーマや設定を変更するときは、対象ファイルや設定値のコピーを残します。複数の変更を一度に行わず、一つ反映するたびに表示と動作を確認すると、問題が起きても原因を切り分けやすくなります。

よくあるつまずきと確認方法

ユーザースニペッド機能が期待どおりに動かない場合は、コードを追加し続ける前に、読み込み順、対象要素、設定値、キャッシュの順で確認します。小さな入力ミスや確認条件の違いが原因になることも少なくありません。

変更が反映されない場合

保存したファイルと表示中のページが対応しているかを確認し、キャッシュを消して再読み込みします。ブラウザーの開発者ツールやWordPressのエラーログを確認すると、読み込み失敗や記述ミスを見つけやすくなります。

公開前の最終確認

実行前後のバージョンと設定値を控え、再起動後も同じ動作になるか確認します。チーム作業では、個人のパスや秘密情報を設定ファイルへ固定しないことも重要です。

実務で使うための進め方

ユーザースニペッド機能を実務で使うときは、完成形を一度に作ろうとせず、最小のサンプルで動作を確かめてから既存ページへ組み込みます。確認できた処理を少しずつ広げると、記事の例と自分の環境に差があっても調整しやすくなります。

小さなサンプルから試す

新しいコードや設定は、関係する要素だけを置いた小さなページで試します。期待する結果、実際の結果、変更した箇所を短く記録すると、途中で別の方法を試した場合にも比較できます。動作を確認できた後で、既存の命名規則やファイル構成へ合わせて移してください。

既存の実装と重複していないか確認する

同じ目的のCSS、JavaScript、プラグイン設定がすでに存在すると、指定の上書きや処理の二重実行が起きることがあります。検索機能や開発者ツールを使い、同じクラス名、関数名、フック、設定項目がないかを先に確認しましょう。

保守しやすい状態を保つ

実装時に動くだけでなく、数か月後に見直せる状態にしておくことも大切です。採用した理由と確認方法を短く残しておけば、仕様変更や担当者の交代があっても安全に更新できます。

変更理由を短く記録する

コメントや作業メモには、コードの内容をそのまま説明するのではなく、なぜその処理が必要なのかを書きます。参照した公式情報や動作確認日も残すと、仕様が変わったときに見直す判断材料になります。秘密情報や個人の環境だけで使えるパスは記録へ含めません。

定期的に動作を見直す

実行前後のバージョンと設定値を控え、再起動後も同じ動作になるか確認します。チーム作業では、個人のパスや秘密情報を設定ファイルへ固定しないことも重要です。 ブラウザー、WordPress、プラグイン、外部サービスを更新した後にも同じ項目を確認すると、変更による影響を早めに見つけられます。

まとめ

  • メディアクエリなど、頻繁に使用するコードを登録し呼び出すことができる
  • 各言語に対応している
  • 呼び出す値をそれぞれ設定することができる
  • 効率良くコードが記述できる

MEMBER COMMENTS

コメント(0件)

会員ログイン後にコメントできます

記事への質問や感想をコメントで共有できます。無料会員登録後もこの記事へ戻れます。