Okno programu Visual Studio, które wyświetla listę metod


126

Czy w programie Visual Studio jest okno, które pokazuje listę metod w aktywnej klasie? Małe okno, takie jak Eksplorator rozwiązań, byłoby świetne. W Eclipse jest jeden.


2
Dla poszukujących w przyszłości - CodeMaid oferuje taką listę i wiele więcej! codemaid.net
BKSpurgeon,

Odpowiedzi:


127

Tuż nad oknem kodu znajduje się lista rozwijana:

tekst alternatywny

Nazywa się pasek nawigacji i zawiera trzy rozwijane menu: pierwsze menu zawiera projekt , drugi typ i trzecie elementy członkowskie (metody).

Możesz użyć skrótu Ctrl+ F2(przenieś fokus na listę rozwijaną projektu ) i naciśnij Tabdwukrotnie (przenieś fokus na trzecie menu rozwijane), aby go uaktywnić, strzałka w dół rozszerzy listę.

Obraz w pełnym rozmiarze


16
Czy wiesz, czy jest jakiś skrót, aby to otworzyć? Używanie do tego myszy jest denerwujące.
Mariusz Pawelski

@ChrisF wygląda na to, że nie widzę tego okna w vs2012. Jak to włączyć?
ysrb

@ysrb - Nie mam pojęcia. Nadal jestem tutaj na VS2010. Biorąc pod uwagę, że to pytanie dotyczyło VS2008, proponuję zadać nowe pytanie (link do tego, aby pokazać, że nie jest to duplikat).
ChrisF

10
Szukam również skrótu do otwarcia tego i / lub trwale otwartego okna lub ramki.
Xonatron


43

Znalazłem, jak włączyć menu rozwijane, jak pokazano w pierwszej odpowiedzi (@ChrisF):

Idź do Opcje-> Edytor tekstu -> (Twój język)

i zaznacz „Pasek nawigacji” w sekcji wyświetlacza.


Ocalisz mój dzień!
Emanuel Gianico

Zawsze brakowało mi paska nawigacji dla VB.NET. To umożliwia. Wielkie dzięki.
huha

W menu „Dodatki” znajdziesz „Opcje”.
ohgodnotanotherone

Narzędzia (karta)> Opcje> Edytor tekstu> (Twój język)
SandstormNick

Dzięki mark.oliver.asp.newbie. Właśnie zaktualizowałem z 2015 do 2019 i próbowałem znaleźć ten pasek we wszystkich menu opcji.
ExcelsiorTechSolutions

30

Od programu Visual Studio 2012 można wyświetlić konspekt (pola i metody) w eksploratorze rozwiązań, rozwijając węzeł odpowiadający plikowi.


2
Zdecydowanie wolę tę opcję niż rozwijaną, która jest irytująco posortowana alfabetycznie (moim zdaniem).
dbernard

Zauważ, że jeśli masz, partial classto wszyscy członkowie są wyszczególnieni w tym węźle, a nie tylko ci w tym pliku.
Dai,

24

Skrót do paska nawigacji to Ctrl+ F2. Najpierw przenosi Cię do listy rozwijanej typów. Naciśnij klawisz Tab, aby przejść do listy rozwijanej metody, a następnie wprowadź metodę, aby przejść do tej metody.


22

ReSharper ma 'ReSharper | Windows | Okno Struktura pliku, które służy do wizualizacji aktualnej struktury pliku kodu.


Rzeczywiście bardzo przydatne, ale czy istnieje skrót klawiaturowy dla tego okna?
Nicolas

`Alt +` to skrót klawiaturowy tego.
Hallmanac

19

Resharper ma okno Struktura pliku, które jest bardzo podobne do widoku konturu zaćmienia. Oryginalna odpowiedź w:

Visual Studio 2012: lista wszystkich metod w klasie

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

Zrzut ekranu okna Struktura plików


CTRL - F12 wywołuje okno nawigacji członków w Resharper. Zawiera listę wszystkich metod w klasie i daje możliwość wyszukiwania.
WoZoNe

1
CTRL - F11 pokazuje powyższe okno Resharper. To jest dokładnie to, czego szukałem.
gattsbr

11

Pomimo tego, że to stare pytanie, może ta odpowiedź pomogła Tobie, tak jak pomogła mi.

rozszerzenie codemaid można pobrać stąd: strona internetowa codemaid

ma wiele funkcji, które możesz znaleźć na ich stronie internetowej.

