VS Code で「単語削除」にショートカットを割り当てる
Linux や macOS を利用していると Ctrl+W で「単語を削除する」というショートカットを頻繁に利用します。 ですが、VS Code ではこの機能があるものの、デフォルトではショートカットキーが割当たっておらず、手軽に利用出来ません。 そこで今回はこのショートカット設定を実施してみます。 今回は macOS 14.2 + VS Code 1.84.2 を利用しています。
Step.1¶
VS Code のメニューから Code
→ Settings
→ Keyboard Shortcuts
を選択します。 表示された検索窓に ctrl+w
と入力すると、この組み合わせには予め Switch Window
というショートカットが割当たっていることが分かります。 ショートカットキーが重複してしまう為、この Switch Window
機能のショートカットは後の手順で削除します。
Step.2¶
VS Code に「単語を削除する」という機能は幾つかあり、微妙に挙動が異なります (単語を削除する際、デリミタも削除するのか、しないのか、等)。 私の場合は deleteWordStartLeft
機能を利用したい為、検索窓に deleteWordStartLeft
と入力するとショートカットキーの割当が無いことが分かります。
Step.3¶
Switch Window
のショートカットキーを削除したいのですが、GUI 上からは (ショートカットキーの変更は可能なのですが) 割当の削除は出来ないようです。 その為、右上のファイルアイコンをクリックしてショートカットキーを定義している keybindings.json
ファイルを開きます。
Step.4¶
私の環境では何も定義していなかった為、keybindings.json
の中身は空でした。
今回は以下のように定義しました。 Switch Window
は内部的に workbench.action.switchWindow
と表現されていますが、このコマンドに対して -
(マイナス) 記号を付与することで無効化します。 また、deleteWordStartLeft
には Ctrl+W を割り当てます。 これでショートカットキーが重複することなく、定義することが出来ます。
1 2 3 4 5 6 7 8 9 10 11 |
|
これで設定は完了です。 ショートカットキーの変更は VS Code を再起動することなく、即座に反映されます。
実際の挙動¶
カーソル位置の「左側にある単語」を削除したい場合に Ctrl+W を利用します。 今回は以下の位置で Ctrl+W を押してみます。
すると「カーソル位置の左側にある単語」が削除され、且つ、デリミタ文字 (今回は空白) の右側でカーソルが停止します。
今回利用した deleteWordStartLeft
以外にも deleteWord 〜
という機能はありますが、「カーソルの停止位置が異なる」など、挙動が異なります。