Methodenliste in Visual Studio Code

278

Ich habe kürzlich begonnen, den Visual Studio Code-Editor zu verwenden. Ich liebe es wirklich, aber es gibt eine wichtige Funktion (für mich), die ich nicht finden konnte. Gibt es eine Methodenliste, die dem Navigator in NetBeans oder der Dropdown-Liste "Mitglieder" in Visual Studio ähnelt?

Jim Carr
quelle

Antworten:

266

Ja, da ist der workbench.action.gotoSymbolBefehl. Unter Windows und Linux ist es standardmäßig auf CTRL+ Shift+ eingestellt O.

Wenn dieser Befehl für die Dateitypen, mit denen Sie arbeiten, nicht verfügbar ist, sollten Sie sich die VSCode-Erweiterungen ansehen . Nicht alle Sprachen unterstützen diese Funktion.

Wosi
quelle
4
Hmm, nicht das Verhalten, auf das ich gehofft hatte. Ich habe einige Dateitypen ausprobiert: In einer C ++ - Datei heißt es "Leider haben wir keine Symbolinformationen für die Datei" und in Python heißt es "Es ist ein Fehler in der Python-Erweiterung aufgetreten".
Jim Carr
Nun, verdammt, es sieht so aus, als hätte ich kein Glück. Ich habe eine andere Python-Erweiterung ausprobiert. Jetzt wird der Fehler "Keine Symbolinformationen" angezeigt. :( Danke für die Info.
Jim Carr
6
Dies sind Symbole für PHP .
Ariefbayu
Funktioniert hervorragend in Javascript. Die Verknüpfung kann bei Verwendung anderer Tastenkombinationen unterschiedlich sein
Ray1618
37
Wenn Sie :nach Ctrl+ Shift + Odem Drücken auf diese Option hinzufügen, werden die Ergebnisse nach Typ gruppiert, wodurch alle Funktionen in einer Unterliste aufgelistet werden.
Aditya Vikas Devarapalli
184

Update : Wie in den Kommentaren von @ jeff-xiao angegeben, ist diese Erweiterung veraltet und jetzt eine integrierte Funktion von Visual Studio-Code . Es sollte am unteren Rand des Datei-Explorers als "Gliederungsansicht" verfügbar sein.

Vorheriger Text: Es gibt jetzt eine Erweiterung, die dies unterstützt. Code Outline erstellt ein Bedienfeld im Abschnitt "Explorer" und listet für JavaScript Variablen und Funktionen in einer Datei auf. Ich benutze das jetzt schon eine Weile und es kratzt den Juckreiz, den ich hatte. Andere Kommentatoren haben erwähnt, dass es Python und PHP gut unterstützt.

Es scheint sich noch in der Entwicklung zu befinden, aber ich hatte keine Probleme. Entwicklungsversion auf GitHub verfügbar . Wenn Sie der Autor sind, der dies liest - danke!

So sieht es aus:
Code Outline Plugin für VSCode

Wenn die Code-Gliederung nicht sichtbar ist, können Sie sie anzeigen durch: Geben Sie hier die Bildbeschreibung ein

Stuart Brock
quelle
4
Guter Anruf, funktioniert gut mit JavaScript und keine Suche nach versteckten Tastaturkürzeln, nett.
Julian Knight
6
Die Erweiterung ist veraltet: DEPRECATED. Verwenden Sie die Gliederungsansicht , die mit Visual Studio Code geliefert wird.
Xiao
Stimmt es, dass nicht alle Methoden einer Klasse in Python angezeigt werden?
Eric Auld
Ich denke, manchmal zeigt die Gliederungsansicht nichts für Python-Dateien.
Nurp
Gibt es eine solche Option für C ++?
Dikla
118

Rufen Sie den Go to symbolBefehl von Code auf :

  • macOS: cmd+ shift+ o(der Buchstabe o, nicht Null)

  • Windows / Linux: ctrl+ shift+o

Wenn Sie :nach dem Aufrufen einen Doppelpunkt ( ) eingeben, Go to symbolwerden die Symbole nach Typ gruppiert (Klassen, Schnittstellen, Methoden, Eigenschaften, Variablen). Scrollen Sie dann einfach zum methodsAbschnitt.

Yiling
quelle
3
Bestätigt, dass es auch unter PHP funktioniert, aber bitte beachten Sie, dass ich das PHP Intellisense Plugin installiert habe. Ich weiß nicht, ob es einen Unterschied macht.
Ignacio Segura
Es muss eine einfache Möglichkeit geben, nur die Methoden zu sehen. Es ist eine Art Schmerz, durch die Liste einer Reihe anderer Dinge zu scrollen, um den Methodenabschnitt zu finden. Jemand sollte ein Plug-In erstellen, um dies zu tun, wenn dies sonst nicht möglich ist.
3.
1
Geben Sie
1
Wenn Sie nicht für PHP arbeiten, stellen Sie sicher, dass Sie das Plugin 'PHP Symbols' haben und es wird sicher funktionieren.
Neeraj Singh
17

In VSCode 1.24 Sie das tun.

Klicken Sie mit EXPLORERder rechten Maustaste auf die Seitenleiste und aktivieren Sie Outline.

Hossein
quelle
1
Ich kann Methoden einer js-Klasse nicht mit Gliederung untersuchen!
Legenden
funktioniert gut für Java! Ich verwende die aktualisierte Version von vscode 2020
oshan2csd
15

UPDATE: Die Erweiterungsfunktionen sind jetzt integriert und die Erweiterung selbst ist jetzt veraltet

Ich habe diese Erweiterung gefunden: Code Outline . So sieht es aus:


So sieht es aus


Ich glaube, das ist es, wonach Sie gesucht haben.

ddsultan
quelle
1
Diese Erweiterung existiert nicht mehr. Ich denke, es wurde nicht veröffentlicht, da die Funktion jetzt in VSCode integriert ist.
Gama11
13

Es gibt heute keine solche Funktion, das CTRL+ SHIFT+ O== CTRL+ P@ funktioniert nicht für alle Sprachen.

Als letzten Ausweg können Sie das Suchfeld verwenden - obwohl es nicht so schnell und einfach zu bedienen ist, wie Sie möchten - können Sie diesen regulären Ausdruck in das Suchfeld eingeben, um alle Funktionen zu finden:

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

Für PHP-Benutzer :)

  1. Stellen Sie sicher, dass Sie das Plugin ' PHP Symbol ' haben, dann können Sie alle Methoden und Klassen in der Seitenleiste ' OUTLINE ' unten finden.

  2. Drücken Sie ⌘ command+ ⇧ shift+ Oin "macOS" oder Ctrl+ Shift+, Owährend Sie "Windows" verwenden.

