Comprimi solo tutte le # regioni (!) In C # (Visual Studio)


103

Sono disponibili numerose scorciatoie da tastiera e comandi di menu per espandere o comprimere automaticamente tutti i pieghevoli nel documento corrente. Ctrl+ M, Ctrl+ Lalterna ricorsivamente tutti i pieghevoli, dallo spazio dei nomi in alto fino ai metodi interni e ai commenti. Fondamentalmente tutto ciò che ha un'icona [+] nel margine sinistro. Ctrl+ M, Ctrl+O fa un po 'meno, ma tocca ancora metodi e commenti all'interno della classe.

Sto cercando una funzione che specificamente riguardi solo i#region pieghevoli e nient'altro. Non spazi dei nomi, classi, commenti o metodi. Voglio solo piegare quelle aree che sono esplicitamente contrassegnate come tali con#region parola chiave.

C'è qualche scorciatoia nascosta o un'estensione per questo?

Preferirei una soluzione per tastiera, per Visual Studio 2015 (RC per ora).

Nel caso qualcuno mi chieda perché: voglio avere una panoramica del file, ma vedere immediatamente tutti i dettagli quando decido di guardare all'interno di una regione.


Aggiornare:

Soluzione nel 2020

Poiché questa domanda ha ricevuto molte risposte, alcune inutili, altre obsolete, la soluzione funzionante per Visual Studio 2019 può essere trovata in questa risposta sottovalutata qui: https://stackoverflow.com/a/58999093/143684


