Elenco dei metodi nel codice di Visual Studio


278

Di recente ho iniziato a utilizzare l'editor di codice di Visual Studio. Lo adoro davvero, ma c'è una caratteristica fondamentale (per me) che non sono stato in grado di trovare. Esiste un elenco di metodi, simile al menu a discesa Navigator in NetBeans o Membro in Visual Studio?



Questa funzionalità mancante viene monitorata su github.com/Microsoft/vscode/issues/5605
foz

Risposte:


266

Sì, c'è il workbench.action.gotoSymbolcomando. Su Windows e Linux è impostato su CTRL+ Shift+O per impostazione predefinita.

Se questo comando non è disponibile per i tipi di file con cui stai lavorando, dai un'occhiata alle estensioni VSCode . Non tutte le lingue supportano questa funzione.


4
Hmm, non il comportamento che speravo. Ho provato un paio di tipi di file: in un file C ++, dice "Sfortunatamente non abbiamo informazioni sui simboli per il file" e in Python dice "Si è verificato un errore nell'estensione Python".
Jim Carr

Beh, dang, sembra che io sia sfortunato. Ho provato una diversa estensione Python, ora sto ricevendo l'errore "nessuna informazione sui simboli". :( Grazie per l'informazione, però.
Jim Carr

6
Questi sono simboli per PHP .
ariefbayu,

Funziona alla grande in javascript, il collegamento può essere diverso quando si utilizzano altre scorciatoie da tastiera
Ray1618

39
Aggiungendo a questo, se si preme :dopo Ctrl+ Shift + O, i risultati saranno raggruppati per tipo, che elencherà tutte le funzioni in un elenco secondario.
Aditya Vikas Devarapalli,

184

Aggiornamento : come affermato nei commenti di @ jeff-xiao questa estensione è obsoleta ed è ora una funzionalità integrata del codice di Visual Studio . Dovrebbe essere disponibile nella parte inferiore di Esplora file come vista "Struttura".

Testo precedente: ora esiste un'estensione che supporta questo. Code Outline crea un pannello nella sezione "Explorer" e, per JavaScript, elencherà variabili e funzioni in un file. Lo sto usando da un po 'di tempo e graffia il prurito che avevo. Altri commentatori hanno menzionato che supporta bene Python e PHP.

Sembra ancora in fase di sviluppo ma non ho avuto problemi. Versione di sviluppo disponibile su GitHub . Se sei l'autore a leggere questo - grazie!

Ecco come appare:
Plug-in Code Outline per VSCode

Se la struttura del codice non è visibile, puoi mostrarla come segue: inserisci qui la descrizione dell'immagine


4
Buona chiamata, funziona bene con JavaScript e nessuna ricerca di scorciatoie da tastiera nascoste, bello.
Julian Knight,

6
L'estensione è obsoleta: DEPRECATED. Utilizzare la vista Struttura fornita con il codice di Visual Studio.
Xiao,

Sono corretto che non supporta la visualizzazione di tutti i metodi di una classe in Python?
Eric Auld,

Immagino che a volte la vista struttura non mostri nulla per i file Python.
nurp

Esiste tale opzione per C ++?
Dikla

118

Richiama il Go to symbolcomando del codice :

  • macOS: cmd+ shift+ o(la lettera o, non zero)

  • Windows / Linux: ctrl+ shift+o

Digitando i due punti ( :) dopo aver richiamato Go to symbolsi raggruppano i simboli per tipo (classi, interfacce, metodi, proprietà, variabili). Quindi basta scorrere fino alla methodssezione.


3
Confermato che funziona anche su PHP, ma per favore nota che ho installato PHP intellisense plugin. Non so se fa differenza.
Ignacio Segura,

Ci deve essere un modo semplice per vedere solo i metodi. È un po 'una seccatura scorrere l'elenco di un sacco di altre cose per trovare la sezione dei metodi. Qualcuno dovrebbe fare un plug-in per farlo se non è possibile altrimenti.
or

1
digitare @ anziché: per l'elenco delle funzioni di Go
Altimac,

1
Se non funziona per PHP, assicurati di avere il plugin "Simboli PHP" e funzionerà sicuramente.
Neeraj Singh,


17

Nel VSCode 1.24 puoi farlo.

Fare clic con il tasto destro sulla EXPLORERbarra laterale e selezionare Outline.


1
Non riesco ad esplorare i metodi di una classe js usando la struttura!
Legends

funziona benissimo per Java! Sto usando la versione aggiornata di vscode 2020
oshan2csd

