Existe uma função de guias de alteração rápida no código do Visual Studio?

325

A função atual de me dar uma opção suspensa de qual guia escolher é tão irritante. Existe a possibilidade de removê-lo para que as guias funcionassem como em algum navegador moderno.

yodalr
fonte
8
Não posso enfatizar o suficiente como isso é irritante. Com VSCode e também outros editores.
Kai Noack

Respostas:

588

Por padrão, Ctrl+ Tabem ciclos de código Visual Estúdio através de abas na ordem do mais utilizado recentemente. Isso é confuso porque depende do estado oculto.

Os navegadores da Web percorrem as guias em ordem visível. Isso é muito mais intuitivo.

Para conseguir isso no Visual Studio Code, você precisa editar keybindings.json. Use a Paleta de comandos com CTRL+SHIFT+P, digite "Preferências: abrir atalhos de teclado (JSON)" e pressione Enter.

Em seguida, adicione no final do arquivo:

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

Como alternativa, para alternar apenas as guias da janela atual / exibição dividida, você pode usar:

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

Como alternativa, você pode usar Ctrl+ PageDown(Windows) ou Cmd+ Option+ Right(Mac).

SC_Chupacabra
fonte
3
Na verdade, ele não imita o comportamento suspenso. Com essas combinações de teclas, basta navegar pelas guias para a direita ( ctrl+tab) ou para a esquerda ( ctrl+shift+tab). Para abas Navegar com base no histórico usar estes: { "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }.
evenfrost
1
@GabrielZiegler eu sei, certo. O Firefox também usa esse modo de guia.
Permana 17/05/19
1
@evenfrost, o OP não deseja navegar com base no histórico, portanto, essa resposta é boa.
Stephen Mariano Cabrera
4
E quem não fornece uma opção para alterar o comportamento dessa guia, mas a necessidade de editar um arquivo de combinações de teclas ?!
Kai Noack
2
Pessoas que querem nos ver sofrer, é isso.
Frans
193

@Combii eu encontrei uma maneira de trocar

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

No macOS, acesse:

Código> Preferências> Atalhos do Teclado

Nessa página, clique no botão no canto superior direito da página ...

botão editar keybindings.json

e anexe a configuração abaixo e salve.

[
    {
        "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"
    }
]

Agora você pode usar o CMD + [1-9] para alternar entre guias e CTRL + [1-3] para focar nos grupos de editores! Espero que esta resposta seja útil.

yiyuan lv
fonte
4
alt + n já faz isso no Windows, tenho certeza de que existe um equivalente para mac #
Dominic
12
no Mac, o equivalente é control + n. Acho que isso não é intuitivo, pois a maioria dos programas é padronizada como cmd + n para a navegação por guias. Mudar os dois comportamentos significa que você pode confiar na memória muscular ao tentar navegar pelas suas guias.
Langlois.dev
Eu acho que no mac eles apenas portam as configurações do Windows com o comando de alteração para controlar algumas funções (por exemplo, guia switch) e não portam as outras (por exemplo, abrir e fechar a guia terminal). Isso é muito inconveniente.
Alanwsx
6
Além disso, para a versão mais recente (abr2019), você pode apenas pesquisar esses itens ( workbench.action.openEditorAtIndex1) e alterá-lo. Não há necessidade de ir para keybindings.json.
Alanwsx #
3
Na versão 1.38.1 (para OSX), isso estava desatualizado. De acordo com a documentação, vá para Preferences > Keyboard Shortcutse clique no ícone à direita da barra de título do editor. Isso será aberto keybindings.json.
Adam_G
51

janelas

Ao usar o Visual Studio Code no Windows, você pode CTRL + PAGE_UPalternar para a guia anterior e CTRL + PAGE_DNpara a próxima guia.

Você também pode alternar para as guias com base no respectivo índice (diferente de zero). Você pode fazer isso pressionando e segurando ALT, seguido de um número (1 a 9).

Mac OS

Para navegar rapidamente CMDpelas guias, mantenha pressionada a tecla, seguida do número (1 a 9) da guia para a qual você deseja alternar.

Você também pode alternar entre a guia anterior / próxima através do CMD + ALT + LEFT/RIGHTatalho do teclado.

Observe que, para mudar para uma guia que esteja em um grupo de editores diferente, você deve primeiro mudar para o grupo de editores desejado.

Dica profissional : se você não se sentir confortável com qualquer uma das combinações de teclas, poderá alterá-las para o que você se sentir mais confortável!

Brynden Bielefeld
fonte
2
CTRL + ALT + esquerda / direita e CTRL + número só copiar guias para novo grupo de guias
yodalr
As instruções eram claras antes, simplesmente não funcionam no WINDOWS. Quando pressiono ctrl + alt + esquerda - nada acontece e quando pressiono ctrl + alt + direita, ele move a guia para as seções secundárias à direita.
Yodalr 18/08/19
2
@yodalr, no Windows, para alternar entre as guias, você pressiona um CTRL + PAGE_UPou CTRL + PAGE_DN, dependendo da maneira que deseja alternar. CTRL + ALT + LEFTe nãoCTRL + ALT + RIGHT são os atalhos de teclado que listei para o Windows.
Brynden Bielefeld
6
Hmm, não parece funcionar como descrito. No Mac, Cmd + Num alterna entre o grupo de guias (janelas divididas). Eu quero fazer isso para guias dentro do mesmo grupo. Eu seria capaz de fazer isso?
huggie
@ huggie Estou vendo o mesmo comportamento no OSX. Você encontrou uma maneira de remapear isso?
Prefixo
35

Se você estiver usando a VSCodeVimextensão, poderá usar os atalhos da tecla Vim :

Próxima guia: gt

Guia anterior: gT

Guia numerada: nnngt

gabra
fonte
31

Isso também funciona no MAC OS :

Guia Anterior: Shift+ Cmd+[

Próxima guia: Shift+ Cmd+]

yestema
fonte
24

macOS - revisado em 2017

EM 2017, os atalhos de teclado do VS CODE foram alterados para CTRL+ 1, CTRL+ 2, CTRL+ 3etc. para alternar entre as guias.

CMD+1, CMD+2, and CMD+3 alternar e criar tab groups

Alex Smith
fonte
11
É possível alterá-lo para em CMD+1, CMD+2, and CMD+3vez de CTRL+1, CTRL+2, CTRL+3?
David
E também CMD + ALT + LEFT/RIGHTpara alternar todas as guias em todos os grupos.
Davos
10

janelas

anterior

Ctrl+ Shift+Tab

Próximo

Ctrl + Tab

Mac OS

anterior

Shift+ Cmd+[

Próximo

Shift + Cmd +]

Um azul
fonte
sua resposta deve estar no topo
forasteiro
5

Melhor approch é o uso alt + direita e ALT + esquerda teclas para navegar como JetBrains IDE WebStorm faz

Aqui está a minha configuração. também inclui criar novo arquivo e pasta

    {
        "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
fonte
1
A substituição de alt + direita / esquerda impede o comportamento útil padrão do editor para passar o cursor para a palavra anterior / seguinte.
karni
3

para linux ... eu uso ctrl + pageUp ou pageDown

jmsalcido
fonte
3

O Visual Studio Code v1.35.0 permite definir o ( Ctrl+ Tab) / ( Shift+ Ctrl+Tab seqüências de teclas ) para alternar seqüencialmente entre editores, vinculando essas seqüências de teclas aos comandos "View: Open Next Editor" e "View: Open Previous Editor", respectivamente .

No macOS:

  1. Navegue para: Código> Preferências> Atalhos do Teclado
  2. Pesquise ou navegue até as duas opções a seguir:
    • Ver: Abrir Próximo Editor
    • Ver: Abrir Editor Anterior
  3. Altere as duas combinações de teclas para a sequência de teclas desejada.
    • Ver: Abrir Próximo Editor -> ( Ctrl+ Tab)
    • Ver: Abrir Editor Anterior -> ( Shift+ Ctrl+ Tab)
  4. Você provavelmente encontrará uma ligação conflitante. Nesse caso, tome nota do comando e reatribua ou remova a ligação de chave existente.

Se você errar, sempre poderá voltar ao estado padrão para uma ligação determinada clicando com o botão direito do mouse em qualquer combinação de teclas e selecionando "Redefinir combinação de teclas".

m0nsoon
fonte
1
Obrigado cara, eu estava percorrendo toda a internet por isso!
Pall Arpad
2

Isso também funciona no MAC OS :

Pressione para selecionar a guia específica: Control+ 1 ou Control2, Control3 etc.

Pressione para exibir / selecionar todas as guias possíveis: Control+ Tab.

mdiiorio
fonte
2

Mapa de teclas do Linux para corresponder ao navegador:

[
    {
        "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
fonte
1

Outra maneira de alterar rapidamente as guias seria no VSCode 1.45 (abril de 2020)

Alterne as guias usando a roda do mouse

Quando você usa a roda do mouse para rolar sobre as guias do editor, atualmente não pode alternar para a guia, apenas revelar guias que estão fora de vista.

Agora, com uma nova configuração, workbench.editor.scrollToSwitchTabsesse comportamento pode ser alterado se você mudar para true.

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

Nota: você também pode pressionar e segurar a Shifttecla enquanto rola para obter o comportamento oposto (ou seja, você pode alternar para as guias mesmo com essa configuração desativada).

VonC
fonte
0

Ao usar o Visual Studio Code no Linux / Windows, você pode usar CTRL + PAGE_UP para alternar para a guia anterior e CTRL + PAGE_DN para alternar para a próxima guia. Você também pode alternar para as guias com base no respectivo índice (diferente de zero). Você pode fazer isso pressionando e mantendo pressionada a tecla ALT, seguida de um número (1 a 9).

Para mais detalhes: confira aqui

Shiv Kumar Singh
fonte
0

Use mapas de teclado de texto sublime. Muito mais intuitivo.

km

Importar mapas de teclado de texto sublime:

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
fonte
0

@SC_Chupacabra tem resposta correta para modificar o comportamento.

Geralmente, eu prefiro CTRL+ PAGE UP / DOWNpara minha navegação, em vez de usar a tecla TAB.

    {
        "key": "ctrl+pageUp",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+pageDown",
        "command": "workbench.action.previousEditor"
    }
openwonk
fonte
0

Não consegui encontrar uma postagem para a Comunidade VS, por isso postarei minha solução aqui.


Primeiro, você precisa ir em Ferramentas -> Opções -> Ambiente -> Teclado, e encontre o comando Window.NextTab. Perto da parte inferior, ele deve dizer "Usar novo atalho em:". Defina como Global (deve ser o padrão), selecione a caixa de texto à direita e pressione Ctrl+ Tab. Remova todos os atalhos atuais para o comando selecionado e pressione Atribuir. Para Ctrl+ Shift+ Tab, o comando deve ser Window.PreviousTab.

Espero que isso ajude :) Se houver uma postagem separada para a Comunidade VS, eu ficaria feliz em mudar essa postagem.

supsm
fonte