Nawigowanie po kodzie C++ w programie Visual Studio

Program Visual Studio udostępnia zestaw narzędzi, których można użyć do szybkiego i wydajnego poruszania się po bazie kodu.

Otwieranie dołączonego pliku

Kliknij prawym przyciskiem myszy dyrektywę #include i wybierz polecenie Przejdź do dokumentu. Możesz też wybrać klawisz F12 z kursorem nad tym wierszem, aby otworzyć plik.

Zrzut ekranu przedstawiający opcję menu C plus Przejdź do dokumentu w kontekście niektórych instrukcji include.

Przełącz nagłówek/plik kodu

Można przełączać się między plikiem nagłówka a odpowiadającym mu plikiem źródłowym. Kliknij prawym przyciskiem myszy w dowolnym miejscu w pliku i wybierz polecenie Przełącz nagłówek/plik kodu. Możesz też wybrać klawisze Ctrl+K, Ctrl+O.

Przejdź do definicji/deklaracji

Możesz przejść do definicji elementu kodu, klikając prawym przyciskiem myszy w edytorze i wybierając polecenie Przejdź do definicji lub wybierając klawisz F12. Możesz przejść do deklaracji podobnie, klikając prawym przyciskiem myszy, aby otworzyć menu kontekstowe, lub wybierając klawisze Ctrl+F12.

Zrzut ekranu przedstawiający opcje wyświetlane po kliknięciu prawym przyciskiem myszy elementu kodu. Zawiera definicję Przejdź do, Zobacz definicję i Przejdź do deklaracji.

Przejdź do

Funkcja Przejdź do odwołuje się do zestawu funkcji nawigacji, z których każdy zapewnia określony wynik na podstawie określonych filtrów.

Możesz otworzyć polecenie Przejdź do za pomocą klawiszy Ctrl+,. Ta akcja powoduje utworzenie pola wyszukiwania nad edytowanym dokumentem.

Zrzut ekranu przedstawiający pole wyszukiwania wyświetlane po otwarciu pozycji Przejdź do. Istnieje pole tekstowe dla terminów wyszukiwania i filtry typów, ostatnio używanych plików itp.

Przejdź do pozycji Aby uwzględnić następujące filtry wyszukiwania:

  • Przejdź do wiersza (Ctrl+G): Szybko przejdź do innego wiersza w bieżącym dokumencie.
  • Przejdź do wszystkich (Ctrl+,) lub (Ctrl+T): wyniki wyszukiwania zawierają wszystko, co następuje.
  • Przejdź do pliku (Ctrl 1, F): wyszukaj pliki w rozwiązaniu.
  • Przejdź do typu (Ctrl 1, T): Wyniki wyszukiwania obejmują:
    • Klasy, struktury i wyliczenia.
    • Interfejsy i delegaty (tylko kod zarządzany).
  • Przejdź do elementu członkowskiego (Ctrl 1, M): wyniki wyszukiwania obejmują:
    • Zmienne globalne i funkcje globalne.
    • Zmienne składowe klasy i funkcje składowe.
    • Stałe.
    • Elementy wyliczenia.
    • Właściwości i zdarzenia.
  • Przejdź do symbolu (Ctrl 1, S): wyniki wyszukiwania obejmują:
    • Wyniki z przechodzenia do typów i przechodzenia do członków.
    • Wszystkie pozostałe konstrukcje języka C++, które obejmują makra.

Po pierwszym wywołaniu funkcji Przejdź do za pomocą klawiszy Ctrl +, aktywowano funkcję Przejdź do wszystkich (brak filtrów w wynikach wyszukiwania). Następnie możesz wybrać odpowiedni filtr przy użyciu przycisków w pobliżu pola wyszukiwania. Można wywołać określony filtr przy użyciu odpowiedniego skrótu klawiaturowego. Spowoduje to otwarcie pola wyszukiwania Przejdź do z wybranym wstępnie filtrem. Wszystkie skróty klawiaturowe można konfigurować.

Aby zastosować filtr tekstowy, uruchom zapytanie wyszukiwania z odpowiednim znakiem filtru, po którym następuje spacja. (Opcja Przejdź do wiersza może pominąć spację). Dostępne są następujące filtry tekstowe:

  • Przejdź do wszystkich: (bez filtru tekstu)
  • Przejdź do numeru wiersza: :
  • Przejdź do pliku: f
  • Przejdź do typu: t
  • Przejdź do członka: m
  • Przejdź do symbolu: #

Poniższy przykład przedstawia wyniki operacji Przejdź do plików przy użyciu filtru "f":

Zrzut ekranu przedstawiający wyniki przechodzenia do plików. Użytkownik wpisił ciąg

Aby wyświetlić listę filtrów tekstowych, wpisz ? po nim spacja. Możesz również uzyskać dostęp do poleceń Przejdź do za pomocą menu Edycja . Jest to inny sposób, aby przypomnieć sobie o głównych skrótach klawiaturowych Przejdź do .

Zrzut ekranu przedstawiający menu Przejdź do, które zawiera opcje, takie jak Przejdź do wiersza (Ctrl + G), Przejdź do pliku (Ctrl + 1, Ctrl + F) i inne.

Znajdowanie lub znajdowanie w plikach

