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?

Mr. Flibble
fonte

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

Prumo
fonte
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.

Bhavesh Kachhadiya
fonte
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.

Scott Ivey
fonte
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.

M4N
fonte
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
AvatarOfChronos
fonte
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"

Gelásio
fonte
18

CTL+ M+ Arecolhe tudo

funciona para mim, enquanto

CTL+ M+O

não

Raio
fonte
13

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

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

CodeLikeBeaker
fonte
12

No Visual Studio 2013:

CTL+ M+ Arecolhe tudo

CTL+ M+ Lexpande tudo

Nathan Chase
fonte
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

Harishh
fonte
10

Se você quer dizer atalho, então

CTRL+ M+ M: Este irá recolher a região onde está o cursor, seja um método, espaço para nome ou qualquer outra coisa para recolher blocos, regiões e métodos de código. O primeiro recolherá apenas o bloco / método ou região em que o cursor está, enquanto o segundo recolherá toda a região em que você está.

http://www.dev102.com/2008/05/06/11-more-visual-studio-shortcuts-you-should-know/

Shoban
fonte
9

pressione

CTL + A

Então

CTL+ M+M

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

Carl
fonte
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 .

Abdulhameed
fonte
2

se você deseja recolher e expandir um loop específico, caso contrário, instale os seguintes plugins para o visual studio.

insira a descrição da imagem aqui

Juned Ansari
fonte
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+ [.

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

Recolher tudo - Ctrl + M +O

Expandir tudo - Ctrl + M +L

vikas Chaturvedi
fonte
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.

DavidRR
fonte
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.

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

Rajkumar S
fonte
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