15

AGGIORNAMENTO: Le funzionalità dell'estensione sono ora integrate e l'estensione stessa è ora obsoleta

Ho trovato questa estensione: Schema del codice . Ecco come appare:


Ecco come appare


Credo che sia quello che stavi cercando.


1
Questa estensione non esiste più. Penso che non sia stato pubblicato perché la funzione è ora integrata in VSCode.
Gama11

13

Oggi non esiste una tale funzione, CTRL+ SHIFT+ O== CTRL+ P@ non funziona in tutte le lingue.

Come ultima risorsa puoi usare il pannello di ricerca - anche se non è così veloce e facile da usare come desideri - puoi inserire questa regex nel pannello di ricerca per trovare tutte le funzioni:

function\s([_A-Za-z0-9]+)\s*\(

5

Per utenti PHP :)

  1. Assicurati di avere 'plugin ' Simbolo PHP ', quindi puoi ottenere tutti i metodi e le classi nella parteinferiore della barra laterale' OUTLINE '.

  2. Premi ⌘ command+ ⇧ shift+O in "macOS" o Ctrl+ Shift+ Omentre usi "Windows"

CONTORNO: inserisci qui la descrizione dell'immagine

@Simbolo: inserisci qui la descrizione dell'immagine


4

È una parte extra alla risposta a questa domanda qui, ma ho pensato che potesse essere utile. Come molte persone hanno menzionato, Visual Studio Code ha il OUTLINE parte che offre la possibilità di accedere a diverse funzioni e mostrarle sul lato.

Volevo anche aggiungere che se si seleziona il segno di cursore follow, si evidenzia quel nome di funzione nella vista OUTLINE, che è molto utile per navigare e vedere in quale funzione ci si trova.

inserisci qui la descrizione dell'immagine


4

Il marketplace di Visual Studio Code ha un'estensione molto bella chiamata Vai a metodo per navigare solo i metodi in un file di codice.

Premi Ctrl+ Shift+ Pe digita install extensionse premi Invio

inserisci qui la descrizione dell'immagine

Ora digita Add to methodla casella di ricerca del mercato delle estensioni e premi Invio.

inserisci qui la descrizione dell'immagine

Fare clic installper installare l'estensione.

L'ultimo passo è quello di associare una scorciatoia da tastiera al comando workbench.action.gotoMethodper renderla una vera produttività per uno sviluppatore.



3

Nel 2020 versione di VSCode
Cmd+P

  • # - Trova il simbolo tra i file
  • @ - Trova il simbolo all'interno del file
  • @: - Raggruppa i simboli all'interno di un file

Simboli in un file Codice VS v1.44.0


2
ctrl+shift+o // This should work for javascript files by default

Per PHP installare l'estensione SIMBOLI PHP

PER PYTHON installare l'estensione PYTHON

Su Ricarica, questo funzionerà benissimo


2
Puoi anche fare Ctrl+Pe digitare @: questo elenca tutte le funzioni / i simboli nel file. E quando si digita @function_name, una stringa fuzzy cerca i simboli.
Roopak A Nelliat,

sì bel suggerimento .. ma sai che richiede due passaggi, dove come ctrl + shift + o è un singolo passaggio. :)
Moh .S,


1

Esiste un plug-in chiamato show features che elenca tutte le definizioni delle funzioni in un file. Inoltre, consente di ordinare la funzione in modo da poterle cercare facilmente.


2
Un link a una soluzione è il benvenuto, ma assicurati che la tua risposta sia utile senza di essa: aggiungi un contesto attorno al link in modo che i tuoi colleghi utenti abbiano qualche idea di cosa sia e perché sia ​​lì, quindi cita la parte più pertinente della pagina che ' re collegamento a nel caso in cui la pagina di destinazione non sia disponibile. Le risposte che sono poco più di un collegamento possono essere eliminate.
Zoe,

1

Per trovare il metodo in tutti i file è possibile premere CTRL + Pe quindi iniziare la ricerca con#

esempio : #signin

inserisci qui la descrizione dell'immagine


0

Dai un'occhiata al Show Functionsplugin. Può elencare funzioni, simboli, segnalibri per espressioni regolari configurabili. Le espressioni regolari sono un vero risparmio, soprattutto quando non si utilizza un linguaggio tradizionale e quando CodeOutline non fa il lavoro. È brutto vedere una finestra divisa con queste funzioni (CodeOutline sembra essere meglio integrato) ma almeno c'è qualcosa da usare

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.