Comando para recolher todas as seções do código?


1637

No Visual Studio, existe um comando para recolher / expandir todas as seções do código em um arquivo?

Respostas:


3007

CTRL+ M+ Orecolherá tudo.

CTRL+ M+ Lirá expandir tudo. (no VS 2013 - Alternar todos os tópicos)

CTRL+ M+ Pexpandirá tudo e desabilitará o contorno.

CTRL+ M+ Mrecolherá / expandirá a seção atual.

CTRL+ M+ Arecolherá tudo, mesmo nos arquivos HTML.

Essas opções também estão no menu de contexto em Estrutura de tópicos.

Clique com o botão direito do mouse em editor -> Estrutura de tópicos para encontrar todas as opções. ( Após desativar o esboço, use as mesmas etapas para ativar o esboço. )

Clique com o botão direito do mouse> menu Estrutura de tópicos


145
Você também pode clicar no editor de uma escolha: Destaques -> Alternar Todos Destaques
LBushkin

25
ctrl + m ctrl + o é "recolhimento de definições", que não funciona ao editar um arquivo xml. Para mim, ctrl + m ctrl + l expande tudo e recolhe tudo (como alternância), mas nem sempre. Eu tenho um arquivo aberto onde funciona e um onde apenas expande tudo, mas não recolhe tudo. Ambos são arquivos xml. Não faço ideia do porquê.
Matthijs Wessels

17
Apenas para informar (embora isso seja bastante antigo): ctrl + m + o apenas recolhe todas as FUNÇÕES, não as classes (ou regiões etc). ctrl + m + L alternará a expansão, recolhendo tudo.
112311 paul11

14
Por que vale a pena, esses trabalhos no Visual Studio 2012, bem
wjhguitarman

5
Em VisualStudio 2013 ctrl + M + L alterna estado colapso, ctrol + faz M + S não fazer nada (HTML VIEW)
Ayyash

171

As seguintes combinações de teclas são usadas para fazer as coisas:

CTRL+ M+ M→ Recolher / Expandir a área predefinida atual (por exemplo, Method)

CTRL+ M+ H→ Recolher / Hide (Expandir) seleção atual

CTRL+ M+ OoFechar tudo (Recolher corpos de declaração)

CTRL+ M+ A→ Fechar all

CTRL+ M+ X → Ee xtudo

CTRL+ M+ L→ Alternar le tudo

Existem algumas opções no menu de contexto em Estrutura de tópicos.


2
Ctrl-M, L é Alternar tudo, mas definitivamente o Ctrl-M, A e Ctrl-M, X são os que eu estava procurando ...
apontador de

Muito boa ideia para se lembrar facilmente.
Koray

110

CTL+ M+ Lexpande tudo

CTL+ M+ Orecolhe tudo

No artigo do MSDN "Atalhos de teclado padrão no Visual Studio", consulte a seção "Editor de texto" se estiver procurando outros atalhos - esses dois são apenas alguns dos muitos disponíveis.


5
Como comentei na resposta superior, ctl + m + o recolhe a definição que não funciona para arquivos xml. ctl + m + l deve alterná-lo, mas para mim às vezes sim e outras não.
Matthijs Wessels

Em páginas normais, o crtl + m + o é recolhido, o envio do JScript é invertido; para o meu, o crtl + m + o se expande e o crtl + M + l se expande.
Iogurte O Sábio

40

Ctrl+ Mexpande a região.

Ctrl+ Lrecolhe a região.


Mas é apenas um comando útil ao usar a extensão js delineando, e eu tenho mais de 1000 linhas de arquivo js, ​​esse atalho é um poupador **!
Goran Obradovic 21/10

E TRABALHA PARA XML! WOOO HOOO !! (+1 puramente por razões técnicas; Eu ficaria feliz em pagar-lhe algum representante :) Este está indo para o meu cheatsheet regulares
Gishu

31
  • Dobrar / desdobrar o bloco de código atual - Ctrl+ M, Ctrl+M
  • Desdobrar tudo - Ctrl+ M, Ctrl+L
  • Parar de descrever - Ctrl+ M, Ctrl+P
  • Dobrar tudo - Ctrl+ M, Ctrl+O

26

