👻

【VSCode】 マルチカーソル、使ってますか?

2024/12/16に公開

この記事は「めぐろLT Advent Calendar 2024」ー 16日目の記事です。

マルチカーソル機能は、複数のカーソルを使って同時に編集を行うことができる機能です。
VSCodeには、このマルチカーソル機能が標準で搭載されており、効率的なコーディングをサポートしてくれます。

マルチカーソルを使用している様子
マルチカーソルを使用している様子

本記事では、マルチカーソル機能の使い方と、筆者が実際にどのような場面で使用しているかを紹介します。

マルチカーソル機能の使い方

VSCodeでは以下の方法でマルチカーソルを作成することができます。

マルチカーソルの作成方法 Mac版のショートカット Windows版のショートカット 筆者の使用頻度
任意の位置にカーソルを追加 Opt + クリック Alt + クリック
1つ上(下)の行にカーソルを追加 Cmd + Opt + () Ctrl + Alt + () ⚪︎
選択した行のすべての行末にカーソルを追加 Shift + Opt + I Shift + Alt + I ⚪︎
選択した文字列と一致する文字列に順にカーソルを追加 Cmd + D Ctrl + D
選択した文字列と一致するすべての文字列にカーソルを追加 Cmd + Shift + L Ctrl + Shift + L ⚪︎

マルチカーソル機能の使い時

筆者がマルチカーソルを使用したくなる場面を3つ紹介します。

1. 命名を一括変更するとき

変数名や関数名を一括で変更するときに、マルチカーソル機能を使うことで、短時間で変更を行うことができます。
命名を一括変更している様子
命名を一括変更している様子

検索バーから一括変更する方法もありますが、その場合カーソルが残らないため上記GIFのように複数の命名を試行錯誤しながら変更することができません。

2. 特定の範囲に閉じた修正を行うとき

特定の範囲に閉じた修正を行うときにもマルチカーソル機能は有用です。
特定の関数に閉じた修正
特定の関数に閉じた修正

こちらは検索バーから一括変更してしまうと、下のfuga()関数にも変更が適用されてしまいますが、マルチカーソル機能を使うことで意図した範囲の修正に留めることができます。

3. フォーマットを変更するとき

以下のGIFではCSVで定義されたデータをMarkdownのドキュメントに変換しています。
フォーマットを変更している様子
フォーマットを変更している様子

少し煩雑な例でしたが、フィールド名のみをコピーしたい場合など、一定のルールに従った変更を行うときにマルチカーソル機能は有用です。

余談: 静的型付け言語でよく使う機能

ある変数や型定義を変更した際に、その変更に依存する箇所も一括で変更したい場合があるかと思います。
その際に便利なのが、「Fn + F2」です。
このショートカットを使うことで、定義元ともに参照している箇所も一括で変更することができます。

静的型付け言語で定義元から一括変更している様子
静的型付け言語で定義元から一括変更している様子

まとめ

マルチカーソル機能は、VSCodeの標準機能であり、効率的なコーディングをサポートしてくれます。
最近は生成AIの成長が著しいですが、生成AIによるサポートを待つよりも、マルチカーソル機能を使う方が早いと感じる場面が多々あります。
両者を組み合わせて、より効率的なコーディングを目指しましょう。

GitHubで編集を提案

Discussion