Кто-нибудь знает сочетание клавиш (Mac и Linux) для переключения фокуса между редактором и встроенным терминалом в Visual Studio Code?

Abhijeet

Ответов: 24

Ответы (24)

Несмотря на то, что для VS Code есть множество модальных переключателей и ярлыков навигации, нет ни одного, специально предназначенного для «перехода из редактора в терминал и обратно». Однако вы можете составить два шага, перегрузив ключ и используя предложение when .

Откройте keybindings.json из редактора: CMD-SHIFT-P -> Настройки: откройте файл сочетаний клавиш и добавьте эти записи:

// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}

С помощью этих ярлыков я буду переключаться между редактором и интегрированным терминалом, используя одно и то же нажатие клавиши.

Ответ Шубхама Джайна - лучший вариант, теперь использующий встроенные сочетания клавиш.

Я нанес на карту enter image description here

на Ctrl + ;

и переназначены enter image description here

От

до Ctrl + L

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

Немного поздно в игре, но я настроил свой как следующий в keybindings.json:

{
    "ключ": "ctrl +` ",
    "команда": "workbench.action.terminal.focus",
    "когда": "editorTextFocus"
},
{
    "ключ": "ctrl +` ",
    «команда»: «workbench.action.focusActiveEditorGroup»,
    "когда": "terminalFocus"
},
{
    "ключ": "alt +` ",
    "команда": "workbench.action.terminal.toggleTerminal"
}

Мне нужны отдельные клавиши для открытия / закрытия терминала и переключения фокуса между окнами.

I configured mine as following since I found ctrl+` is a bit hard to press.

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

I also configured the following to move between editor group.

{
  "key": "ctrl+h",
  "command": "workbench.action.focusPreviousGroup",
  "when": "!terminalFocus"
},
{
  "key": "ctrl+l",
  "command": "workbench.action.focusNextGroup",
  "when": "!terminalFocus"
}

By the way, I configured Caps Lock to ctrl on Mac from the System Preferences => keyboard =>Modifier Keys.

Вот мой подход, который обеспечивает последовательный способ навигации между активными терминалами, а также переключение между панелями терминала и редактора без закрытия окна терминала. Вы можете попробовать добавить это непосредственно в свой keybindings.json, но я бы рекомендовал вам пройти через интерфейс привязки клавиш (cmd + K cmd + S на Mac), чтобы вы могли просматривать / управлять конфликты и т. д.

С этим я могу использовать ctrl + x <направление стрелки> для перехода к любому видимому редактору или терминалу. Как только курсор окажется в разделе терминала, вы можете использовать ctrl + x ctrl + up или ctrl + x ctrl + down для циклического перехода между активными терминалами.

cmd-J по-прежнему используется для скрытия / отображения панели терминала.

    {
        "key": "ctrl+x right",
        "command": "workbench.action.terminal.focusNextPane",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x left",
        "command": "workbench.action.terminal.focusPreviousPane",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x ctrl+down",
        "command": "workbench.action.terminal.focusNext",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x ctrl+up",
        "command": "workbench.action.terminal.focusPrevious",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x up",
        "command": "workbench.action.navigateUp"
    },
    {
        "key": "ctrl+x down",
        "command": "workbench.action.navigateDown"
    },
    {
        "key": "ctrl+x left",
        "command": "workbench.action.navigateLeft",
        "when": "!terminalFocus"
    },
    {
        "key": "ctrl+x right",
        "command": "workbench.action.navigateRight",
        "when": "!terminalFocus"
    },

Собственно, в VS Code 1.48.1 есть команда toggleTerminal; Не знаю, был ли он доступен в предыдущих версиях;) Вы можете использовать его в файле keybindings.json.

Это сработало для меня в Windows, а также должно работать в Linux.

{
    "ключ": "ctrl + alt + right",
    "команда": "workbench.action.terminal.toggleTerminal",
    "когда": "editorTextFocus || terminalFocus"
}

Привет, мои шаги по выполнению этой работы были:

  1. ctrl + shift + p и найдите настройки: сочетания клавиш

или вы можете использовать ctrl k + ctrl s, чтобы открыть его напрямую

  1. Посмотрите в поле поиска Терминал: Focus Terminal, я для себя настроил alt + T alt + T, но вы можете выбрать нужную комбинацию

  2. Найдите в поле поиска View: Focus Active Editor Group, настройте для себя alt + E alt + E, но снова вы можете выбрать комбинацию, которую вы хочу

Вот и все, надеюсь поможет

Для комбинации ctrl+` для переключения между ними, я попробовал все перечисленные ответы, но не повезло. Для тех, у кого такая же проблема, как у меня, попробуйте следующий ярлык в keybindings.json: Протестировано на VSCode 1.59 +

[
{
    "key": "ctrl+oem_8","command": "workbench.action.terminal.focus", "when": "!terminalFocus"
},
{
    "key": "ctrl+oem_8","command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"
}
]

enter image description here

Another option is to use F6 and shift+F6.

F6 does "Focus Next Part", which will move focus from the editor to Panel below (Terminal, Output, Debug Console, etc).

shift+F6 does "Focus Previous Part", which will move focus from Terminal panel back to editor.

The advantage of this over ctrl + ` is that:

  1. It does not hide the Terminal/Panel (if that's what you prefer. If you prefer to hide/unhide the Terminal, then just use ctrl + `).

  2. This will work with any of the Panels (Terminal, Output, Debug Console, etc).

Текст меняется в зависимости от раскладки клавиатуры (QWERTY / QWERTZ / AZERTA и т. Д.)

Чтобы узнать свой ярлык, нажмите Ctrl + Shift + P и перейдите в Настройки: Сочетания клавиш.