No Visual Studio 2017, parece que esse comportamento está desativado por padrão. Ele pode ser ativado em Ferramentas> Opções> Editores de texto> C #> Avançado> Estrutura de tópicos> "Recolher # regiões ao recolher para definições"


18

CTL+ M+ Arecolhe tudo

funciona para mim, enquanto

CTL+ M+O

não


13

Você está se referindo ao esquema de alternância?

Você pode fazer: Control+ Mentão Control+ Lpara alternar todos os tópicos



11

Abaixo estão tudo o que você deseja:

  • Recolher / Expandir método atual

CTRL+ M+M

  • Recolher / Expandir seleção atual

CTRL+ M+H

  • Recolher todos

CTRL+ M+O

CTRL+ M+A

  • Expandir todos

CTRL+ M+X

CTRL+ M+L



9

pressione

CTL + A

Então

CTL+ M+M

Para compactar todos, inclusive nós filhos, em arquivos XML.



2

No caso de atualizar para o Visual Studio 2010, 2012, 2013 ou 2015, há uma extensão do Visual Studio para mostrar os atalhos de teclado registrados atuais, IntelliCommand .



2

Nada disso funcionou para mim. O que eu encontrei foi, no editor, procurar o Keyboard Shortcutsarquivo editor.foldRecursively. Isso lhe dará a última ligação. No meu caso, foi CMD+ K, CMD+ [.


Obrigado. Este é provavelmente o mais recente de atalho que obras
codetinker


1

O Visual Studio pode ajudá-lo a encontrar a resposta para sua pergunta de duas maneiras diferentes.

Digite Ctrl+ Qpara acessar o Início Rápido e digite "recolher". O Início Rápido exibirá algo como:

Menus (1)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
NuGet Packages (1)
    Search Online for NuGet Packages matching 'collap'

A partir daí, digite "estrutura de tópicos" para encontrar outras entradas de menu relacionadas à estrutura de tópicos:

Menus (5)
    Edit -> Outlining -> Toggle Outlining Expansion (Ctrl+M, Ctrl+M)
    Edit -> Outlining -> Toggle All Outlining (Ctrl+M, Ctrl+L)
    Edit -> Outlining -> Stop Outlining (Ctrl+M, Ctrl+P)
    Edit -> Outlining -> Stop Hiding Current (Ctrl+M, Ctrl+U)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
Options (4)
    Text Editor -> Basic -> VB Specific (Change outline mode, Automatic inser...
    ...

No entanto, observe que o Início Rápido mostrará apenas os comandos disponíveis como entradas de menu do Visual Studio. Para encontrar outros comandos relacionados ao teclado relacionados ao recolhimento de seções de código, na barra de menus do Visual Studio, clique em:

Tools -> Options -> Environment -> Keyboard

Isso exibirá a seção do teclado na caixa de diálogo Opções. Na caixa de texto "Mostrar comandos contendo", digite "edit.collap". O Visual Studio exibirá uma lista semelhante a:

Edit.CollapseAllincurrentblock    
Edit.CollapseAllOutlining           Ctrl+M, Ctrl+A (Text Editor)
Edit.CollapseBlockcurrentblock
Edit.CollapseCurrentRegion          Ctrl+M, Ctrl+S (Text Editor)
Edit.CollapseTag                    Ctrl+M, Ctrl+T (Text Editor)
Edit.CollapsetoDefinitions          Ctrl+M, Ctrl+O (Text Editor)

Você precisará clicar em cada comando para ver seu atalho de teclado associado.


Meus exemplos extraídos do Visual Studio 2013.


0

No Visual Studio 2019:

Vá para Ferramentas> Opções> Teclado.

Pesquise por Edit.ToggleAllOutlining

Use o atalho listado lá ou atribua a ele o atalho de sua escolha.


-1

Se você desejar collapse/expanduma área dentro de um class/method(em vez de recolher o todo class/method), poderá criar regiões personalizadas da seguinte maneira:

 #region AnyNameforCollapsableRegion

 //Code to collapse

 #endregion 

Referência


Não é para isso que servem as regiões. As regiões são de manutenção e legibilidade no código e devem ser usadas para agrupar métodos, classes, etc.
Bmize729
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.