ten, który jest związany z tym pytaniem, to kopanie kodu

Wizualizuj i nawiguj po zawartości plików C # i C ++ w hierarchii widoku drzewa. Szybko przełączaj się między różnymi metodami sortowania, aby uzyskać lepszy przegląd. Przeciągnij i upuść, aby zreorganizować kod. Zobacz oceny złożoności McCabe i przydatne wskazówki dotyczące narzędzi.

innymi słowy, daje możliwość zobaczenia metod i właściwości, a także reorganizacji ich za pomocą przeciągania i upuszczania. to moje rozszerzenie do codziennego użytku


CodeMaid reimplementuje większość wbudowanych funkcji VS i jest przesadą i nieprzyjemnym widokiem zduplikowanych elementów menu zanieczyszczających IDE.
Ivan G.

Nie sądzę więc, kilka przydatnych funkcji takich jak 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 treesą narzędziami, które można znaleźć tylko w niektórych narzędzi, takich jak reshraper.
Mo Hrad A,

1
Nie uważałem tego za przestępstwo, ale większość procedur „porządkowania kodu” wprowadza przeważnie święte wojny stylu kodowania, na których mi nie zależy. Produkt jest pierwszy. Nie obchodzi mnie nawet, czy w jednym pliku są spacje i tabulatory, tylko produktywność.
Ivan G.,

Zarys kodu (pik) jest rzeczywiście pomocny. Byłoby wspaniale, gdyby był zsynchronizowany z aktualnie aktywnym / wybranym członkiem w edytorze tekstu.
Markus L

@MarkusL możesz utworzyć nowy numer tutaj: github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A

8

Nie ma bezpośredniego odpowiednika widoku konspektu w Eclipse. Najbliższą rzeczą, jaką znalazłem, jest widok klas, który zawiera listę wszystkich klas i ich składowych / metod. U góry znajduje się pole wyszukiwania, które pozwala zawęzić wybór.


Od VS 2010 w C ++ tutaj, wolę tę odpowiedź, ponieważ lista rozwijana, która ukrywa mój kod, jest denerwująca. Innym wygodniejszym skrótem do wyświetlania widoku klasy jest Ctrl + Shift + C.
Jeff T.

5

W programie Visual Studio 2015, Widok> Inne Windows> Widok zasobów . Skrót klawiaturowy to Ctrl+ Shift+ E. Uważam, że jest to czystsze niż widok klasy. Dzięki oknom Class View możesz filtrować metody / atrybuty na podstawie modyfikatora dostępu (prywatny / chroniony / publiczny) itp.


2
Chociaż zawiera listę pól i metod klasy, wymaga przede wszystkim przejścia do wymaganej klasy. To, o co prosił PO, dotyczyło aktualnie aktywnej klasy. czyli ten aktualnie otwarty w widoku kodu. Jeśli mam klasę o długości 3000 linii z 78 metodami i 63 polami, które obecnie mam otwarte i chcę szybko przejść do znanej nazwy metody, ale nie przypominam sobie jej lokalizacji, konieczność nawigacji w przestrzeni nazw nie jest lepsza niż Ctrl-F .
Draco18s nie ufa już SE

1
Dzięki temu właśnie tego szukałem! To niezwykle pomocne narzędzie.
user1529413

4

U góry edytora tekstu powinno znajdować się menu z listą wszystkich metod, właściwości itp. W bieżącym typie; i jest klikalny (nawet jeśli ci członkowie są zdefiniowani w innych plikach - w takim przypadku są wyszarzeni, ale nadal możesz się nimi poruszać).

Ponadto, jeśli używasz Eksploratora klas ( Ctrl+ Alt+ C) do poruszania się po projekcie, uzyskasz pełny przegląd wszystkich swoich typów. Jednak wydaje się, że w Narzędziach / Opcjach nie ma ustawienia, które pozwala śledzić aktywny typ w tym oknie (jest dla eksploratora rozwiązań) - być może makro lub dodatek jest w porządku ...



1

Czy masz na myśli okno widoku klasy (Widok-> Widok klasy lub Ctrl+ W, C)?

Masz również wyskakujące okienko inteligencji


Nie sądzę, aby którykolwiek z tych dwóch był przydatny. W widoku klasy musisz najpierw zlokalizować swoją klasę. Aby pokazać inteligencję, musisz gdzieś wpisać nazwę klasy lub nawet utworzyć jej instancję. Inne odpowiedzi zawierają szybsze i łatwiejsze w użyciu rozwiązania.
David Ferenczy Rogožan

