Finestra di Visual Studio che mostra l'elenco dei metodi


126

In Visual Studio, c'è una finestra che mostra l'elenco dei metodi nella classe attiva? Una piccola finestra come Esplora soluzioni sarebbe fantastico. In Eclipse, ce n'è uno.


2
Per coloro che cercano in futuro, CodeMaid offre un tale elenco e molto altro! codemaid.net
BKSpurgeon

Risposte:


127

C'è un menu a discesa appena sopra la finestra del codice:

testo alternativo

Si chiama barra di navigazione e contiene tre menu a discesa: il primo elenco a discesa contiene il progetto , il secondo tipo e il terzo membro (metodi).

È possibile utilizzare la scorciatoia Ctrl+ F2(sposta lo stato attivo sul menu a discesa del progetto ) e premere Tabdue volte (sposta lo stato attivo sul terzo menu a discesa) per evidenziarlo, la freccia in basso espande l'elenco.

Immagine a grandezza naturale


16
Sai se c'è qualche scorciatoia per aprirlo? È fastidioso usare il mouse per questo.
Mariusz Pawelski

@ ChrisF sembra che non riesco a vedere quella finestra in vs2012. Come abilitarlo?
ysrb

@ysrb - Nessuna idea. Sono ancora su VS2010 qui. Dato che questa domanda riguardava VS2008, ti suggerisco di fare una nuova domanda (link a questa per mostrare che non è un duplicato).
ChrisF

10
Sto anche cercando un collegamento per aprirlo e / o una finestra o una cornice aperta in modo permanente.
Xonatron


43

Ho scoperto come attivare il menu a discesa come mostrato nella prima risposta (@ChrisF):

Vai a Opzioni-> Editor di testo -> (la tua lingua)

e seleziona "Barra di navigazione" nella sezione del display.


Mi salvi la pallina del giorno!
Emanuel Gianico

Ho sempre perso la barra di navigazione per VB.NET. Questo lo abilita. Grazie molto.
huha

Troverai "Opzioni" nel menu sotto "Extra".
ohgodnotanotherone

Strumenti (scheda)> Opzioni> Editor di testo> (la tua lingua)
SandstormNick

Grazie mark.oliver.asp.newbie. Ho appena aggiornato dal 2015 al 2019 e stavo cercando di trovare questa barra in tutto il menu delle opzioni.
ExcelsiorTechSolutions

30

Da Visual Studio 2012 è possibile visualizzare la struttura (campi e metodi) in Esplora soluzioni espandendo il nodo corrispondente al file.


2
Preferisco di gran lunga questa opzione rispetto a quella a discesa, che è fastidiosamente ordinata in ordine alfabetico (secondo me).
dbernard

Nota che se hai un partial classallora tutti i membri sono elencati sotto quel nodo, non solo quelli solo in quel file.
Dai

24

Il collegamento alla barra di navigazione è Ctrl+ F2. Ti porta prima al menu a discesa dei tipi. Premi Tab per andare al menu a discesa del metodo, quindi inserisci un metodo per andare a quello.


22

ReSharper ha un 'ReSharper | Windows | Finestra Struttura file ', che viene utilizzata per visualizzare la struttura del file di codice corrente.


Davvero molto utile, ma esiste una scorciatoia da tastiera per quella finestra?
Nicolas

"Alt +" è la scorciatoia da tastiera per quello.
Hallmanac

19

Resharper ha la finestra File Structure che è molto simile alla vista struttura eclipse. Risposte originariamente in:

Visual Studio 2012: elenco di tutti i metodi della classe

Aiuto Resharper: http://www.jetbrains.com/resharper/webhelp/Reference__Windows__File_Structure_Window.html

Schermata della finestra Struttura file


CTRL - F12 fa apparire la finestra di navigazione dei membri in Resharper. Elenca tutti i metodi nella classe e ti dà la possibilità di cercare.
WoZoNe

1
CTRL - F11 mostra la finestra Resharper sopra. Questo e 'esattamente quello che stavo cercando.
gattsbr

11

Nonostante sia una vecchia domanda forse questa risposta ti ha aiutato come mi ha aiutato.

puoi scaricare l'estensione codemaid da qui: sito web codemaid

ha molte funzionalità che potresti trovare nel loro sito web.

quello relativo a questa domanda è lo scavo di codici