Оттуда ищите View: Toggle Terminal

final result

Ctrl+J работает; но также показывает / скрывает консоль.

control + '~' будет работать для переключения между ними. а '`' находится прямо над кнопкой табуляции. Этот ярлык работает только в Mac.

Попробуйте использовать ctrl + ` для переключения видимости терминала и, как следствие, переключения фокуса.

ctrl + - также работает, это означает возврат к предыдущей позиции курсора

Я сделал это, перейдя в «Настройки»> «Сочетания клавиш», затем в раздел, где он дает терминал фокуса типа панели поиска, и выбрал опцию. Он попросит ввести комбинацию, которую вы хотите установить для этого действия. Сделай это. Что касается фокуса редактора, введите «фокус редактора» в строке поиска и введите желаемый ключ. ЕСЛИ вы отлично добавите ключ. его можно удалить, отредактировав jason, как указано в комментариях выше

Обычно VS Code использует ctrl + j для открытия терминала, поэтому я создал привязку клавиш для переключения с комбинацией ctrl + k, как показано ниже в keybindings.json:

[
    {
        «ключ»: «ctrl + k»,
        "команда": "workbench.action.terminal.focus"
    },
    {
        «ключ»: «ctrl + k»,
        «команда»: «workbench.action.focusActiveEditorGroup»,
        "когда": "terminalFocus"
    }
]

100% рабочие настройки ...

[
    { "key": "alt+right", "command": "workbench.action.terminal.focus"},
    { "key": "alt+left", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}   
]

workbench.action.terminal.focus: Для переключения из редактора в терминал. workbench.action.focusActiveEditorGroup: Для переключения из терминала в редактор.

ПРОСТОЕ РЕШЕНИЕ ДЛЯ WINDOWS ДЛЯ ЛЮБОЙ КЛАВИАТУРЫ (может работать для других ОС, но не тестировалось)

Я использую финскую клавиатуру, поэтому ничего из вышеперечисленного не помогло, но это должно работать для всех клавиатур.

  • Фокус терминала: Наведите указатель мыши на текст терминала во встроенном терминале. Появится ярлык для фокусировки на терминале - например, мой сказал CTRL + ö.
  • Фокус редактора: как упоминалось выше, используйте CTRL + 1.

Мое решение:

  • имеет одну клавишу
  • если терминала еще нет: открывает терминал и фокусируется на нем
  • если фокус находится на терминале: скрыть панель и вернуться в редактор
  • , если фокус находится на редакторе и есть терминал: показывает панель терминала и фокусируется на ней
 {
    "ключ": "ctrl + shift + alt + cmd + t",
    "команда": "workbench.action.terminal.new",
    "когда": "! terminalIsOpen"
  },
  {
    "ключ": "ctrl + shift + alt + cmd + t",
    "команда": "terminal.focus",
    "когда": "terminalIsOpen &&! terminalFocus"
  },
  {
    "ключ": "ctrl + shift + alt + cmd + t",
    "команда": "workbench.action.closePanel",
    "когда": "terminalIsOpen && terminalFocus"
  }

ctrl+`: фокус на интегрированном терминале

ctrl+1: фокус на редакторе (если команда editor-2 будет ctrl+2)

enter image description here

Подробнее: https://www.rscoder.com/2020/11/14/how-to-switch-focus-between-editor-and-integrated-terminal-in-visual-studio-code/

Это не совсем то, о чем спрашивают, но я нашел это очень полезным и связанным.

Если кто-то хочет перейти с одного терминала на другой терминал, также открытый на интегрированной панели терминалов Visual Studio, вы можете выполнить поиск по:

Терминал: Перейти к следующему терминалу

Или добавьте следующее сочетание клавиш и сделайте это быстрее с помощью комбинации клавиш.

 {
    "ключ": "alt + cmd + right",
    «команда»: «workbench.action.terminal.focusNext»,
    "когда": "terminalFocus"
  },
  {
    "ключ": "alt + cmd + left",
    «команда»: «workbench.action.terminal.focusPrevious»,
    "когда": "terminalFocus"
  },

Вот способ добавить собственную привязку клавиш для переключения фокуса.

  1. Откройте свой VSCode
  2. Нажмите Ctrl + Shift + P, найдите сочетания клавиш и нажмите это (Настройки: Открыть сочетания клавиш).
  3. Найдите 'focus terminal' на панели поиска и найдите эту опцию (Terminal: Focus on Terminal View) и щелкните значок плюса.

enter image description here

  1. Введите ярлык, который вам нравится, который не используется, и нажмите Enter.
  2. Перейдите в режим редактора и попробуйте использовать ярлык.
  3. Теперь нажмите Alt + Shift + T, чтобы перейти в терминал.
  4. Хотите вернуться в редактор? Просто нажмите Ctrl + tab

Протестировано на компьютере с Windows 10 с VSCode (1.52.1)

The default keybinding to toggle the integrated terminal is "Ctrl+`" according to VS Code keyboard shortcuts documentation page. If you don't like that shortcut you can change it in your keybindings file by adding something similar to:

{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }

There does not seem to be a default keybinding for simply focusing the bottom panel. So, if you do not want to toggle the bottom panel, you will need to add something similar to the following to your keybindings file:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }

Начиная с версии: 1.26.1 (linux), ярлык не установлен по умолчанию. Для установки ярлыка

  1. открыть панель быстрых клавиш [ctrl + k, ctrl + s]
  2. Искать Focus Terminal

enter image description here

  1. Установите ярлык

Для редактора фокус уже установлен по умолчанию.

enter image description here

2022 WebDevInsider