Możesz uruchomić wyszukiwanie tekstu dla dowolnego elementu w rozwiązaniu za pomocą klawiszy Znajdź (Ctrl+F) lub Znajdź w plikach (Ctrl+Shift+F).

Zakres znajdowania można ograniczyć do zaznaczenia, bieżącego dokumentu, wszystkich otwartych dokumentów, bieżącego projektu lub całego rozwiązania. Można używać wyrażeń regularnych i zwykłego tekstu. Wyróżnia również wszystkie dopasowania automatycznie w środowisku IDE.

Zrzut ekranu przedstawiający okno dialogowe Znajdowanie. Użytkownik przeszukał kanał. Żółte wyróżnienia w pliku pokazują wszystkie miejsca, w których znaleziono kanał.

Znajdź w plikach to bardziej zaawansowana wersja funkcji Znajdź , która wyświetla wyniki w oknie Znajdowanie wyników . Możesz wyszukiwać zależności kodu zewnętrznego, filtrować według typów plików i nie tylko.

Zrzut ekranu przedstawiający okno dialogowe Znajdowanie i zastępowanie. Zostanie wybrana strona Znajdź w plikach. Opcje są wyświetlane dla pasującego przypadku, całego słowa itd.

Wyniki funkcji Znajdź w plikach można organizować w dwóch oknach. Możesz dołączyć wyniki z wielu wyszukiwań razem. Wybierz wynik, aby przejść do tej lokalizacji w pliku.

Zrzut ekranu przedstawiający wynik wyszukiwania Znajdź w plikach zawierający pliki zawierające tekst zgodny z ciągiem wyszukiwania i fragmentem każdego dopasowania.

Aby uzyskać więcej informacji, zobacz Znajdowanie w plikach w dokumentacji programu Visual Studio.

Znajdź wszystkie odwołania

Aby znaleźć wszystkie użycia symbolu w bazie kodu, umieść daszek lub tuż po symbolu, kliknij prawym przyciskiem myszy, a następnie wybierz polecenie Znajdź wszystkie odwołania. Wyniki można filtrować, sortować lub grupować na wiele różnych sposobów. Wyniki są wypełniane przyrostowo. Są one klasyfikowane jako odczyty lub zapisy, aby ułatwić sprawdzenie, co znajduje się w rozwiązaniu, w przeciwieństwie do nagłówków systemowych lub innych bibliotek.

Zrzut ekranu przedstawiający wyniki znajdowania wszystkich odwołań, który pokazuje wiersz, w którym został znaleziony symbol, w którym znajduje się plik i projekt itd.

Wyniki można grupować według następujących kategorii:

  • Projekt, a następnie definicja
  • Tylko definicja
  • Definicja, a następnie projekt
  • Definicja, a następnie ścieżka
  • Definicja, projekt, a następnie ścieżka

Filtrowanie wyników

Aby filtrować wyniki, umieść kursor nad kolumną i wybierz ikonę filtrowania, która zostanie wyskakujący. Możesz filtrować wyniki z pierwszej kolumny, aby ukryć takie elementy jak ciąg i odwołania do komentarzy, których może nie chcieć zobaczyć.

Zrzut ekranu przedstawiający opcje filtrowania. Obejmuje potwierdzone, niepotwierdzone, w komentarzu i nieprzetworzone. Każdy pokazuje, ile wyników ma zastosowanie do tej kategorii.

  • Potwierdzone wyniki: rzeczywiste odwołania kodu do wyszukiwanego symbolu. Na przykład wyszukiwanie funkcji składowej o nazwie Size zwraca wszystkie odwołania do Size tej wartości zgodnej z zakresem klasy definiującej Sizeelement .

  • Niepotwierdzone wyniki: ten filtr jest domyślnie wyłączony, ponieważ pokazuje symbole, których nazwy pasują, ale nie są rzeczywistymi odwołaniami do szukanego symbolu. Jeśli na przykład masz dwie klasy, z których każda definiuje funkcję składową o nazwie Size, i uruchamiasz wyszukiwanie Size odwołania z obiektu Class1, wszelkie odwołania do Size z Class2 nich są wyświetlane jako niepotwierdzone.

  • Nieprzetworzone wyniki: wykonywanie operacji Znajdź wszystkie odwołania może zająć trochę czasu na większych bazach kodu, więc na liście Wyników są wyświetlane wyniki "nieprzetworzone". Nieprzetworzone wyniki pasują do nazwy wyszukiwanego symbolu, ale nie zostały jeszcze potwierdzone jako rzeczywiste odwołania do kodu. Możesz włączyć ten filtr, aby uzyskać szybsze wyniki. Niektóre wyniki mogą nie być rzeczywistymi odwołaniami.

Sortowanie wyników

Wyniki można sortować według dowolnej kolumny, wybierając tę kolumnę. Możesz zamienić kolejność rosnącą lub malejącą, ponownie wybierając kolumnę.

Możesz przejść do definicji typu w pliku lub wpisać elementy członkowskie, używając paska nawigacyjnego powyżej okna edytora.

Zrzut ekranu przedstawiający pasek nawigacyjny powyżej okna edytora. Pokazuje ona cryptlib > ChannelSwitch > ChannelMessageSeriesEnd().

Zobacz też