vscode: Terminal と Editor のアクティブを行ったり来たりトグルするキーの作り方のメモ
要求
キーは何でもよいのだけど、例えば
F7
を押すと- ターミナルではない何か(エディターやエクスプローラーなど)がアクティブな状態なら → ターミナルをアクティブに
- ターミナルがアクティブな状態なら → エディターをアクティブに
- キーボードのフォーカスのアクティブターゲットがトグル
する便利な状態にしたい需要があったとします。私にはありました😏
実現する方法
Keyboard shortcuts
を次のように2件ユーザー設定でカスタムします:
(1): ターミナルではない何か(エディターやエクスプローラーなど)がアクティブな状態なら → ターミナルをアクティブに
{ "key": "f7", "command": "workbench.action.terminal.focus" }
(2): ターミナルがアクティブな状態なら → エディターをアクティブに
{ "key": "f7", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus" }
Note: VSCode のキーボードショートカットの GUI 編集モードでも右クリックでコンテキストメニューを出せば When
を入力できます。
これで、 F7
を押すとエディター(あるいは他のどこか)にキーボードの入力フォーカスがある状態ならターミナルがアクティブに、ターミナルがアクティブな状態ならエディターがアクティブにトグルしてくれるようになります。けっこー端末でコマンドばばばばばばばばって打ちたい派には、これが理想の便利状態なひとも、いるかもね👩🔧
おまけ: Terminal でのスクロールとキーボードショートカット
VSCodeのTerminalでのスクロールのデフォルトはAltを使うパターンになっていて、ふだん使うことの多い端末エミュレーター等とはキー操作が異なる場合もあると思います。例えば Windows Terminal だと CTRL
+SHIFT
+↑
/↓
なので VSCode でも Terminal を頻繁に使うひとは、ついでに合わせておくと便利かもしれません。
{ "key": "ctrl+shift+down", "command": "workbench.action.terminal.scrollDown", "when": "terminalFocus" }
{ "key": "ctrl+shift+up", "command": "workbench.action.terminal.scrollUp", "when": "terminalFocus" }
眠くても、疲れていても、ひゅーまんがミスしにくい環境がよいです👩🔧