📝

VS Code環境設定 - キーバインド

2021/04/25に公開

はじめに

Visual Studio Code(VS Code) のキーバインドを設定します。

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

Extensions

Emacs のキーバインドに慣れ切っているため、以下の拡張機能をインストールします。
これをベースに個々のキーバインドを変更していきます。

  • Awesome Emacs Keymap
    • Extension Id: tuttieee.emacs-mcx

Settings

以下のメニューです。

File -> Preferences -> Settings

変更内容

  • Extensions
    • Awesome Emacs Keymap (emacs-mcx) configuration
      • Kill Whole Line
        • チェック
      • Use Meta Prefix Ctrl Left Bracket
        • チェック
        • これをチェックしておけば Ctrl-[ x でコマンドパレットを呼び出せるようになります(esc を押すのは煩わしいので)

Keyboard Shortcuts

以下のメニューです。

File -> Preferences -> Keyboard Shortcuts

変更内容

  • Command: editor.action.revealDefinition
    • Keybinding
      • Ctrl-[ = に変更
  • Command: editor.action.goToReferences
    • Keybinding
      • Ctrl-[ Shift-= に変更
  • Command: workbench.action.focusNextGroup
    • Keybinding
      • Ctrl-t に変更

因みにマルチカーソルでカーソルを追加するのは以下のコマンド。

  • Command: editor.action.insertCursorAbove
    • Keybinding
      • Ctrl-Shift-UpArrow
  • Command: editor.action.insertCursorBelow
    • Keybinding
      • Ctrl-Shift-DownArrow

Chromebook だと Alt-UpArrowPageUpAlt-DownArrowPageDown になるからこのキーバインドになっているのだと思われる。

変更したキーバインドが記録される設定ファイルは ~/.config/Code/User/keybindings.json です。

keybindings.json
// Place your key bindings in this file to override the defaultsauto[]
[
    {
        "key": "ctrl+[ =",
        "command": "editor.action.revealDefinition",
        "when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
    },
    {
        "key": "f12",
        "command": "-editor.action.revealDefinition",
        "when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
    },
    {
        "key": "ctrl+[ shift+=",
        "command": "editor.action.goToReferences",
        "when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
    },
    {
        "key": "shift+f12",
        "command": "-editor.action.goToReferences",
        "when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
    },
    {
        "key": "ctrl+t",
        "command": "workbench.action.focusNextGroup"
    },
    {
        "key": "ctrl+t",
        "command": "-workbench.action.showAllSymbols"
    }
]

メニューからでなく設定ファイルの JSON を直接編集してキーバインドを変更することも可能です。

おわりに

ひとまずキーバインドは以上です。

Discussion