GLIEDERUNG: Geben Sie hier die Bildbeschreibung ein

@Symbol: Geben Sie hier die Bildbeschreibung ein

Neeraj Singh
quelle
4

Es ist ein zusätzlicher Teil der Antwort auf diese Frage hier, aber ich dachte, es könnte nützlich sein. Wie bereits erwähnt, verfügt Visual Studio Code über den OUTLINE- Teil, mit dem Sie zu verschiedenen Funktionen navigieren und diese nebeneinander anzeigen können.

Ich wollte auch hinzufügen, dass, wenn Sie die Markierung für den folgenden Cursor aktivieren, dieser Funktionsname in der OUTLINE-Ansicht hervorgehoben wird, was sehr hilfreich ist, um zu durchsuchen und zu sehen, in welcher Funktion Sie sich befinden.

Geben Sie hier die Bildbeschreibung ein

Ahmad Ghadiri
quelle
4

Der Visual Studio Code-Marktplatz hat eine sehr schöne Erweiterung namens Go To Method, mit der nur Methoden in einer Codedatei navigiert werden können.

Hit Ctrl+ Shift+ Pund geben Sie die install extensionsund drücken Sie die Eingabetaste

Geben Sie hier die Bildbeschreibung ein

Geben Sie nun das Add to methodSuchfeld des Erweiterungsmarkts ein und drücken Sie die Eingabetaste.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie hier install, um die Erweiterung zu installieren.

Der letzte Schritt besteht darin, eine Tastenkombination an den Befehl zu binden workbench.action.gotoMethod, um ihn für einen Entwickler zu einer echten Produktivitätssache zu machen.

RBT
quelle
3

In der 2020-Version von VSCode
Cmd+P

  • # - Suchen Sie das Symbol in allen Dateien
  • @ - Symbol in Datei suchen
  • @: - Gruppensymbole in einer Datei

Symbole in einer Datei VS Code v1.44.0

Außenseiter
quelle
2
ctrl+shift+o // This should work for javascript files by default

Installieren Sie für PHP die Erweiterung PHP SYMBOLS

FÜR PYTHON installieren Sie die Erweiterung PYTHON

Beim Neuladen funktioniert dies einwandfrei

Moh .S
quelle
2
Sie können auch tun Ctrl+Pund eingeben @- hier werden alle Funktionen / Symbole in der Datei aufgelistet. Und beim Tippen@function_name wird eine Fuzzy-String-Suche nach den Symbolen durchgeführt.
Roopak A Nelliat
Ja, schöner Vorschlag. Aber Sie wissen, dass zwei Schritte erforderlich sind, wobei Strg + Umschalt + O ein einzelner Schritt ist. :)
Moh .S
1

CTRL+ F12( CMD+ F12für Mac) - öffnet für mich alle Methoden und Mitglieder der PHP-Klasse.

Alex Mazaltov
quelle
Hat nicht funktioniert, sind Sie sicher, dass Sie keine Erweiterung verwenden?
Mohammed Atif Sami
1

Es gibt ein Plugin namens show functions, das alle Funktionsdefinitionen in einer Datei auflistet. Außerdem können Sie die Funktion sortieren, um sie einfach zu durchsuchen.

BK0090
quelle
2
Ein Link zu einer Lösung ist willkommen, aber stellen Sie sicher, dass Ihre Antwort ohne sie nützlich ist: Fügen Sie dem Link einen Kontext hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist, und zitieren Sie dann den relevantesten Teil der Seite, die Sie verwenden. erneutes Verknüpfen mit, falls die Zielseite nicht verfügbar ist. Antworten, die kaum mehr als ein Link sind, können gelöscht werden.
Zoe
1

Für die CTRL + PSuchmethode in allen Dateien können Sie drücken und dann mit suchen#

Beispiel: #signin

Geben Sie hier die Bildbeschreibung ein

Hamed Naeemaei
quelle
0

Schauen Sie sich das Show FunctionsPlugin an. Es kann Funktionen, Symbole und Lesezeichen durch konfigurierbare reguläre Ausdrücke auflisten. Reguläre Ausdrücke sind eine echte Ersparnis, insbesondere wenn Sie keine Mainstream-Sprache verwenden und CodeOutline die Aufgabe nicht erfüllt. Es ist hässlich, ein geteiltes Fenster mit diesen Funktionen zu sehen (CodeOutline scheint besser integriert zu sein), aber es gibt zumindest etwas zu verwenden

Ben
quelle