1

W programie Visual Studio 2010

Wybierz Narzędzia-> Ustawienia-> Ustawienia eksperta

W lewym dolnym rogu zobaczysz kartę „Widok klasy”, a następnie następną kartę „Eksplorator rozwiązań”

W górnym obszarze układu „Class View” zobaczysz listę nazw klas, enum, struct, ... W dolnym obszarze „Class View layout” zobaczysz listę członków tych klas, wyliczeń lub struct


Jak już Sagie odpowiedział, Dawid Ferenczy już komentuje: „W widoku klasy musisz najpierw zlokalizować swoją klasę. Aby pokazać inteligencję, musisz gdzieś wpisać nazwę klasy lub nawet ją utworzyć. Inne odpowiedzi zawierają szybsze i łatwiejsze w użyciu rozwiązania . ”
Draco18s nie ufa już SE

1

Przyjemnym, czystym sposobem jest użycie View.SynchronizeClassView.

wprowadź opis obrazu tutaj

Dodatkowo możesz:

  • przypnij okno widoku klasy
  • zwiń górny panel (z listą wszystkich klas)

A teraz wygląda to tak, jak funkcja Visual Assist „Lista metod w bieżącym pliku” (która również wyświetla listę członków).


Gdzie to znalazłem View.SynchronizeClassView? Mogę znaleźć tylko „normalny” widok klasy w programie Visual Studio 2017.
user11909,

To jest polecenie wpisywane w oknie poleceń. Niestety nie możesz ustawić automatycznej synchronizacji ClassView i musisz to robić ręcznie za każdym razem. Możesz przypisać skrót, ale nadal jest to niepotrzebna niedogodność.
mKay

0

Microsoft nie chce wdrożyć tego użytecznego narzędzia, ale jeśli przez przypadek możesz mieć Visual Assist, masz go w VAssistX> Tools> VA Outline . Wtyczka nie jest jednak darmowa.


0

Używam USysWare DPack od zawsze. Jest bardzo mały i nie uciążliwy, więc jeśli chcesz tylko szybkiego okna skrótu pokazującego listę metod bieżącego pliku, którego używasz, zapewnia właśnie to. Dobrze, że autor jest nadal aktywny po ponad 10 latach, aby zapewnić te same funkcje w najnowszej wersji VS.

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

Po instalacji użyj przycisku, Alt + Maby wyświetlić okno z listą metod. Wolę zamiast tego pokazać wszystkich członków, ale to zależy od Ciebie.


-1

W VS 2012 po prostu przejdź do Widok> Widok klasy ... a następnie uzyskasz GUI widoku klasy w głównym obszarze karty. Teraz przeciągnij to do bocznego doku i masz dokładnie taki sam układ, jak w Eclipse.

-mi


To jest coś innego. Nie pokazuje członków bieżącej klasy (klasa otwarta w edytorze). Musisz go zlokalizować ręcznie. Lepiej jest użyć eksploratora rozwiązań (rozwiń plik i klasę pod nim), ponieważ możesz zsynchronizować go z bieżącym plikiem.
David Ferenczy Rogožan

-1

Najlepszym sposobem na to jest otwarcie okna definicji kodu, w menu Widok -> Okno definicji kodu lub naciśnięcie Ctrl+ W,D .

A potem mam to float i mam definicje metod w osobnych oknach.

pozdrowienia


Jak odpowiada na pytanie OP? W ogóle nie potrzebuje definicji, wystarczy lista członków klasy. Aby zobaczyć definicję, zwykle wystarczy dwukrotnie kliknąć metodę na takiej liście.
David Ferenczy Rogožan

-4

grep -i "sub" filename.vb> methods.txt grep -i "function" filename.vb >> methods.txt


Proszę wyjaśnić, w jaki sposób daje to odpowiedź na pytanie.
AdrianHHH

Odpowiada na pytanie, ponieważ to rozwiązanie zawiera listę wszystkich subskrybentów i funkcji w klasie VB.
John Reichert,

Nie chciał listy metod w klasie. Potrzebował okna w Visual Studio z listą metod w aktywnej klasie. Odwołał się również do tego samego w Eclipse. To oczywiste, że twoja odpowiedź dotyczy czegoś zupełnie innego.
David Ferenczy Rogožan
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.