Przełącz fokus między edytorem a zintegrowanym terminalem w Visual Studio Code


511

Czy ktoś zna skrót klawiaturowy (Mac i Linux) do przełączania fokusa między edytorem a zintegrowanym terminalem w Visual Studio Code?


25
ctrl + '' będzie najlepszy#-> Linux
muthukumar helius

13
ctrl + '' 'działa także na OS X bez żadnego dodatkowego przypisania klawisza.
nataliastanko

2
ctrl+ „” działa również bezbłędnie w systemie Windows!
Ehtesham Z

Odpowiedzi:


980

Podczas gdy istnieje wiele modalnych przełączników i skrótów nawigacyjnych dla VS Code, nie ma jednego specjalnie dla „przejścia z edytora do terminalu iz powrotem”. Można jednak skomponować dwa kroki, przeciążając keyi używając when klauzuli .

Otwórz keybindings.json w edytorze: CMD-SHIFT-P -> Preferencje: Otwórz plik skrótów klawiaturowych i dodaj następujące wpisy:

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

Za pomocą tych skrótów skupię się między edytorem a terminalem zintegrowanym, używając tego samego klawisza.


20
Zdecydowanie jest to najlepsza odpowiedź jako najbardziej ergonomicznie uzasadnione rozwiązanie: rozszerzenie istniejącego powiązania klawiszy. Sława!
mloskot

7
Dzięki, działało dobrze i oszczędza dużo czasu. Dla użytkowników klawiatur międzynarodowych: "ctrl+`"można określić jako "ctrl+oem_3".
esel

7
Zachowanie @Roman 1.18.0 jest z pewnością poprawą od czasu, gdy napisałem odpowiedź, ale myślę, że powyższe jest jeszcze lepsze. Różnica polega na tym, że terminal nie zniknie po naciśnięciu klawisza, tylko ostrość się zmieni. Uwielbiam wyświetlać mój terminal :)
wgj

37
Pamiętaj, że te skróty należy wkleić do keybindings.jsonpliku.
pseudomarvin

41
Otwórz keybindings.json w edytorze: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Również niezły zasób: code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+` : Skoncentrowanie się na zintegrowanym terminalu

ctrl+1 : Aby skupić się na edytorze (jeśli polecenie edytora-2 byłoby ctrl+ 2)

wprowadź opis zdjęcia tutaj

Więcej informacji: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
gdzie do diabła jest „na dowolnej klawiaturze”
Ewoks

6
tuż poniżej klawisza esc :)
Rahul Shukla

5
Dziękuję Ci. Ctrl + 1 jest tym, czego potrzebuję, ponieważ w niektórych przypadkach ctrl + `otworzy terminal zewnętrzny i nie może go użyć ponownie, aby wrócić do edytora VSCode
Thang Nguyen

2
najprostsza i najdokładniejsza odpowiedź imho.
Tomas

3
Control + '~' będzie działać na przełączanie między nimi. Używam od dłuższego czasu.
surender pal


54

Trochę późno do gry, ale skonfigurowałem mój w następujący sposób 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"
}

Chciałem osobnych kluczy do otwierania / zamykania terminala i przełączania fokusa tam i z powrotem między oknami.


4
Mapowanie alt+`wydaje się być błędne
Ben Creasy

2
altŁatwiej mi było nacisnąć niż ctrl, więc w mojej konfiguracji jest odwrotnie.
Xji

To świetna propozycja, chociaż zdecydowałem się zachować oryginalne wiązania i użyć altprzełącznika fokusu.
Pan Duhart

@BenCreasy To tylko dla systemu macOS, w systemie Windows działa to dobrze.
Kotauskas

24

Od wersji: 1.26.1 (linux) skrót nie jest ustawiony domyślnie. Aby ustawić skrót

  1. otwórz panel skrótów klawiaturowych [ctrl + k, ctrl + s]
  2. Wyszukaj Focus Terminal

wprowadź opis zdjęcia tutaj

  1. Ustaw skrót

W przypadku edytora fokus jest już ustawiony domyślnie.

wprowadź opis zdjęcia tutaj


Ponieważ zapewniają dodatkowe odwzorowania klawiatury, ta odpowiedź jest prostsza i szybsza
LookAheadAtYourTypes

To skupia pierwszą grupę redaktorów - może nie być tym, czego chce OP. Prawdopodobnie chce bieżącej / aktywnej grupy redaktorów.
Mark

1
To jest odpowiedź na 2020 rok i wszystko> = 1.45.0
chrismarx

Świetny. Dziękuję za jasność tutaj.
Fiddy Bux

18

Skonfigurowałem mój w następujący sposób, ponieważ znalazłem, że ctrl+ `jest trochę trudny do naciśnięcia.

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

