Вопрос или проблема
Я только начал использовать VSCode и ищу способ переключаться между вводом кода и терминалом (внутри VSCode) с помощью комбинации клавиш. Искал в интернете, но лучшее, что я смог найти, это закрыть и открыть терминал.
Есть идеи, как это сделать?
Мне сложно нажимать CTRL+`. Также терминал закрывается, когда мы нажимаем CTRL+'
Поэтому я настроил свои клавиши следующим образом:
{
"key": "ctrl+j",
"command": "workbench.action.focusActiveEditorGroup",
"when": "!terminalFocus"
},
{
"key": "ctrl+k",
"command": "workbench.action.terminal.focus",
"when": "terminalFocus"
}
Шаги для настройки:
- Перейдите в: Файл > Предпочтения > сочетания клавиш
- Затем в строке поиска введите
focus terminal
- Выберите
workbench.action.terminal.focus
, затем нажмите CTRL+k или нажмите свою пользовательскую клавишу и затем нажмите Enter. - Аналогично, в строке поиска введите
focus active editor group
- Выберите
workbench.action.focusActiveEditorGroup
, затем нажмите CTRL+j или нажмите свою пользовательскую клавишу и затем нажмите Enter.
После вышеуказанной настройки:
- Нажмите CTRL+k, чтобы сфокусироваться на терминале
- Нажмите CTRL+j, чтобы сфокусироваться на коде без закрытия терминала
Смотрите этот вопрос/ответ Переключение фокуса между редактором и встроенным терминалом в Visual Studio Code на Stackoverflow, думаю, что ответ @Trav L может быть близким. Но нужно настроить немного больше.
VS Code v1.26.1 в качестве базовой версии
- Откройте редактор сочетаний клавиш из меню Файл->Предпочтения->Сочетания клавиш (
Ctrl+K Ctrl+S
) - Нажмите на ссылку
keybindings.json
в верхней части экрана. - Перепишите ваши пользовательские сочетания клавиш на правой панели, файл
keybindings.json
будет храниться в<user dir>\AppData\Roaming\Code\User
. С этими значениями вы сможете переопределитьсочетание клавиш
, используя ключевое словоwhen
, как в коде ниже.
Кредит: @wgj пользователь Stackoverflow
// Переключение между фокусом терминала и редактора { "key": "ctrl+`", "command": "workbench.action.terminal.focus"}, { "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}
- Теперь вы можете переключать позицию курсора, нажимая ту же клавишу
Ctrl+`
, VS Code будет распознавать исходя из ситуации, где находится курсор.
Специальный 1
Используйте расширение Settings Sync
для сохранения ваших пользовательских сочетаний клавиш и других параметров в вашем секретном GIST (Github), для переключения между рабочими станциями, я рекомендую. Это довольно удобно для меня.
Специальный 2
Иногда мне нужно закрыть панель терминала, чтобы получить весь экран с кодом. Так что я также настроил это в keybindings.json
. Результат равен нажатию на X-значок панели терминала. (Просто измените на вашу любимую клавишу, если хотите)
{
“key”: “ctrl+k ctrl+`”,
“command”: “workbench.action.terminal.kill”
},
В общем, VS Code использует ctrl+j
для открытия терминала, поэтому я создал сочетание клавиш, чтобы переключаться с комбинацией ctrl+k
, как показано ниже в keybindings.json
:
[{
"key": "ctrl+k",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
}]
Что мне хотелось бы сделать, это
-
Сфокусироваться на терминале
Ctrl+`
-
Вернуться к редактору
Ctrl + E, Enter
Вы можете сделать это, установив сочетания клавиш для Focus Terminal
и Focus Active Editor Group
. Эти два позволят вам переключать фокус между редактором и терминалом, не закрывая терминал.
Другим положительным моментом является то, что если вы выполняете какое-то действие, которое вызывает открытие другой панели, такой как Вывод или Проблемы. Используя сочетание клавиш для группы редакторов, вы сможете вернуть фокус обратно к редактору.
Я не могу сказать, какие из них по умолчанию, потому что настроил это давно в Code. Как вы можете видеть на скриншоте ниже, я назначил их на одно и то же сочетание клавиш: ctrl + shift + i.
Это заставляет их работать как переключатель, чтобы возвращать фокус туда и обратно. Вы можете просто удерживать ctrl + shift, затем нажав i, будет перемещать ваш фокус туда и обратно.
Чтобы переключаться между редактором и терминалом в VS Code (Mac), вы можете использовать следующие сочетания клавиш:
Ctrl
+ ~
: чтобы перейти к терминалу
Ctrl
+ 1
: чтобы вернуться в редактор
Ctrl
+ вверх
: чтобы выбрать редактор, когда терминал находится в фокусе
Ctrl
+Shift
+P
: чтобы открыть палитру команд и искать Фокус
Вот как иметь одинаковую горячую клавишу для переключения между кодом и терминалом для максимальной продуктивности:
{
"key": "f1",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "f1",
"command": "workbench.action.terminal.focusNext",
"when": "!terminalFocus"
},
Если вы хотите, чтобы Ctrl+` переключался между терминалом и текстовым редактором, выполните следующие действия:
-
Откройте файл
keybinding.json
: Ctrl+Shift+P, затем выберитеPreferences: Open Keyboard Shortcuts (JSON)
. -
Добавьте следующую строку:
{ "key": "ctrl+`", "command": "workbench.action.terminal.toggleTerminal" },
- Сохраните и закройте файл
keybinding.json
.
Переключение интегрированного терминала
Ctrl + `
Это включит/выключит вид терминала, переключая курсор между редактором и терминалом.
В версии 1.86.2 на Linux (не знаю, имеет ли это значение) стандартное сочетание клавиш для переключения между редактором, терминалом и боковой панелью – это F6
, а Shift+F6
– для обратного переключения.
В более подробной настройке в файле keybinding.json:
{
"key": "f6",
"command": "workbench.action.focusNextPart"
}
{
"key": "shift+f6",
"command": "workbench.action.focusPreviousPart"
}
Я вижу, что у вас уже есть несколько вариантов, но я хотел бы добавить метод, который использую.
Нажмите CTRL + SHIFT + p
Напишите 'view terminal'
Палитра команд теперь должна показать: View: Toggle Integrated Terminal
Нажмите ENTER
Теперь вы можете использовать CTRL + SHIFT + p, а затем ENTER для переключения между терминалом и текстовым редактором, пока эта команда является последней использованной в палитре команд.
Этот вариант будет скрывать терминал, когда вы вернетесь в редактор.
Альтернатива, которая просто переключает фокус и сохраняет терминал видимым, здесь:
View: Focus First Editor Group
Terminal: Focus Terminal
Также найдено в палитре команд.
Я знаю, что это не прямые сочетания, но я нахожу палитру команд удобной в использовании, поскольку команды, которые я часто использую, находятся всего в нескольких кликах, используя стрелку вниз.
По умолчанию нет сочетания клавиш для переключения между терминалом и редактором в VScode. Но вы можете добавить ПОЛЬЗОВАТЕЛЬСКИЕ сочетания клавиш в Настройки > Сочетания клавиш.
Примечание: Я назначил “Altr + Ctrl + ,” для фокуса редактора и “Altr + Ctrl + .” для фокуса терминала, так как они не используются никакими другими задачами и легко доступны.
В сочетаниях клавиш введите Focus Active Editor Group и ДВОЙНОЙ КЛИК
по опции и создайте свое собственное сочетание и нажмите ENTER.В сочетаниях клавиш введите Terminal: focus terminal action
и найдите опцию, точно как мы написали выше, т.е. “Terminal: focus
terminal action” и создайте свое собственное сочетание и нажмите ENTER
Есть много аналогичных вариантов, связанных с фокусом терминала, таких как предыдущий терминал, следующий терминал и т.д., но у них уже есть сочетания клавиш, поэтому их легко найти.
Ну, я предоставил метод для Windows, и не уверен насчет IOS и LINUX, но думаю, что это будет работать.
ответ актуален на апрель 2021 года
чтобы переключаться между различными панелями VSCode, вам нужно отредактировать ваши команды “workbench”:
-
CTRL + K +CTRL +S иначе Файлы > Предпочтения > Сочетание клавиш
найдите эту команду
workbench.action.terminal.focus
и затем добавьте ваше предпочтительное сочетание клавиш для этой команды
-
чтобы сфокусироваться на вашем коде, вам нужно установить следующую команду
workbench.action.focusActiveEditorGroup
-
чтобы сфокусироваться на проводнике файлов vscode, вам нужно установить следующую команду
workbench.files.focusFilesExplorer
и больше нет необходимости искать мышью или покидать клавиатуру ради сенсорной панели
Вот и все, друзья! Надеюсь, вы потратите меньше энергии на свою сенсорную панель …!
В случае, если кто-то хочет переключаться между окном редактора сверху и панелью снизу, независимо от того, открыт ли сейчас Терминал, Консоль отладки, Окно вывода или Окно проблем, вы можете использовать этот код:
{
"key": "ctrl+.",
"command": "workbench.action.focusPanel"
},
{
"key": "ctrl+.",
"command": "workbench.action.focusActiveEditorGroup",
"when": "panelFocus"
}
Мне понадобилось время, чтобы понять, что странно, это focusPanel
в команде, но panelFocus
в условии “when”.
Обратите внимание, что в моем примере я использую “ctrl+.”, а не “ctrl.+`”.
Чтобы переключаться между терминалом и текстовым редактором в VSCode с помощью сочетания клавиш, вот что я нашел:
- Перейдите в
Настройки
>Предпочтения
>Сочетания клавиш
. - В строке поиска введите
workbench.action.terminal.focusAtIndex1
. - Назначьте сочетание клавиш, которое вам нравится, для этой команды.
Для справки, я использую версию VSCode: 1.91.1 (2024).
Очень удобный способ переключаться между редактором и терминалом с максимально расширенным окном по умолчанию с помощью сочетания клавиш Ctrl+`
{
// отключить стандартное правило
"key": "ctrl+`",
"command": "-workbench.action.terminal.toggleTerminal",
},
{
// открыть терминал, если он не был
"key": "ctrl+`",
"command": "workbench.action.togglePanel",
"when": "!terminalIsOpen"
},
{
// скрыть терминал, если активен редактор
"key": "ctrl+`",
"command": "workbench.action.togglePanel",
"when": "terminalIsOpen && !terminalFocus"
},
{
// максимизировать терминал, если он в фокусе и редактор открыт
"key": "ctrl+`",
"command": "runCommands",
"args": {
"commands": [
"workbench.action.toggleMaximizedPanel",
]
},
"when": "terminalIsOpen && !editorFocus && !panelMaximized"
},
{
// переключить терминал и сфокусироваться на редакторе, если терминал был максимизирован
"key": "ctrl+`",
"command": "runCommands",
"args": {
"commands": [
"workbench.action.toggleMaximizedPanel",
"workbench.action.focusActiveEditorGroup",
]
},
"when": "terminalIsOpen && !editorFocus && panelMaximized"
},
Ответ или решение
Для переключения курсора между терминалом и редактором кода в Visual Studio Code (VSCode) можно использовать следующие шаги, чтобы настроить удобные клавиатурные сокращения. Это позволит легко переключаться между двумя частями интерфейса без необходимости закрывать и открывать терминал.
1. Настройка клавиатурных сокращений
-
Открытие настроек клавиатурных сокращений:
- Откройте меню:
Файл
→Настройки
→Клавиатура...
или используйте комбинированную клавишуCtrl+K Ctrl+S
.
- Откройте меню:
-
Перенастройка команд:
-
В строке поиска введите
focus terminal
для поиска командыworkbench.action.terminal.focus
. -
Дважды щелкните на найденной команде и назначьте ей новое сочетание клавиш, например,
Ctrl+K
, и нажмитеEnter
. -
Затем введите
focus active editor group
в строку поиска. -
Найдите команду
workbench.action.focusActiveEditorGroup
и назначьте ей другое сочетание, к примеру,Ctrl+J
, и нажмитеEnter
.
-
2. Пример настройки в keybindings.json
Если вы предпочитаете редактировать настройки напрямую через файл JSON, вы можете открыть keybindings.json
:
- Откройте командную палитру с помощью
Ctrl+Shift+P
. - Введите
Preferences: Open Keyboard Shortcuts (JSON)
и выберите данный пункт. - Вставьте следующие строки кода:
[
{
"key": "ctrl+k",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+j",
"command": "workbench.action.focusActiveEditorGroup"
}
]
3. Альтернативные сочетания
В зависимости от ваших предпочтений вы можете использовать другие сочетания клавиш, такие как:
Ctrl + ~
для переключения на терминал.Ctrl + 1
для возврата к редактору.Ctrl + Shift + P
, затем введитеView: Toggle Integrated Terminal
, чтобы открыть терминал, если это не было сделано ранее.
4. Использование функции "Toggle Terminal"
Если вы хотите быстро переключать терминал с помощью одной клавиши, используйте следующее:
- Откройте
keybindings.json
. - Добавьте следующую строку, чтобы включить функцию переключения терминала:
{ "key": "ctrl+`", "command": "workbench.action.terminal.toggleTerminal" }
Заключение
После настройки указанных выше клавиатурных сокращений вы сможете легко и быстро переключаться между редактором и терминалом, улучшая вашу продуктивность. Вы можете использовать Ctrl + K
для фокуса на терминале и Ctrl + J
для возврата к редактору. Если вам нужно больше возможностей, рассматривайте использование расширений, таких как Settings Sync, чтобы синхронизировать ваши настроенные сочетания клавиш на разных устройствах.