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

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

開啟包含的檔案

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

C 加上 [移至檔] 功能表選項的螢幕擷取畫面,其中包含一些 include 語句的內容。

切換標頭/程式碼檔

您可以在標頭檔案與其對應之來源檔案之間切換。 以滑鼠右鍵按一下您檔案中的任一處,然後選取 [切換標頭/程式碼檔]。 或者,您可以選取 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 + 叫用 [移至] 時,會啟用 [移至全部] (對搜尋結果沒有篩選條件)。 您接著可以使用搜尋方塊附近的按鈕來選取您要的篩選。 您可以使用特定篩選條件對應的鍵盤快速鍵來叫用它。 這樣做會開啟 [移至] 搜尋方塊,並預先選取該篩選條件。 所有鍵盤快速鍵都可以進行設定。

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

  • 移至全部:(無文字篩選條件)
  • 移至行號::
  • 移至檔案: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 的所有位置。

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

[尋找和取代] 對話方塊的螢幕擷取畫面。已選取 [在檔案中尋找] 頁面。選項會顯示比對大小寫、整字等等。

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

此螢幕擷取畫面顯示 [在檔案中尋找] 搜尋結果清單檔案,其中包含符合搜尋字串的文字,以及每個相符專案的摘錄。

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

尋找所有參考

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

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

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

  • 專案接著定義
  • 僅定義
  • 定義接著專案
  • 定義接著路徑
  • 定義、專案接著路徑

篩選結果

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

篩選選項的螢幕擷取畫面。包含已確認、離散、批註和未處理。每個都會顯示套用至該類別的結果數目。

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

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

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

排序結果

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

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

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

另請參閱