共用方式為


在 Visual Studio 中巡覽 C++ 程式碼

Visual Studio 提供一套工具,可讓您快速且有效率地巡覽程式碼基底。

開啟包含的檔案

以滑鼠右鍵按一下 #include 指示詞,然後選取 前往文件。 或者,將游標移到該行上方並選取 F12 以開啟該檔案。

在部分 include 語句的環境中與 C++ 前往文件選單選項的螢幕截圖。

切換標頭/程式碼檔

您可以在標頭檔案與其對應之來源檔案之間切換。 以滑鼠右鍵按一下您檔案中的任一處,然後選取 [切換標頭/程式碼檔]。 或者,您可以選取 Ctrl+KCtrl+O

移至定義/宣告

您可以在編輯器中以滑鼠右鍵按下並選取 [移至定義],或選取 F12,瀏覽至程式碼項目的定義。 您也可以使用滑鼠右鍵按一下以開啟右鍵選單,或者選擇 Ctrl+F12 來導航至宣告。

當您以滑鼠右鍵按下程式代碼項目時出現的選項螢幕快照。包含 [移至定義]、[查看定義] 和 [移至宣告]。

前往

Go To 是指一組導覽功能,每個功能都會根據您指定的篩選來提供特定結果。

您可以使用 Ctrl+, 開啟 移至。 此動作會在您正在編輯的文件上建立搜尋方塊。

當您開啟 [前往] 時顯示的搜尋方塊螢幕快照。此處有一個供您輸入搜尋字詞的文本框,以及用於篩選類型、最近檔案等的篩選條件。

前往 包含這些搜尋篩選條件:

  • 移至行Ctrl+G):快速跳到您目前檔中的不同行。
  • 移至 [全部 ] (Ctrl+,) 或 [Ctrl+T]:搜尋結果包含下列所有專案。
  • 移至 [檔案 ] (Ctrl 1,F):搜尋方案中的檔案。
  • 移至類型Ctrl 1, T): 搜尋結果包括:
    • 類別、結構與列舉。
    • 介面和委派 (僅限受控程式碼)。
  • 移至成員Ctrl 1,M):搜尋結果包括:
    • 全域變數和全域函式。
    • 類別成員變數和成員函式。
    • 常數。
    • 列舉項目。
    • 屬性和事件。
  • 移至符號Ctrl 1, S):搜尋結果包括:
    • 移至類型和移至成員的結果。
    • 所有剩餘的 C++ 語言結構,其中包括宏。

當您第一次使用 Ctrl + 叫用 [移至] 時,會啟用 [移至全部] (對搜尋結果沒有篩選條件)。 您接著可以使用搜尋方塊附近的按鈕來選取您要的篩選。 您可以使用特定篩選條件對應的鍵盤快速鍵來叫用它。 這樣一來會開啟 Go To 搜尋方塊,並預選該篩選條件。 所有鍵盤快速鍵都可以進行設定。

若要套用文字篩選,請使用篩選條件的對應字元後面接著空格來啟動搜尋查詢。 (移至行 可以選擇性地省略空格。這些文字篩選器可供使用:

  • 移至全部:(無文字篩選條件)
  • 移至行號碼:
  • 移至檔案:f
  • 移至型別:t
  • 移至成員:m
  • 移至符號:#

下列範例顯示使用「f」過濾器的移至檔案操作結果:

移至檔案結果的螢幕快照。使用者輸入 'f str',並顯示 string_utils.cpp 和 string_utils.h,因為它們在名稱中包含 str。

若要查看文字篩選條件的清單,請鍵入 ? 後面接著空格。 您也可以透過 [編輯] 功能表存取 [移至] 命令。 這是提醒您主要移至鍵盤快速鍵的另一種方法。

[移至] 功能表的螢幕快照,其中包含 [移至行] (Ctrl + G)、[移至檔案] (Ctrl + 1、Ctrl + F)等選項。

尋找或在檔案中尋找

您可以使用 [尋找] \(Ctrl+F\) 或 [在檔案中尋找] \(Ctrl+Shift+F\) 執行文字搜尋,以尋找您解決方案中的項目。

[尋找] 範圍可以設定為選取範圍、目前文件、所有開啟的文件、目前專案,或整個解決方案。 您可以使用規則運算式和純文字。 它也會自動在 IDE 中醒目提示所有相符項目。

[尋找] 對話框的螢幕快照。使用者已搜尋通道。檔案中的黃色醒目提示會顯示找到 Channel 的所有位置。

[在檔案中尋找] 是 [尋找] 的更強大版本,它會在 [尋找結果] 視窗中顯示結果。 您可以搜尋外部程式碼相依性、依檔案類型篩選等。

[尋找和取代] 對話框的螢幕截圖。[在檔案中尋找] 頁面已被選取。選項顯示了是否區分大小寫、整個單詞匹配等。

您可以將 [在檔案中尋找] 結果組織成兩個視窗。 您可以同時附加多個搜尋結果。 選取結果以移至檔案中的該位置。

顯示「Find in Files」搜尋結果的螢幕截圖,其中列出包含符合搜尋字串的文字的檔案,以及每個相符字串的摘錄。

如需詳細資訊,請參閱 Visual Studio 文件中的<在檔案中尋找>

尋找所有參考

若要在程式碼基底中尋找符號的所有使用方式,請將插入號放在符號處或符號之後,然後以滑鼠右鍵按一下並選取 [尋找所有參考]。 您可以用許多不同的方式篩選、排序或分組結果。 結果會以累加方式填入。 它們會分類為讀取或寫入,協助您了解解決方案中的是什麼,而非系統標頭或其他程式庫。

[尋找所有參考結果] 的螢幕快照,其中顯示找到符號所在的行、它所在的檔案和專案等等。

您可以依下列類別將結果分組:

  • 專案然後定義
  • 僅限於定義
  • 定義接著專案
  • 定義接著路徑
  • 定義、專案接著路徑

篩選結果

若要篩選結果,請將滑鼠移至資料行上方,然後選取快顯的篩選圖示。 您可以從第一個資料行篩選結果,以隱藏您可能不想看到的字串和註解參考等。

篩選選項的螢幕快照。包含 Confirmed、Disconfirmed、In comment 和 unprocessed。每個都會顯示該類別套用多少結果。

  • 已確認的結果:所搜尋符號的實際程式代碼參考。 例如,搜尋稱為 Size 的成員函式呼叫會傳回對 Size 的所有參考,這些參考符合定義 Size 的類別範圍。

  • 不確認的結果:此篩選預設為關閉,因為它會顯示名稱符合但不是您所搜尋符號的實際參考符號。 例如,如果您有兩個各自定義成員函式 Size 的類別,且您在 Size 物件的參考上搜尋 Class1,則任何對於 SizeClass2 參考都會顯示為未確認。

  • 未處理的結果尋找所有參考 作業可能需要一些時間才能在較大的程式代碼基底上完成,因此結果清單會顯示此處的「未處理」結果。 未處理的結果與所搜尋符號名稱相符,但尚未確認為實際的程式碼參考。 您可以開啟此篩選條件以取得更快的結果。 某些結果可能不是實際參考。

排序結果

您可以選取任何資料行,依該資料行將結果排序。 您可以再選取資料行來交換遞增或遞減順序。

您可以使用編輯器視窗上方的 [瀏覽列],巡覽至檔案中的類型定義,或類型成員。

編輯器視窗上方導覽列的螢幕快照。它會顯示 cryptlib > ChannelSwitch > ChannelMessageSeriesEnd()。

另請參閱