Atalho de teclado JetBrains / IntelliJ para recolher todos os métodos

226

Estou trabalhando em algum código legado que tem uma classe com mais de 10.000 linhas de código e com centenas de métodos. Existe um atalho para qualquer IDE JetBrains (uma vez que o atalho provavelmente seria compartilhado por todos eles) para recolher todos os métodos / funções para que apenas as assinaturas do método sejam mostradas?

Algo assim:

public String myMethod(String arg1, int arg2){...}

public String mySecondMethod(String arg1, int arg2){...}
Brad
fonte
12
Você pode dar uma olhada nos atalhos de dobragem de código intellij . Eu acho que Ctrl + Shift + Minus é o que você precisa.
lifus 13/05
YEAHHHH. Eu não sabia que era chamado de dobragem de código, então não consegui encontrá-lo. Obrigado!
Brad
3
Eu ficaria tentado a diminuir o voto, exceto que quase chorei quando você disse "uma classe que tem mais de 10.000 linhas de código e tem cerca de 100s de métodos", portanto, +1 por tentar.
Peter Lawrey
ha Eu também seria, mas não é minha culpa. Eu herdei isso
Brad #
4
Sei que isso não responde à pergunta conforme solicitado, mas Ctrl-F12abrirá um navegador para alternar entre métodos etc. (Você pode restringir a lista de métodos digitando também nesta exibição de estrutura .) O Painel de Estrutura ( Alt-7) adiciona mais opções Essa pode ser uma maneira mais eficaz de explorar arquivos com um grande número de métodos. Por isso, deixo aqui a sugestão para futuros googlers.
kghastie

Respostas:

432

Você pode dar uma olhada nos atalhos de dobragem de código intellij .

Para Windows / Linux, faça: Ctrl+ Shift+-

Para uso em mac Command+ Shift+-

Para desdobrar novamente, faça Ctrl+ Shift+ +ou Command+ Shift+ +respectivley.

lifus
fonte
10
Um comando que não retraia recursivamente tudo dentro dos métodos também seria bom.
precisa
1
Ctrl + -: recolher método atual
Ali_dev 29/08
A resposta abaixo é muito melhor, pois tem toda a granularidade que eu estava procurando!
Angelos Pikoulas
@ Ali_dev existe uma maneira de fazer o mesmo com todos os métodos?
shashwat 29/03
@shashwat não exatamente. você pode usar Ctrl + Shift + Minus para recolher todos eles e, em seguida, usar Ctrl + Alt + Plus para abrir um deles recursivamente.
Ali_dev 31/03
86

A sugestão acima do código Ctrl+ Shift+ -dobra todos os blocos de código recursivamente. Eu só queria dobrar os métodos para minhas aulas.

Code> Folding> Expand all to level>1

Consegui fazer isso usando a opção de menu Code > Folding > Expand all to level > 1 .

Atribuí-o novamente a Ctrl+NumPad-1 que me fornece uma maneira rápida de reduzir minhas classes aos métodos deles.

Isso funciona no 'nível de bloco' do arquivo e pressupõe que você tenha classes definidas no nível superior do seu arquivo, o que funciona para códigos como PHP, mas não para JavaScript (fechamentos aninhados etc.)

Precastic
fonte
4
Esta deve ser a resposta aceita IMO. Ele resolve o problema em uma etapa e resolve exatamente como solicitado. Se, em vez disso, você fizer a resposta aceita, estará dobrando tudo o que pode ser dobrado e depois se desdobrando para ver seus métodos. Eu tenho feito o último e não é que demorado, mas é bom saber que posso pular algumas etapas com a antiga a partir deste post. Obrigado!
John Pancoast
1
Bom, é isso. O único problema que estou enfrentando agora é que não posso fazer isso pressionando os botões do teclado, pois tenho um MacbookPro sem numpad. Terá que o Google sobre como atribuir chaves personalizadas, suponho. Suspiro.
CodeGodie
O IntelliJ possui um mapa de teclas padrão para isso: Ctrl+ NumPad-*seguido pelo nível de dobra desejado, inserido no NumPad.
Matt C
Recolhe os blocos dentro dos métodos! Não existe nenhuma dobra nível 0 ?
Amir Fo
22

vá para a opção de menu Código> Dobra para acessar todas as opções relacionadas à dobra de código e seus atalhos.

Rahul Tiwari
fonte
1
Isso é útil em termos espaciais se você usar outro mapa de teclas (como o mapa de teclas do eclipse).
Magnilex
Infelizmente, os atalhos de "segundo golpe" não exibem o atalho no menu corretamente. Veja a resposta de pensar demais.
Antimony
7

A resposta do @ precastic acima é, imo, a idéia certa.

Vale ressaltar que no IDEA 2018.2 (e certamente em outras versões próximas) existem atalhos de teclado padrão para isso: (mostrando Mac, consulte Código> Dobrável> Expandir tudo para o nível do seu sistema):

Cmd+ Option+ Keypad *, 1- expanda tudo para o nível 1
Cmd+ Option+ Keypad *, 2- expanda tudo para o nível 2
...
Cmd+ Option+ Keypad *, 5- expanda tudo para o nível 5

Nota: estes são atalhos de "segundo golpe". Primeiro pressione Cmd+ Option+ *, depois solte e, em seguida, pressione o número desejado.

pensar demais
fonte
1
Para todas as pessoas não mac Cmdé Ctrle OptionéShift
desertSniper87
É bom saber sobre os atalhos do segundo curso.
Varun Sharma
2

Você pode ir para a configuração> editor> geral> dobradura de código e marque "mostrar contorno da dobradura de código".

Meysam Jafari
fonte
1

No Rider, isso seria Ctrl+ Shift+ Keypad *,2

Mas !, você não pode usar o número 2 no teclado , apenas o número 2 na linha superior do teclado funcionaria.

Rosdi Kasim
fonte
2
O número no teclado numérico está funcionando, mas você precisa liberar Ctrl + Shift + * primeiro antes de pressionar o teclado numérico 2.
Northnroro