Перемикайте фокус між редактором та інтегрованим терміналом у Visual Studio Code


511

Хтось знає комбінацію клавіш (Mac і Linux), щоб переключити фокус між редактором та інтегрованим терміналом у Visual Studio Code?


25
ctrl + '' 'буде найкращим#-> Linux
мутхукумар гелій

13
ctrl + '' 'також працює в OS X без будь-якого додаткового прив’язки клавіш.
nataliastanko

2
ctrl+ '' 'працює і з Windows бездоганно!
Ehtesham Z

Відповіді:


980

Незважаючи на те, що для VS-коду існує багато модальних перемикань та ярликів навігації, немає спеціально для "переміщення з редактора до терміналу та повернення знову". Однак ви можете скласти два етапи, перевантаживши keyі використовуючи 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"}

За допомогою цих ярликів я зупинюсь між редактором та інтегрованим терміналом, використовуючи ту саму клавішу.


20
На сьогоднішній день це найкраща відповідь як найбільш ергономічно виправдане рішення: розширення існуючої прив'язки ключів. Кудо!
mloskot

7
Дякую, це спрацювало чудово і економить багато часу. Для користувачів міжнародних клавіатур: "ctrl+`"можна вказати як "ctrl+oem_3".
esel

7
Поведінка @Roman 1.18.0, безумовно, покращилася з тих пір, коли я написав свою відповідь, але я вважаю, що вище все ще краще. Різниця в тому, що термінал не зникне при використанні натискання клавіші, лише фокус зміститься. Мені здається, мені подобається зберігати свій термінал :)
wgj

37
Зауважте, що ці ярлики слід вставити у keybindings.jsonфайл.
псевдомарвін

41
Відкрийте keybindings.json у редакторі: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Також приємний ресурс: code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+` : Зосередити увагу на інтегрованому терміналі

ctrl+1 : Зосередити увагу на редакторі (якщо в команді редактора-2 було б ctrl+ 2)

введіть тут опис зображення

Більше інформації: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
де чорт `на будь-якій клавіатурі 🙄
Ewoks

6
трохи нижче клавіші esc :)
Рахул Шукла,

5
Дякую. Ctrl + 1 - це те, що мені потрібно, так як у деяких випадках, ctrl + `відкриє зовнішній термінал і не може використовувати це знову для повернення до редактора VSCode
Thang Nguyen

2
найпростіша і найточніша відповідь.
Томаш

3
Control + '~' буде працювати для перемикання між ними. Я використовую вже досить давно.
surender pal


54

Трохи пізно в грі, але я налаштував мою як наступну в keybindings.json:

{
    "key": "ctrl+`",
    "command": "workbench.action.terminal.focus",
    "when": "editorTextFocus"
},
{
    "key": "ctrl+`",
    "command": "workbench.action.focusActiveEditorGroup",
    "when": "terminalFocus"
},
{
    "key": "alt+`",
    "command": "workbench.action.terminal.toggleTerminal"
}

Мені потрібні окремі клавіші для відкриття / закриття терміналу та перемикання фокусу вперед і назад між вікнами.


4
Картограф, alt+`здається, баггі - відслідковується на веб-
Бен

2
Мені було altлегше натиснути ctrl, тому в моїй конфігурації це навпаки.
xji

Це чудова пропозиція, хоча я вирішив зберегти оригінальні прив’язки та використовувати altдля перемикання фокусу.
Містер

@BenCreasy Це лише для macOS, у Windows це працює чудово.
Kotauskas

24

Станом на версію: 1.26.1 (Linux) ярлик не встановлений за замовчуванням. Щоб встановити ярлик

  1. відкрити панель комбінацій клавіш [ctrl + k, ctrl + s]
  2. Пошук терміналу фокусування

введіть тут опис зображення

  1. Встановіть ярлик

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

введіть тут опис зображення


Оскільки вони надають додаткові відображення на клавіатурі, ця відповідь простіша та швидша
LookAheadAtYourTypes

Це фокусується на першій редакторській групі - можливо, не те, чого хоче ОП. Напевно, хоче поточна / активна редакторська група.
Марк

1
Це відповідь на 2020 рік і що-небудь> = 1,45,0
chrismarx

Чудово. Дякую за ясність тут.
Fiddy Bux

18

Я налаштував мою так, оскільки знайшов ctrl+ `трохи важко натиснути.

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

