Я пытаюсь выяснить, есть ли способ настроить привязку клавиш, чтобы обеспечить быстрый переход между окнами терминала, которые я открывал во встроенном терминале, вместо того, чтобы каждый раз нажимать на селектор вниз, Кто-нибудь знает команду для этого при создании привязки личного ключа или где я могу увидеть список всех возможных команд для VSC? Заранее благодарю вас!
VS Code Key Binding для быстрого переключения между экранами терминалов?
Ответ 1
Из документации Microsoft есть подсказка:
Совет: если вы интенсивно используете несколько терминалов, вы можете добавить ключ обозначены привязки для команд focusNext, focusPrevious и kill в разделе "Привязки клавиш", чтобы разрешить навигацию между ними, используя только клавиатура.
С здесь:
Другие терминальные команды доступны и могут быть привязаны к вашему предпочтительные сочетания клавиш. Они есть: workbench.action.terminal.focus: сфокусировать терминал. Это как переключать, но фокусирует терминал, а не скрывает его, если он видимый.
workbench.action.terminal.focusNext: Focuses the next terminal instance.
workbench.action.terminal.focusPrevious: Focuses the previous terminal instance.
workbench.action.terminal.kill: Remove the current terminal instance.
workbench.action.terminal.runSelectedText: Run the selected text in the terminal instance.
Просто назначьте эти сочетания клавиш предпочтительным сочетаниям клавиш, и все готово.
Это может не быть решением для прямого перехода к терминалу (например, как vims gt2), но это, безусловно, начало.
Изменение: Просто поиграл и обнаружил, что вы также можете сосредоточиться на конкретном терминале. Просто добавьте любую из этих команд в свой keybindings.json
, и все готово!
// - workbench.action.terminal.focusAtIndex1
// - workbench.action.terminal.focusAtIndex2
// - workbench.action.terminal.focusAtIndex3
// - workbench.action.terminal.focusAtIndex4
// - workbench.action.terminal.focusAtIndex5
// - workbench.action.terminal.focusAtIndex6
// - workbench.action.terminal.focusAtIndex7
// - workbench.action.terminal.focusAtIndex8
// - workbench.action.terminal.focusAtIndex9
например,
{ "key": "yourkeybinding", "command": "workbench.action.terminal.focusAtIndex1"}
Ответ 2
Если вы хотите что-то, что может показаться немного более плавным, чем использование произвольных привязок клавиш, вы можете заставить Ctrl + Tab и Ctrl + Shift + Tab работать как для переключения редактора, так и для переключения терминала.
Откройте файл сочетаний клавиш с помощью поиска ctrl+shift+p
для поиска keyboard file
. Затем добавьте..
{
"key": "ctrl+tab",
"command": "workbench.action.openNextRecentlyUsedEditorInGroup",
"when": "editorFocus"
},
{ "key": "shift+ctrl+tab",
"command": "workbench.action.openPreviousRecentlyUsedEditorInGroup",
"when": "editorFocus"
},
{
"key": "ctrl+tab",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
}
Ответ 3
Здесь решение, которое я построил, хорошо работает для меня на OSX.
Он имитирует те же самые ярлыки, которые используются в редакторе, чтобы открыть новые файлы (cmd + n) и переключиться между вкладками (cmd + left | right) и теми же ярлыками для терминалов, когда это представление находится в фокусе.
Нажмите cmd+shift+p
и введите keyboard
, чтобы найти Preferences: Open Keyboard Shortcuts File
Добавьте следующее в файл keybindings.json
и сохраните его.
{
"key": "cmd+alt+right",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
},
{
"key": "cmd+alt+left",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
},
{
"key": "cmd+n",
"command": "workbench.action.terminal.new",
"when": "terminalFocus"
},
{
"key": "cmd+w",
"command": "workbench.action.terminal.kill",
"when": "terminalFocus"
}
Он также делает то же самое для закрывающих терминалов (cmd + w)
Ответ 4
На основе Haini ответьте, добавьте код ниже в keybindings.json
{
"key": "shift+up",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
},
{
"key": "shift+down",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
}
Теперь вы можете переключаться между терминалами с помощью shift + down или shift + up