Как переключать курсор между терминалом и кодом в VSCode?

Вопрос или проблема

Я только начал использовать VSCode и ищу способ переключаться между вводом кода и терминалом (внутри VSCode) с помощью комбинации клавиш. Искал в интернете, но лучшее, что я смог найти, это закрыть и открыть терминал.

Есть идеи, как это сделать?

Мне сложно нажимать CTRL+`. Также терминал закрывается, когда мы нажимаем CTRL+'

Поэтому я настроил свои клавиши следующим образом:

{
  "key": "ctrl+j",
  "command": "workbench.action.focusActiveEditorGroup",
  "when": "!terminalFocus"
},
{
  "key": "ctrl+k",
  "command": "workbench.action.terminal.focus",
  "when": "terminalFocus"
}

Шаги для настройки:

  1. Перейдите в: Файл > Предпочтения > сочетания клавиш
  2. Затем в строке поиска введите focus terminal
  3. Выберите workbench.action.terminal.focus, затем нажмите CTRL+k или нажмите свою пользовательскую клавишу и затем нажмите Enter.
  4. Аналогично, в строке поиска введите focus active editor group
  5. Выберите workbench.action.focusActiveEditorGroup, затем нажмите CTRL+j или нажмите свою пользовательскую клавишу и затем нажмите Enter.

После вышеуказанной настройки:

  • Нажмите CTRL+k, чтобы сфокусироваться на терминале
  • Нажмите CTRL+j, чтобы сфокусироваться на коде без закрытия терминала

Смотрите этот вопрос/ответ Переключение фокуса между редактором и встроенным терминалом в Visual Studio Code на Stackoverflow, думаю, что ответ @Trav L может быть близким. Но нужно настроить немного больше.

VS Code v1.26.1 в качестве базовой версии

  1. Откройте редактор сочетаний клавиш из меню Файл->Предпочтения->Сочетания клавиш (Ctrl+K Ctrl+S)
  2. Нажмите на ссылку keybindings.json в верхней части экрана.
  3. Перепишите ваши пользовательские сочетания клавиш на правой панели, файл 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"}
  1. Теперь вы можете переключать позицию курсора, нажимая ту же клавишу 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+` переключался между терминалом и текстовым редактором, выполните следующие действия:

  1. Откройте файл keybinding.json: Ctrl+Shift+P, затем выберите Preferences: Open Keyboard Shortcuts (JSON).

  2. Добавьте следующую строку:

  { "key": "ctrl+`", "command": "workbench.action.terminal.toggleTerminal" },
  1. Сохраните и закройте файл 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”:

  1. CTRL + K +CTRL +S иначе Файлы > Предпочтения > Сочетание клавиш

    найдите эту команду

    workbench.action.terminal.focus

    и затем добавьте ваше предпочтительное сочетание клавиш для этой команды
    увеличение команд в vscode

  2. чтобы сфокусироваться на вашем коде, вам нужно установить следующую команду

    workbench.action.focusActiveEditorGroup

  3. чтобы сфокусироваться на проводнике файлов vscode, вам нужно установить следующую команду

    workbench.files.focusFilesExplorer

и больше нет необходимости искать мышью или покидать клавиатуру ради сенсорной панели

Вот и все, друзья! Надеюсь, вы потратите меньше энергии на свою сенсорную панель …!

В случае, если кто-то хочет переключаться между окном редактора сверху и панелью снизу, независимо от того, открыт ли сейчас Терминал, Консоль отладки, Окно вывода или Окно проблем, вы можете использовать этот код:

{ 
    "key": "ctrl+.", 
    "command": "workbench.action.focusPanel"
},
{ 
    "key": "ctrl+.", 
    "command": "workbench.action.focusActiveEditorGroup", 
    "when": "panelFocus"
}

Мне понадобилось время, чтобы понять, что странно, это focusPanel в команде, но panelFocus в условии “when”.

Обратите внимание, что в моем примере я использую “ctrl+.”, а не “ctrl.+`”.

Чтобы переключаться между терминалом и текстовым редактором в VSCode с помощью сочетания клавиш, вот что я нашел:

  1. Перейдите в Настройки > Предпочтения > Сочетания клавиш.
  2. В строке поиска введите workbench.action.terminal.focusAtIndex1.
  3. Назначьте сочетание клавиш, которое вам нравится, для этой команды.

Для справки, я использую версию 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. Настройка клавиатурных сокращений

  1. Открытие настроек клавиатурных сокращений:

    • Откройте меню: ФайлНастройкиКлавиатура... или используйте комбинированную клавишу Ctrl+K Ctrl+S.
  2. Перенастройка команд:

    • В строке поиска введите 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:

  1. Откройте командную палитру с помощью Ctrl+Shift+P.
  2. Введите Preferences: Open Keyboard Shortcuts (JSON) и выберите данный пункт.
  3. Вставьте следующие строки кода:
[
    { 
        "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"

Если вы хотите быстро переключать терминал с помощью одной клавиши, используйте следующее:

  1. Откройте keybindings.json.
  2. Добавьте следующую строку, чтобы включить функцию переключения терминала:
{ "key": "ctrl+`", "command": "workbench.action.terminal.toggleTerminal" }

Заключение

После настройки указанных выше клавиатурных сокращений вы сможете легко и быстро переключаться между редактором и терминалом, улучшая вашу продуктивность. Вы можете использовать Ctrl + K для фокуса на терминале и Ctrl + J для возврата к редактору. Если вам нужно больше возможностей, рассматривайте использование расширений, таких как Settings Sync, чтобы синхронизировать ваши настроенные сочетания клавиш на разных устройствах.

Оцените материал
Добавить комментарий

Капча загружается...