Я також налаштував наступне для переміщення між групою редакторів.

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

До речі, я налаштований Caps Lockна ctrlна Mac з System Preferences => keyboard =>Modifier Keys.


8

За замовчуванням прив'язка клавіш для перемикання інтегрованого терміналу - "Ctrl +` "відповідно до сторінки документації із комбінаціями клавіш vscode . Якщо цей ярлик вам не подобається, ви можете змінити його у вашому файлі зв’язків, додавши щось подібне до:

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

Здається, що за замовчуванням не існує клавіатури для простого фокусування нижньої панелі. Отже, якщо ви не хочете перемикати нижню панель, вам потрібно буде додати щось подібне до наступного до вашого файлу сполучень клавіш:

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

Ідеально, дякую! Я шукаю другу відповідь, яку ви згадали. Якщо хтось цікавиться ярликом клавіатури, щоб повернути фокус до редактора, це: Command + 1 (на Mac)
Abhijeet

Я думаю, що focusPanelце стосується загального регіону (включайте такі речі, як "Проблеми", "Вихідні дані" та "Консоль налагодження". Також є дія спеціально для інтегрованого терміналу workbench.action.terminal.focus.
wgj

8

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


3

Це не саме те, що просять, але я вважаю це дуже корисним і пов'язаним.

Якщо хтось хоче перейти з одного терміналу на інший, також відкрийте його на панелі інтеграції терміналів Visual Studio, ви можете шукати:

Terminal: Focus Next Terminal

Або додайте наступну комбінацію клавіш і зробіть це швидше за допомогою комбінації клавіатури.

  {
    "key": "alt+cmd+right",
    "command": "workbench.action.terminal.focusNext",
    "when": "terminalFocus"
  },
  {
    "key": "alt+cmd+left",
    "command": "workbench.action.terminal.focusPrevious",
    "when": "terminalFocus"
  },

Я сподіваюся, що це допоможе комусь іншому.


3

Відповідь Shubham Jain є найкращим варіантом використання вбудованих комбінацій клавіш.

Я склав карту введіть тут опис зображення

до Ctrl+;

і переоформлено введіть тут опис зображення

до Ctrl+L

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


Це вирішило це для мене! Комбінації клавіш -> Terminal: Focus Terminal ( workbench.action.terminal.focus ) -> змінив прив'язку клавіш до потрібної комбінації. Працює на vscode Insiders 1.43.0
jeppoo1

2

Як правило, проти коду використовується ctrl+jдля відкриття терміналу, тому я створив прив'язку клавіш для перемикання ctrl+kкомбінацій, як показано нижче за адресою keybindings.json:

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

0

ПРОСТІ РІШЕННЯ ВІННІВ ДЛЯ БУДЬ-ЯКОГО КЛЮЧОВОГО РОЗВИТКУ (може працювати для інших ОС, але не перевіряється)

Я використовую фінську клавіатуру, тому жодне з перерахованих вище не працювало, але це повинно працювати для всіх клавіатур.

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

-1

Я зробив це, перейшовши в налаштування> Комбінації клавіш, а потім у розділі, де вказується термінал фокусування на панелі пошуку, і виберіть опцію. Він попросить ввести комбінацію, яку ви хочете встановити для цієї дії. Зроби це. Що стосується фокуса редактора, введіть у полі пошуку "фокус редактора" та введіть потрібну клавішу. ЯКЩО ви чудово додасте ключ. її можна видалити, відредагувавши Джейсон, як згадувалося в коментарях вище


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.