テキストエディタVisualStudioCode ではエディタ内にターミナルを表示させるショートカットキー(ctrl+@
)は用意されていますが、ターミナルとテキストエディタ間のフォーカスを移動するためのショートカットキーが存在しなかったので、設定方法を調べてみました。
<2020/08/02>
執筆当時のバージョン(1.13)ではtoggleTerminal
コマンドはパネルの表示非表示を切り替えるのみの動作だったので、エディタからターミナルへフォーカスを移動するという用途には適しませんでした。
Ver. 1.28 1 以降では、フォーカスの無いパネルをトグルさせるとき、一旦フォーカスを移動するという動作に変更されたので、下記のデフォルトのショートカットキーのみでフォーカス移動に対応できます。
言語 | key | command |
---|---|---|
us, jp | ctrl+1 | workbench.action.focusFirstEditorGroup |
us | ctrl+` | workbench.action.terminal.toggleTerminal |
jp | ctrl+oem_3(@) | workbench.action.terminal.toggleTerminal |
設定方法
Ctrl+Shift+P
からコマンドパレットを開き、'keyboard' と入力すると下記のようにメニューの候補が表示されるので、'Preference: Open Keyboard Shortcuts (JSON)' を選択します。
「keybindings.json」が開かれるので、下記のコードをコピペして上書き保存します
[
{
"key": "ctrl+;", "command": "workbench.action.terminal.focus",
"when": "editorTextFocus"
},
{
"key": "ctrl+;", "command": "workbench.action.focusFirstEditorGroup",
"when": "terminalFocus"
}
]
設定ファイル上は「Ctrlキー+セミコロン(;)」のショートカットキー割り当てとして書かれていますが、筆者環境(Windows10 HHKB JP)ではこの設定で「Ctrlキー+コロン(:)」へ割り当てられました。
おそらく設定ファイルの記述はUSキーボードのキーコードを想定しているのを、JISキーボードから入力するため、表記が不一致になっていると思われます。
コマンドは下記を参考にしました。
https://code.visualstudio.com/docs/editor/integrated-terminal#_key-bindings