🛩️

一瞬で console.log を出力する

2024/04/03に公開

これはなに

console.log でログを出力して確認しながら開発していく場面が多くあると思いますが、毎回手入力していると時間はかかるし、途中で打ち間違えするしで非効率だなあと感じる場面がありました。
今回はなるたけ一瞬で、正確な console.log を出力する方法をまとめます。

やったこと

やったことは以下の2つだけです。

  1. ユーザースニペット登録
  2. サジェストの優先度をあげる

順繰り解説します。

1. ユーザースニペット登録

歯車アイコン → ユーザースニペットを選択します。

使用言語を検索し、選択します。
今回自分は typescriptreact.json を選択しました。使用言語に合わせてください。

デフォルトでサンプルがあるので、下記のようにコメントアウト解除し、bodyに出力したいスニペットに書き換えます。
下記だと、log を打つと、 console.log(‘’, ) が出力されるようになります。
シンプルに console.log(‘’) を出力したいなら console.log(‘$1’); で良いと思います。
※ prefix や $1 などの説明は後述。

{
	// Place your snippets for typescriptreact here. Each snippet is defined under a snippet name and has a prefix, body and 
	// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 
	// same ids are connected.
	// Example:
	“Print to console”: {
		“prefix”: “log”,
		“body”: [
			“console.log(‘$1, $2);”
		],
		“description”: “Log output to console”
	}
}

これにより、log と打つと、サジェストの print to console が表示され、これを選択します。

すると、body に指定した console.log(‘’, ) が出力されます。

2. サジェストの優先度をあげる

このままだと、「サジェストの2番目を選択する」作業が発生してしまいます。
なるはやで出力したいので、サジェストの最上部に来て欲しいです。
そこで、設定で sunippetsuggestions で検索し、デフォルトで inline になっているのを top に変更します。これによりスニペットのサジェストが最上部に表示されるようになります。

実際に log を入力すると、一番上に出てきてくれました。

解説

sunippet 登録時に記載したものを以下に抜粋。

“Print to console”: {
    “prefix”: “log”,
    “body”: [
        “console.log(‘$1, $2);”
    ],
    “description”: “Log output to console”
}
  1. “Print to console” は、スニペットタイトル
  2. “prefix” は、スニペットを生成する入力文字列
  3. “body” は、スニペットで生成するコード
    • $1 は、スニペット生成直後にカーソルがあたる位置
    • $1 部分に入力後、Tab を押すと $2 の位置にカーソル移動する
  4. “description” は、スニペットの説明

それぞれこのように表示されます。

まとめ

早く正確な console.log が入力できるようになりました!
スニペットが使えることは知っていたけど、もっと早く使っていればよかった・・・。

Discussion