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?



Ten brakujący cechą jest śledzona w github.com/Microsoft/vscode/issues/5605
Foz

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ę.


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


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.


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.


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ś.


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*\(

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


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


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ść.



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


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


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

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ć.


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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.