Skonfigurowałem również następujące elementy, aby przechodzić między grupami edytorów.

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

Nawiasem mówiąc, ja skonfigurowany Caps Lockdo ctrlMac z System Preferences => keyboard =>Modifier Keys.


8

Domyślnym skrótem klawiszowym do przełączania zintegrowanego terminalu jest „Ctrl + '” zgodnie ze stroną dokumentacji skrótów klawiszowych vscode . Jeśli nie podoba ci się ten skrót, możesz go zmienić w pliku skrótów klawiszowych, dodając coś podobnego do:

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

Wygląda na to, że nie ma domyślnego skrótu do zwykłego ustawiania ostrości na dolnym panelu. Jeśli więc nie chcesz przełączać dolnego panelu, musisz dodać coś podobnego do następującego w pliku skrótów klawiszowych:

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

Perfekcyjnie, dzięki! Szukam drugiej odpowiedzi, o której wspomniałeś. Jeśli ktoś zastanawia się nad skrótem klawiaturowym, aby przenieść fokus z powrotem do edytora, jest to: Command + 1 (na komputerze Mac)
Abhijeet

Myślę, że focusPaneldotyczy ogólnego regionu (obejmują takie rzeczy, jak „Problemy”, „Wyjście” i „Konsola debugowania”. Istnieje również akcja specjalnie dla zintegrowanego terminala workbench.action.terminal.focus.
wgj

8

Spróbuj użyć klawiszy ctrl + `, aby przełączyć widoczność terminala, a w rezultacie przełączyć fokus.


3

Nie jest dokładnie tym, o co pytamy, ale uważam, że jest to bardzo przydatne i powiązane.

Jeśli ktoś chce zmienić z jednego terminala na inny, również otwarty w zintegrowanym panelu terminali Visual Studio, możesz wyszukać:

Terminal: Focus Next Terminal

Lub dodaj następujący skrót klawiaturowy i rób to szybciej dzięki kombinacji klawiszy.

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

Mam nadzieję, że to pomaga komuś innemu.


3

Odpowiedź Shubhama Jaina jest teraz najlepszą opcją przy użyciu wbudowanych skrótów klawiaturowych.

Zmapowałem wprowadź opis zdjęcia tutaj

do Ctrl+;

i odwzorowano wprowadź opis zdjęcia tutaj

do Ctrl+L

W ten sposób możesz przenosić fokus między terminalem a edytorem i przełączać terminal w bliskiej odległości.


To rozwiązało dla mnie! Skróty klawiaturowe -> Terminal: Terminal ostrości ( workbench.action.terminal.focus ) -> zmienił kombinacja klawiszy do mojego pożądanej kombinacji. Działa na vscode Insiders 1.43.0
jeppoo1

2

Ogólnie rzecz biorąc, kod vs używa ctrl+jdo otwarcia terminala, więc utworzyłem skrót klawiszowy do przełączania z ctrl+kkombinacją, jak poniżej keybindings.json:

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

0

PROSTE ROZWIĄZANIE WINDOWS DO KAŻDEGO UKŁADU KLAWIATURY (może działać na innym systemie operacyjnym, ale nie zostało przetestowane)

Używam fińskiej klawiatury, więc żadna z powyższych nie działała, ale powinno to działać na wszystkich klawiaturach.

  • Nacisk na terminal: najedź kursorem na tekst terminala w zintegrowanym terminalu . Pojawi się skrót do skupiania się na terminalu - mój na przykład powiedział CTRL + ö.
  • Uwaga edytora: jak wspomniano powyżej, użyj CTRL + 1.

-1

Zrobiłem to, przechodząc do ustawienia> Skróty klawiaturowe, a następnie w sekcji, w której podano terminal fokusowy typu paska wyszukiwania i wybierz opcję. Zostaniesz poproszony o wpisanie kombinacji, którą chcesz ustawić dla tej akcji. Zrób to. Jeśli chodzi o fokus edytora, w pasku wyszukiwania wpisz „fokus edytora” i wpisz żądany klawisz. JEŚLI doskonale dodasz klucz. można go usunąć, edytując Jason, jak wspomniano w powyższych komentarzach


-1

Ctrl + „~” będzie działać na przełączanie między nimi. i „ ` ”jest tuż nad klawiszem tab.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.