Non credo (aperto alla correzione però). Hai provato la visualizzazione della classe: mostrerà tutti i membri della classe (non il menu a discesa nella parte superiore dell'editor di testo) e puoi fare doppio clic per passare al membro selezionato.
amcdermott

1
Penso che non ci sia nulla del genere, Ctrl + M, Ctrl + O è il più vicino
voytek

La finestra Visualizzazione classi contiene tutti gli elementi in un elenco semplice, non "suddiviso in regioni". Non è per questo che sto usando le regioni. Ho bisogno di regioni per trovare rapidamente membri per argomento, specialmente in classi lunghe con un numero limitato di metodi simili ciascuno per un diverso tipo di modello. Le regioni le raggruppano per tipo di modello qui.
ygoe

Risposte:


210

in Visual Studio 2017 devo attivare 'Collapse #regions when collapsing to definition' in

Tools -> Options -> Text Editor -> C# -> Advanced

esplicitamente per comprimere tutto quando si preme Ctrl+ M+O


8
Purtroppo questo fa crollare anche tutto il resto (quasi), non solo le regioni. Quindi questo non è quello che sto cercando. L'estensione Quick Launch Tasks esiste ancora per VS 2017 e può essere installata separatamente ora, guardami altro commento.
ygoe

20
Questo potrebbe non essere ciò che l'OP ha chiesto, ma è quello che stavo cercando.
Homer

11
L'opzione nella build corrente è "Comprimi #regioni durante la compressione in definizioni" e si trova in Strumenti> Opzioni> Editor di testo> C #> Avanzate. Questo è anche quello che stavo cercando. Questo fa sì che Ctrl + M + O funzioni come in VS 2015
Matt Becker

65

Ctrl+ M+ Ocomprimerà tutto.

Ctrl+ M+ Lespanderà tutto. (in VS 2013 - Toggle All outlining)

Ctrl+ M+ Pespanderà tutto e disabiliterà la struttura.

Ctrl+ M+ Mcomprimerà / espanderà la sezione corrente.

Queste opzioni si trovano anche nel menu contestuale in Struttura.

Fare clic con il tasto destro nell'editor -> Struttura per trovare tutte le opzioni. (Dopo aver disabilitato la struttura, utilizzare gli stessi passaggi per abilitare la struttura.)


1
Questa è davvero l'unica risposta corretta ... CTRL + (M poi O / L) espande / comprime solo le regioni su una pagina che risponde direttamente alla domanda originale.
Levi Fuller

15
Non è più vero con VS2017RC. Collaspare tutto non fa collassare le regioni. (Almeno la build corrente: 15.0.2620.0)
François

3
Per VS 2017, vedere la risposta di @Myz di seguito.
Jeffrey Harmon

29

L'estensione di Visual Studio Productivity Power Tools 2015 di Microsoft ha una funzionalità chiamata Quick Launch Tasks che aggiunge nuovi comandi al menu Quick Launch. Uno di questi è CollapseRegions e fa esattamente questo.

Il comando opposto è ExpandRegions ed espande tutte le regioni per una rapida navigazione dell'intero file. Questi comandi possono essere utilizzati abbastanza rapidamente premendo il CtrlQtasto di scelta rapida e digitando Collresp. Exp, quindi premendo Enter(supponiamo che tu non abbia altri comandi con lo stesso prefisso).


7
Ecco l'estensione corrispondente per Visual Studio 2017: Attività di avvio veloce
ygoe

Non più valido con Visual Studio 2019 perché hanno cambiato il modo in cui funziona la ricerca di Attività rapide.
Cronaca

17

Per comprimere le regioni: Strumenti> Opzioni> Editor di testo> C #> Avanzate> Seleziona "Comprimi # regioni durante la compressione in definizioni"

Comprimi l'immagine #regions


Oh, ce l'avevamo già 3 anni fa. Visualizza la risposta più in alto.
ygoe

10

spuntare il segno di spunta in Impostazioni -> TextEditor -> C # -> Avanzate -> Comprimi # regioni durante la compressione delle definizioni.

quindi fare clic con il pulsante destro del mouse nell'editor> struttura> comprimi in definizioni



7

Non so se sia nuovo, ma c'è un'impostazione per c # text edior:

Impostazioni -> TextEditor -> C # -> Avanzate -> Comprimi #regioni durante la compressione delle definizioni.

Quando il suo set CtrlM CtrlOcomprimerà le #regioni.


7

So che questa è una vecchia domanda, ma ecco un aggiornamento per Visual Studio 2019:

La soluzione Attività rapide dalla risposta di @ ygoe non funziona per Visual Studio 2019, perché quella versione ha cambiato il modo in cui cerca la barra delle attività rapide. Inoltre non è mai stata la soluzione preferita alla domanda originale, poiché era necessario digitare un'azione rapida invece di avere una scorciatoia da tastiera.

Ho trovato una soluzione diversa sul mercato che fa esattamente il collasso e l'espansione di tutte le regioni nel file attualmente aperto con le scorciatoie da tastiera: Comprimi regione

Dalla pagina dell'estensione:

Le associazioni di tasti predefinite sono (Ctrl + R, Ctrl + Num +) e (Ctrl + R, Ctrl + Num-). Può essere modificato in Strumenti-> Opzioni-> Ambiente-> Tastiera.


Grazie per queste fantastiche informazioni! Dal momento che non sto utilizzando attività rapide per molto altro, potrei semplicemente passare a quell'estensione. Testato e funziona (in VS 2017 e 2019).
ygoe

4

Consiglio di utilizzare l'estensione gratuita di Visual Studio "Menees VS Tools Extension for Visual Studio". Basta cercarlo in Strumenti -> Estensioni e aggiornamenti in Visual Studio. Una volta installato, devi solo premere Ctrl+ M+ Ke solo le regioni verranno compresse. Ecco il loro sito web https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

Per modificare le impostazioni guarda in Strumenti -> Opzioni -> Menees VS Tools -> Generale.


-2

Seleziona Tutto tramite Ctrl Ae poiCtrl M M

cioè premere Mdue volte mentre si tiene premutoCtrl


Scusa no. Questo comprime tutto, inclusi spazi dei nomi, classi, metodi e commenti. Questo non è stato esplicitamente richiesto.
ygoe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.