Lista metod w kodzie Visual Studio

278

Niedawno zacząłem używać edytora Visual Studio Code. Uwielbiam to, ale jest jedna ważna cecha (dla mnie), której nie udało mi się znaleźć. Czy istnieje lista metod podobna do Nawigatora w NetBeans lub rozwijanego członka w Visual Studio?

Jim Carr
źródło

Odpowiedzi:

266

Tak, jest workbench.action.gotoSymbolpolecenie. W systemach Windows i Linux jest domyślnie ustawiony na CTRL+ Shift+ O.

Jeśli to polecenie nie jest dostępne dla typów plików, z którymi pracujesz, powinieneś spojrzeć na rozszerzenia VSCode . Nie wszystkie języki obsługują tę funkcję.

Wosi
źródło
4
Hmm, nie takie zachowanie, na jakie liczyłem. Wypróbowałem kilka typów plików: w pliku C ++ jest napisane „Niestety nie mamy informacji o symbolach dla pliku”, aw Pythonie jest napisane „Wystąpił błąd w rozszerzeniu Pythona”.
Jim Carr
Cholera, wygląda na to, że nie mam szczęścia. Próbowałem innego rozszerzenia Python, teraz pojawia się błąd „brak informacji o symbolu”. :( Dziękuję za informację.
Jim Carr
6
To są symbole PHP .
ariefbayu
Działa świetnie w javascript, skrót może być inny, gdy używasz innych
map
38
Dodając do tego, jeśli naciśniesz :później Ctrl+ Shift + O, wyniki zostaną pogrupowane według typu, co spowoduje wyświetlenie listy wszystkich funkcji w jednej liście podrzędnej.
Aditya Vikas Devarapalli
184

Aktualizacja : Jak stwierdzono w komentarzach @ jeff-xiao, to rozszerzenie jest przestarzałe i jest teraz wbudowaną funkcją kodu Visual Studio . Powinien być dostępny w dolnej części Eksploratora plików jako widok „Zarys”.

Poprzedni tekst: Istnieje teraz rozszerzenie, które to obsługuje. Zarys kodu tworzy panel w sekcji „Eksplorator”, a dla JavaScript wyświetla zmienne i funkcje w pliku. Używam tego od jakiegoś czasu i drapie mnie swędzenie. Inni komentatorzy wspominali, że dobrze obsługuje Python i PHP.

Nadal wydaje się być w fazie rozwoju, ale nie miałem żadnych problemów. Wersja rozwojowa dostępna na GitHub . Jeśli jesteś autorem, który to czyta - dzięki!

Tak to wygląda:
Wtyczka Code Outline dla VSCode

Jeśli zarys kodu nie jest widoczny, możesz go pokazać poprzez: wprowadź opis zdjęcia tutaj

Stuart Brock
źródło
4
Dobra rozmowa, działa dobrze z JavaScript i nie szuka ukrytych skrótów klawiaturowych, miło.
Julian Knight
6
Rozszerzenie jest przestarzałe: DEPRECATED. Skorzystaj z widoku Zarys dołączonego do Visual Studio Code.
Xiao
Czy mam rację, że nie obsługuje przeglądania wszystkich metod klasy w Pythonie?
Eric Auld
Wydaje mi się, że czasami widok konspektu nie pokazuje niczego dla plików Pythona.
nurp
Czy jest taka opcja dla C ++?
Dikla
118

Wywołaj Go to symbolpolecenie Code :

  • macOS: cmd+ shift+ o(litera o, nie zero)

  • Windows / Linux: ctrl+ shift+o

Wpisanie dwukropka ( :) po wywołaniu Go to symbolspowoduje pogrupowanie symboli według typu (klasy, interfejsy, metody, właściwości, zmienne). Następnie przewiń do methodssekcji.

Yiling
źródło
3
Potwierdzono, że działa również na PHP, ale proszę zauważyć, że mam zainstalowaną wtyczkę Intellisense PHP. Nie wiem, czy to robi różnicę.
Ignacio Segura,
Musi istnieć łatwy sposób, aby zobaczyć metody. To trochę kłopotliwe, przewijanie listy innych rzeczy, aby znaleźć sekcję metod. Ktoś powinien zrobić wtyczkę, aby to zrobić, jeśli inaczej nie jest to możliwe.
orrd
1
wpisz @ zamiast: dla listy funkcji Go
Altimac
1
Jeśli nie działa dla PHP, upewnij się, że masz wtyczkę „Symbole PHP” i na pewno będzie działać.
Neeraj Singh,
17

W VSCode 1.24 możesz to zrobić.

Kliknij prawym przyciskiem myszy EXPLORERpasek boczny i zaznaczone Outline.

Hossein
źródło
1
Nie mogę badać metod klasy js za pomocą konturu!
Legends
działa dobrze dla Java! Używam zaktualizowanej wersji vscode 2020
oshan2csd
15

AKTUALIZACJA: Funkcje rozszerzenia są teraz wbudowane, a samo rozszerzenie jest już nieaktualne

Znalazłem to rozszerzenie: Zarys kodu . Tak to wygląda:


Tak to wygląda


Wierzę, że tego właśnie szukałeś.

ddsultan
źródło
1
To rozszerzenie już nie istnieje. Myślę, że nie został opublikowany, ponieważ funkcja jest teraz wbudowana w VSCode.
Gama11,
13

Dzisiaj nie ma takiej funkcji CTRL + SHIFT+ O== CTRL+ P@ nie działa we wszystkich językach.

W ostateczności możesz użyć panelu wyszukiwania - chociaż nie jest on tak szybki i łatwy w użyciu, jak chcesz - możesz wprowadzić ten wyrażenie regularne w panelu wyszukiwania, aby znaleźć wszystkie funkcje:

function\s([_A-Za-z0-9]+)\s*\(
Picard
źródło
5

Dla użytkowników PHP :)

  1. Upewnij się, że masz wtyczkę „ Symbol PHP ”, wtedy możesz uzyskać wszystkie metody i klasy w dolnej części paska bocznego „ OUTLINE ”.

  2. Naciśnij ⌘ command+ ⇧ shift+ Ow „macOS” lub Ctrl+ Shift+ Opodczas korzystania z „Windows”

ZARYS: wprowadź opis zdjęcia tutaj

@Symbol: wprowadź opis zdjęcia tutaj

Neeraj Singh
źródło
4

To dodatkowa część odpowiedzi na to pytanie, ale pomyślałem, że może być przydatna. Jak wiele osób wspomniało, Visual Studio Code ma ZARYS część która umożliwia przeglądanie różnych funkcji i wyświetlanie ich z boku.

Chciałem również dodać, że jeśli zaznaczysz znak kursora śledzenia, podświetli nazwę tej funkcji w widoku ZARYS, co jest bardzo pomocne w przeglądaniu i sprawdzaniu, w której funkcji jesteś.

wprowadź opis zdjęcia tutaj

Ahmad Ghadiri
źródło
4

Rynek Visual Studio Code ma bardzo ładne rozszerzenie o nazwie Idź do metody do poruszania się tylko po metodach w pliku kodu.

Naciśnij Ctrl+ Shift+, Pwpisz install extensionsi naciśnij enter

wprowadź opis zdjęcia tutaj

Teraz wpisz Add to methodw polu wyszukiwania rynek rozszerzeń i naciśnij klawisz Enter.

wprowadź opis zdjęcia tutaj

Kliknij, installaby zainstalować rozszerzenie.

Ostatnim krokiem jest powiązanie skrótu klawiaturowego z poleceniem, workbench.action.gotoMethodaby programista mógł zwiększyć wydajność.

RBT
źródło
3

W 2020 roku wersja VSCode
Cmd+P

  • # - Znajdź symbol w plikach
  • @ - Znajdź symbol w pliku
  • @: - Grupuj symbole w pliku

Symbole w pliku Kod VS v1.44.0

maverickm
źródło
2
ctrl+shift+o // This should work for javascript files by default

Dla PHP zainstaluj rozszerzenie PHP SYMBOLS

DLA PYTHON zainstaluj rozszerzenie PYTHON

Po przeładowaniu będzie to działać poprawnie

Moh .S
źródło
2
Możesz także zrobić Ctrl+Pi wpisać @- wyświetla wszystkie funkcje / symbole w pliku. A podczas pisania @function_namewyszukiwane są rozmyte ciągi znaków.
Roopak A Nelliat
tak, fajna sugestia .. ale wiesz, że wymaga to dwóch kroków, podczas gdy ctrl + shift + o to pojedynczy krok. :)
Moh .S
1

