Visual Studio Code(VSCode)でキーボードによる選択を行えるようにする


Visual Studio Codeでの選択キー問題

AtomやGolandなどの多くのエディターでは、Ctrl + Shift + F などで文字を選択状態にすることができます。
こういうやつです。

通常だと下記のようなキーバインドがよく使われますよね。

  • Ctrl + Shift + F : カーソルから右の1文字を選択
  • Ctrl + Shift + B : カーソルから左の1文字を選択
  • Ctrl + Shift + N : 次の行の同じカーソル位置までを選択
  • Ctrl + Shift + P : 前の行の同じカーソル位置までを選択
  • Ctrl + Shift + E : カーソル位置から行末までを選択
  • Ctrl + Shift + E : カーソル位置から行頭までを選択

しかし、Visual Studio Codeでは、上記のキーバインドが使えません。
これらを使えるようにするには、keybindings.jsonを編集しましょう。

keybindings.jsonを編集する

開き方

Code > 基本設定 > キーボードショートカット
を開きます。
僕はメニューを日本語化させてますが、デフォルトの状態の場合も基本的にメニュー階層は同じかと思います。

そうすると、キーボードショートカットの画面が開くので、右上の{}をクリック。

これで、keybindings.jsonが開きます。

記述内容

keybindings.json
[
    {
        "key": "ctrl+shift+n",
        "command": "cursorDownSelect",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+p",
        "command": "cursorUpSelect",
        "when": "editorTextFocus"
    }, 
    {
        "key": "ctrl+shift+f",
        "command": "cursorRightSelect",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+b",
        "command": "cursorLeftSelect",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+a",
        "command": "cursorHomeSelect",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+e",
        "command": "cursorEndSelect",
        "when": "editorTextFocus"
    }
]

これをそのままコピペ。
それぞれのキーに対して、各方向に、テキストを選択状態にするよう既存のキーバインディングを上書きしています。

これで他のエディタと同じようにCtrl + Shift + Fなどで選択できる状態に!

よきVSCodeライフを!

参考記事

VSCodeでテキスト選択(ctrl+shift+〇)のキーバインド登録方法