Visualizza e naviga tra i contenuti dei tuoi file C # e C ++ da una gerarchia di visualizzazione ad albero. Passa rapidamente da un metodo di ordinamento all'altro per ottenere una panoramica migliore. Trascina e rilascia per riorganizzare il codice. Vedi i punteggi di complessità McCabe e i suggerimenti informativi sugli strumenti.

in altre parole ti dà la possibilità di vedere i metodi e le proprietà e anche di riorganizzarli semplicemente con il drag and drop. è la mia estensione per l'uso quotidiano


CodeMaid reimplementa la maggior parte delle funzionalità VS integrate ed è eccessivo e spiacevole vedere voci di menu duplicate che inquinano l'IDE.
Ivan G.

Io non la penso così, alcune funzionalità utili come ctrl+m+z, ctrl+m+space, ctrl+m+f, sort lines, clean whole solution, collapse all in solution explorer, arrange methods with drag and drop, method and properties treesono strumenti che si possono trovare solo in alcuni strumenti come reshraper.
Mo Hrad A

1
Non lo intendevo come un'offesa, ma la maggior parte delle procedure di "pulizia del codice" per lo più introducono guerre sacre di stile di codifica che non mi interessano. Il prodotto è primo. Non mi interessa nemmeno se ci sono spazi e tabulazioni in un file, solo produttività.
Ivan G.

Lo schema del codice (spade) è davvero utile. Sarebbe fantastico se si mantenesse sincronizzato con il membro attualmente attivo / selezionato nell'editor di testo.
Markus L

@MarkusL puoi creare un nuovo numero qui: github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A

8

Non esiste un equivalente diretto alla visualizzazione struttura in Eclipse. La cosa più vicina che ho trovato è la visualizzazione classi, che elenca tutte le classi e i loro membri / metodi. C'è una casella di ricerca in alto per restringere la selezione.


Dal momento che VS 2010 su C ++ qui, preferisco questa risposta perché il menu a discesa che nasconde il mio codice è fastidioso. Un'altra scorciatoia più comoda per mostrare la Visualizzazione classi è Ctrl + Shift + C.
Jeff T.

5

In Visual Studio 2015, Visualizza> Altre finestre> Visualizzazione risorse . La scorciatoia da tastiera è Ctrl+ Shift+ E. Lo trovo più pulito di Class View. Con Class View Windows puoi filtrare metodi / attributi in base al modificatore di accesso (privato / protetto / pubblico) ecc.


2
Anche se questo elenca i campi e i metodi della classe, richiede innanzitutto di passare alla classe richiesta. Ciò che l'OP ha chiesto era per la classe attiva corrente. cioè quello attualmente aperto nella vista codice. Se ho una classe lunga 3000 righe con 78 metodi e 63 campi che attualmente ho aperto e desidero navigare rapidamente verso un nome di metodo noto, ma non ricordo la sua posizione, dover prima navigare nello spazio dei nomi non è meglio di Ctrl-F .
Draco18s non si fida più di SE

1
Grazie, questo è esattamente quello che stavo cercando! Questo è uno strumento incredibilmente utile.
user1529413

4

Nella parte superiore del tuo editor di testo, dovresti avere un menu a discesa che elenca tutti i metodi, le proprietà ecc. Nel tipo corrente; ed è cliccabile (anche se quei membri sono definiti in altri file - nel qual caso sono disattivati ​​ma puoi comunque navigare con loro).

Inoltre, se utilizzi Class Explorer ( Ctrl+ Alt+ C) per navigare nel tuo progetto, otterrai una panoramica completa di tutti i tuoi tipi. Tuttavia, non sembra esserci un'impostazione in Strumenti / Opzioni che ti consenta di tenere traccia del tipo attivo in quella finestra (c'è per Esplora soluzioni) - forse una macro o un addin è in ordine ...



1

Intendi la finestra di visualizzazione della classe (Visualizza-> Vista classi o Ctrl+ W, C)?

Hai anche la finestra a comparsa dell'intelligenza


Non penso che nessuno di questi due sia utile. Nella visualizzazione Classe, devi prima individuare la tua classe. Per mostrare intellisense devi scrivere un nome di classe da qualche parte o persino istanziarlo. Altre risposte contengono soluzioni più veloci e facili da usare.
David Ferenczy Rogožan