CTRL+ F12( CMD+ F12dla komputerów Mac) - otwiera mi wszystkie metody i członków klasy PHP.

Alex Mazaltov
źródło
Nie działało, czy na pewno nie używasz żadnego rozszerzenia?
Mohammed Atif Sami
1

Istnieje wtyczka o nazwie show functions, która wyświetla wszystkie definicje funkcji w pliku. Umożliwia także sortowanie funkcji, dzięki czemu można je łatwo wyszukiwać.

BK0090
źródło
2
Link do rozwiązania jest mile widziany, ale upewnij się, że Twoja odpowiedź jest przydatna bez niego: dodaj kontekst wokół linku, aby inni użytkownicy mieli pojęcie o tym, co to jest i dlaczego tam jest, a następnie przytocz najbardziej odpowiednią część strony, którą „ ponowne linkowanie na wypadek, gdyby strona docelowa była niedostępna. Odpowiedzi, które są niewiele więcej niż link, mogą zostać usunięte.
Zoe
1

Aby znaleźć metodę znajdowania we wszystkich plikach, możesz nacisnąć, CTRL + Pa następnie rozpocząć wyszukiwanie za pomocą#

przykład: #signin

wprowadź opis zdjęcia tutaj

Hamed Naeemaei
źródło
0

Spójrz na Show Functionswtyczkę. Może wyświetlać funkcje, symbole, zakładki według konfigurowalnych wyrażeń regularnych. Wyrażenia regularne to prawdziwa oszczędność, szczególnie gdy nie używasz głównego nurtu języka i gdy CodeOutline nie wykonuje pracy. Brzydko jest widzieć podzielone okno z tymi funkcjami (CodeOutline wydaje się być lepiej zintegrowany), ale przynajmniej jest coś do użycia

Ben
źródło