Czy w programie Visual Studio Code jest funkcja kart szybkiej zmiany?

325

Obecna funkcja oferowania mi rozwijanej opcji, którą kartę wybrać, jest po prostu bardzo denerwująca. Czy istnieje możliwość jej usunięcia, aby karty działały jak w nowoczesnej przeglądarce internetowej?

Jodalr
źródło
8
Nie mogę wystarczająco podkreślić, jak bardzo jest to denerwujące. Z VSCode i innymi edytorami.
Kai Noack,

Odpowiedzi:

587

Domyślnie Ctrl+ Tabw programie Visual Studio Code przełącza karty w kolejności ostatnio używanych. Jest to mylące, ponieważ zależy od stanu ukrytego.

Przeglądarki przeglądają karty w widocznej kolejności. Jest to o wiele bardziej intuicyjne.

Aby to osiągnąć w programie Visual Studio Code, musisz edytować keybindings.json. Użyj palety poleceń z CTRL+SHIFT+P, wpisz „Preferencje: Otwórz skróty klawiaturowe (JSON)” i naciśnij Enter.

Następnie dodaj na końcu pliku:

[
    // ...
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditor"
    }
]

Alternatywnie, aby przełączać się tylko między kartami bieżącego widoku okna / podziału, możesz użyć:

[
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditorInGroup"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditorInGroup"
    }
]

Alternatywnie możesz użyć Ctrl+ PageDown(Windows) lub Cmd+ Option+ Right(Mac).