1

Con Visual Studio 2010

Scegli Strumenti-> Impostazioni-> Impostazioni avanzate

Nell'angolo in basso a sinistra, vedrai la scheda "Visualizzazione classi" a destra la scheda successiva "Esplora soluzioni"

Nell'area superiore del layout "Visualizzazione classi", vedrai l'elenco del nome della classe, enum, struct, ... Nell'area inferiore del layout "Visualizzazione classi", vedrai l'elenco dei membri per queste classi, enumerazioni o struct


Come già risposto da sagie, Dawid Ferenczy commenta già: "Nella visualizzazione Classe, devi prima individuare la tua classe. Per mostrare intellisense devi scrivere il nome di una classe da qualche parte o persino istanziarla. Altre risposte contengono soluzioni più veloci e facili da usare ".
Draco18s non si fida più di SE

1

Un bel modo pulito per farlo è usare View.SynchronizeClassView.

inserisci qui la descrizione dell'immagine

Inoltre puoi:

  • appuntare la finestra di visualizzazione della classe
  • comprimi il pannello superiore (elencando tutte le classi)

E ora sembra proprio come la funzionalità di Visual Assist "List Methods in Current File" (che elenca anche i membri tra l'altro).


Dove l'ho trovato View.SynchronizeClassView? Riesco a trovare solo la visualizzazione classi "normale" in Visual Studio 2017.
user11909

Questo è un comando che inserisci nella finestra dei comandi. Sfortunatamente non puoi impostarlo per sincronizzare automaticamente il ClassView e devi farlo manualmente ogni volta. Puoi assegnare una scorciatoia, ma questo è ancora un inconveniente non necessario.
mKay

0

Microsoft non ha voglia di implementare questo utile strumento, ma se per caso puoi avere Visual Assist, ce l'hai in VAssistX> Strumenti> VA Outline . Il plugin però non è gratuito.


0

Uso USysWare DPack da sempre. È molto piccolo e non invadente, quindi se tutto ciò che desideri è una finestra di collegamento rapido che mostra l'elenco dei metodi del file corrente che stai utilizzando, fornisce proprio questo. La cosa buona è che l'autore è ancora attivo dopo più di 10 anni solo per continuare a fornire le stesse funzionalità nell'ultima versione di VS.

https://marketplace.visualstudio.com/items?itemName=SergeyM.DPack-16348

Dopo l'installazione, utilizzare solo Alt + Mper visualizzare la finestra dell'elenco dei metodi. Preferisco mostrare a tutti i membri invece, ma dipende da te.


-1

In VS 2012, vai su Visualizza> Visualizzazione classi ... quindi ottieni la GUI della visualizzazione classi nell'area della scheda principale. Ora trascinalo sul dock laterale e avrai lo stesso layout che avresti in Eclipse.

-e


Questo è qualcosa di diverso. Non mostra i membri della classe corrente (classe aperta in un editor). Devi individuarlo manualmente. È meglio usare Esplora soluzioni (espandi file e classe sotto di esso), perché puoi sincronizzarlo con il file corrente.
David Ferenczy Rogožan

-1

Il mio modo migliore per farlo è, che ho aperto la definizione della finestra Codice, in Visualizza -> Codice Definizione finestra o premere Ctrl+ W, D.

E poi l'ho fatto fluttuare e ho le definizioni dei metodi in finestre separate.

Saluti


Come risponde alla domanda di OP? Non ha bisogno di definizioni, solo un elenco di membri della classe. Per vedere una definizione, di solito puoi semplicemente fare doppio clic su un metodo in tale elenco.
David Ferenczy Rogožan

-4

grep -i "sub" nomefile.vb> metodi.txt grep -i "funzione" nomefile.vb >> metodi.txt


Spiega come questo fornisce una risposta alla domanda.
AdrianHHH

Risponde alla domanda perché quella soluzione fornisce un elenco di tutti i sottotitoli e le funzioni all'interno di una classe vb.
John Reichert

Non voleva un elenco di metodi in una classe. Aveva bisogno di una finestra in Visual Studio con un elenco di metodi nella classe attiva . Ha anche fatto riferimento alla stessa cosa in Eclipse. È ovvio che la tua risposta riguarda qualcosa di completamente diverso.
David Ferenczy Rogožan
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.