SC_Chupacabra
źródło
3
W rzeczywistości nie naśladuje zachowania rozwijanego. Dzięki tym skrótom klawiszowym możesz po prostu nawigować po kartach w prawo ( ctrl+tab) lub w lewo ( ctrl+shift+tab). Aby poruszać się na kartach historii opartych nich korzystać: { "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }.
Parzysty od
1
@GabrielZiegler Wiem, prawda. Firefox używa również tego trybu kart.
Permana,
1
@evenfrost OP nie chce nawigować na podstawie historii, więc ta odpowiedź jest dobra.
Stephen Mariano Cabrera
4
A kto nie zapewnia opcji zmiany zachowania tej karty, zamiast tego trzeba edytować plik skrótów klawiszowych ?!
Kai Noack,
2
Ludzie, którzy chcą nas widzieć, cierpią, to kto.
Frans
193

@Combii znalazłem sposób na zamianę

CMD + 1 , CMD + 2 , CMD + 3 z CTRL + 1 , CTRL + 2 , CTRL + 3 , ...

W systemie macOS przejdź do:

Kod> Preferencje> Skróty klawiaturowe

Na tej stronie kliknij przycisk w prawym górnym rogu strony ...

przycisk edycji keybindings.json

i dołącz konfigurację poniżej, a następnie zapisz.

[
    {
        "key": "cmd+0",
        "command": "workbench.action.openLastEditorInGroup"
    },
    {
        "key": "cmd+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "cmd+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "cmd+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "cmd+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "cmd+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "cmd+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "cmd+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "cmd+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "cmd+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]

Teraz możesz używać CMD + [1-9], aby przełączać się między kartami, a CTRL + [1-3], aby skupiać grupy edytorów! Mam nadzieję, że ta odpowiedź jest pomocna.

yiyuan lv
źródło
4
alt + n robi to już w systemie Windows, jestem pewien, że istnieje odpowiednik Mac
Dominic
12
na Macu odpowiednikiem jest control + n. Uważam, że jest to nieintuicyjne, ponieważ większość programów domyślnie używa cmd + n do nawigacji po kartach. Zmiana tych dwóch zachowań oznacza, że ​​możesz polegać na pamięci mięśniowej podczas próby poruszania się po kartach.
Langlois.dev,
Myślę, że na Macu po prostu portują ustawienia systemu Windows ze zmianą poleceń w celu sterowania niektórymi funkcjami (np. Karta przełącznika) i nie przenoszą innych (np. Otwieranie i zamykanie karty terminala). Jest to bardzo niewygodne.
alanwsx
6
Ponadto w najnowszej wersji (kwi2019) możesz po prostu wyszukać te elementy ( workbench.action.openEditorAtIndex1) i zmienić je. Nie musisz iść do keybindings.json.
alanwsx
3
Od wersji 1.38.1 (dla OSX) jest to nieaktualne. Zgodnie z dokumentacją przejdź do, Preferences > Keyboard Shortcutsa następnie kliknij ikonę po prawej stronie paska tytułu edytora. Otworzy się keybindings.json.
Adam_G
51

Windows

Korzystając z programu Visual Studio Code w systemie Windows, możesz użyć, CTRL + PAGE_UPaby przejść do poprzedniej karty i CTRL + PAGE_DNprzejść do następnej karty.

Masz również możliwość przełączania się na karty na podstawie ich (niezerowego względnego) indeksu. Możesz to zrobić, naciskając i przytrzymując ALT, a następnie cyfrę (od 1 do 9).

System operacyjny Mac

Aby szybko nawigować między kartami, naciśnij i przytrzymaj CMDklawisz, a następnie numer (od 1 do 9) karty, na którą chcesz się przełączyć.

Możesz także przełączać się między poprzednią / następną zakładką za pomocą CMD + ALT + LEFT/RIGHTskrótu klawiaturowego.

Należy pamiętać, że aby przejść do karty znajdującej się w innej grupie edytorów, musisz najpierw przełączyć się na żądaną grupę edytorów.

Pro Wskazówka : jeśli nie czujesz się dobrze z którymkolwiek z klawiszy, możesz je zmienić na coś, co bardziej ci odpowiada!

Brynden Bielefeld
źródło
2
CTRL + ALT + STRZAŁKA W LEWO / PRAWO i CTRL + kopiuj tylko tabulatory do nowej grupy kart
yodalr 16.08.16
Instrukcje były jasne wcześniej, po prostu nie działa na WINDOWS. Kiedy naciskam ctrl + alt + lewy - nic się nie dzieje, a kiedy naciskam ctrl + alt + prawy, przenosi tabulator do dodatkowych sekcji tabulatorów po prawej stronie.
yodalr
2
@yodalr w systemie Windows, aby przełączać się między kartami, naciskasz jeden CTRL + PAGE_UPlub CTRL + PAGE_DN, w zależności od tego, w jaki sposób chcesz jeździć . CTRL + ALT + LEFTi nieCTRL + ALT + RIGHT są to skróty klawiaturowe, które wymieniłem dla systemu Windows.
Brynden Bielefeld,
6
Hmm, to nie wydaje się działać zgodnie z opisem. Na Macu Cmd + Num przełącza między grupą kart (podzielone okna). Chcę to zrobić dla kart w tej samej grupie. Czy byłbym w stanie to zrobić?
huggie
@huggie Widzę takie samo zachowanie w OSX. Czy znalazłeś sposób, aby to odwzorować?
Prefiks
31

Działa to również w systemie Mac OS :

Poprzednia karta: Shift+ Cmd+[

Następna karta: Shift+ Cmd+]

obrzęk
źródło
24

macOS - zmieniony w 2017 r

W 2017 r. Skróty klawiaturowe VS CODE zmieniono na CTRL+ 1, CTRL+ 2, CTRL+ 3itd. , Aby przełączać się między kartami.

CMD+1, CMD+2, and CMD+3 przełączaj się i twórz tab groups

Alex Smith
źródło
11
Czy można to zmienić na CMD+1, CMD+2, and CMD+3zamiast CTRL+1, CTRL+2, CTRL+3?
David
A także CMD + ALT + LEFT/RIGHTpo prostu cyklicznie wszystkie karty we wszystkich grupach.
Davos,
10

Windows

poprzedni

Ctrl+ Shift+Tab

Kolejny

Ctrl + Tab

System operacyjny Mac

poprzedni

Shift+ Cmd+[

Kolejny

Shift + Cmd +]

Niebieski
źródło
Twoja odpowiedź powinna być na górze
outsider
5

Lepiej approch jest stosowanie alt + lewy + prawy alt i klucze do poruszania się jak JetBrains IDE Webstorm robi

Oto moja konfiguracja. obejmuje także tworzenie nowego pliku i folderu

    {
        "key": "ctrl+n",
        "command": "explorer.newFile"
    },
    {
        "key": "ctrl+shift+n",
        "command": "explorer.newFolder"
    },
    { 
        "key": "alt+left",
        "command": "workbench.action.previousEditor" 
    },
    { 
        "key": "alt+right",
        "command": "workbench.action.nextEditor" 
    }
Piyush Patel
źródło
1
Przesłonięcie alt + prawo / lewo zapobiega domyślnemu, przydatnemu zachowaniu edytora, aby przesuwać kursor do poprzedniego / następnego słowa.
karni
3

dla Linuksa ... Używam ctrl + pageUp lub pageDown

jmsalcido
źródło
3

Visual Studio Code v1.35.0 pozwala ustawić sekwencje klawiszy ( Ctrl+ Tab) / ( Shift+ Ctrl+ Tab) w celu sekwencyjnego przełączania się między edytorami poprzez powiązanie tych sekwencji klawiszy odpowiednio z poleceniami „Widok: Otwórz następny edytor” i „Widok: Otwórz poprzedni edytor” .

Na macOS:

  1. Przejdź do: Kod> Preferencje> Skróty klawiaturowe
  2. Wyszukaj lub przejdź do następujących dwóch opcji:
    • Widok: Otwórz następny edytor
    • Zobacz: otwórz poprzedni edytor
  3. Zmień oba skróty klawiszowe na żądaną sekwencję klawiszy.
    • Widok: Otwórz następny edytor -> ( Ctrl+ Tab)
    • Widok: Otwórz poprzedni edytor -> ( Shift+ Ctrl+ Tab)
  4. Prawdopodobnie natrafisz na sprzeczne powiązanie. Jeśli tak, zanotuj polecenie i przypisz lub usuń istniejące powiązanie klawiszy.

Jeśli się zepsujesz, zawsze możesz wrócić do stanu domyślnego dla danego powiązania, klikając prawym przyciskiem myszy dowolne przypisanie klawiszy i wybierając „Resetuj powiązanie”.

m0nsoon
źródło
1
Dzięki, koleś, zapętlałem za to cały internet!
Pall Arpad
2

Działa to również w systemie Mac OS :

Naciśnij, aby wybrać konkretną kartę: Control+ 1 lub Control2, Control3 itd.

Naciśnij, aby wyświetlić / wybrać wszystkie dostępne zakładki: Control+ Tab.

mdiiorio
źródło
2

Mapa kluczy systemu Linux pasująca do przeglądarki:

[
    {
        "key": "ctrl+0",
        "command": "workbench.action.lastEditorInGroup"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "ctrl+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "ctrl+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "ctrl+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "ctrl+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "ctrl+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "ctrl+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "alt+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "alt+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "alt+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]
hugomosh
źródło
1

Innym sposobem na szybką zmianę kart byłby VSCode 1.45 (kwiecień 2020)

Przełączaj karty za pomocą kółka myszy

Kiedy używasz kółka myszy do przewijania kart edytora, nie możesz obecnie przejść do karty, tylko ujawnić karty, które są niewidoczne.

Teraz z nowym ustawieniem workbench.editor.scrollToSwitchTabsto zachowanie można zmienić, jeśli zmienisz je na true.

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_45/scroll-tabs.gif

Uwaga: możesz także nacisnąć i przytrzymać Shiftklawisz podczas przewijania, aby uzyskać odwrotne zachowanie (tzn. Możesz przełączać się na zakładki nawet przy wyłączonym tym ustawieniu).

VonC
źródło
0

Korzystając z programu Visual Studio Code w systemie Linux / Windows, możesz użyć CTRL + PAGE_UP, aby przejść do poprzedniej karty, a CTRL + PAGE_DN, aby przejść do następnej karty. Masz również możliwość przełączania się na karty na podstawie ich (niezerowego względnego) indeksu. Możesz to zrobić, naciskając i przytrzymując klawisz ALT, a następnie cyfrę (od 1 do 9).

Aby uzyskać więcej informacji: sprawdź tutaj

Shiv Kumar Singh
źródło
0

Użyj Sublime Text Keymaps. O wiele bardziej intuicyjny.

km

Importuj wysublimowane mapy tekstowe:

Name: Sublime Text Keymap and Settings Importer
Id: ms-vscode.sublime-keybindings
Description: Import Sublime Text settings and keybindings into VS Code.
Version: 4.0.3
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
relik
źródło
0

@SC_Chupacabra ma poprawną odpowiedź na modyfikację zachowania.

Zazwyczaj wolę CTRL+ PAGE UP / DOWNdo nawigacji niż przy użyciu klawisza TAB.

    {
        "key": "ctrl+pageUp",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+pageDown",
        "command": "workbench.action.previousEditor"
    }
openwonk
źródło
0

Nie mogłem znaleźć posta dla VS Community, więc opublikuję tutaj moje rozwiązanie.


Najpierw musisz przejść do Narzędzia -> Opcje -> Środowisko -> Klawiatura, a następnie znaleźć polecenie Window.NextTab. Na dole powinno być napisane „Użyj nowego skrótu w:”. Ustaw opcję Globalna (powinna być domyślna), a następnie wybierz pole tekstowe po prawej stronie i naciśnij Ctrl+ Tab. Usuń wszystkie bieżące skróty dla wybranego polecenia i naciśnij Przypisz. Dla Ctrl+ Shift+ Tabpolecenie powinno brzmieć Window.PreviousTab.

Mam nadzieję, że to pomoże :) Jeśli istnieje osobny post dla VS Community, chętnie przeniesie ten post.

supsm
źródło