IntelliSense 是一組讓編碼更方便的功能的名稱。 適用於 C++ 的 IntelliSense 適用於獨立檔案,以及屬於 C++ 專案一部分的檔案。 在跨平臺專案中,某些 IntelliSense 功能可在共用程式碼專案的 .cpp 和 .c 檔案中使用,即使您位於 Android 或 iOS 內容中也一樣。
本文提供 C++ IntelliSense 功能的概觀。 如需如何設定 IntelliSense 專案以及如何疑難排解問題的資訊,請參閱 設定 IntelliSense 的 C++ 專案。
C++ 中的 IntelliSense 功能
IntelliSense 是一組讓編碼更方便的功能的名稱。 由於不同的人對方便的想法不同,因此幾乎所有 IntelliSense 功能都可以在 [選項 ] 對話方塊的 [文字編輯器>C/C++>Advanced] 底下啟用或停用。 「 選項」 對話方塊可從功能表列上的 「工具」 功能表取得。
您可以使用下圖所示的功能表項目和鍵盤快速鍵來存取 IntelliSense。
報表完成及成員清單
當您開始鍵入編譯器識別的關鍵字、類型、函數、變數名稱或其他程式元素時,編輯器會為您完成該單字。
第一次叫用成員清單時,它只會顯示目前前後關聯可存取的成員。 如果您在此之後按下Ctrl+J,則會顯示所有成員,無論其可見性如何。 如果您第三次呼叫它,則會顯示更廣泛的程式元素清單。 您可以在 [選項] 對話方塊的 [文字編輯器]>[C/C++]>[一般]>[自動清單成員] 底下關閉成員名單。
參數說明
當您在類別範本變數宣告上鍵入函式呼叫的左大括弧或尖括弧時,編輯器會顯示一個小視窗,其中包含函式或建構函式每個多載的參數類型。 「目前」參數 (以游標位置為基礎) 以粗體顯示。 您可以在 [選項] 對話方塊的 [文字編輯器>] C/C++>[一般>參數資訊] 底下關閉參數資訊。
快速諮詢
當您將滑鼠游標停留在變數上時,會出現一個內嵌小視窗,其中顯示類型資訊和定義類型的標頭。 將滑鼠停留在函式呼叫上,即可查看函式的簽章。 您可以在 [選項] 對話方塊的 [文字編輯器]>[C/C++]>[進階]>[自動快速資訊] 下關閉 [快速資訊]。
錯誤波浪線
程式元素 (變數、關鍵字、大括弧、類型名稱等) 下方的波浪線會提醒您注意程式碼中的錯誤或潛在錯誤。 當您撰寫前置宣告時,會出現綠色波浪線,以提醒您仍需要撰寫具體實作。 當目前未使用中的程式碼發生錯誤時,共用專案中會出現紫色波浪線,例如,當您在 Windows 內容中工作,但輸入的內容在 Android 內容中會發生錯誤時。 紅色波浪線表示您需要處理的作用中程式碼中的編譯器錯誤或警告。
程式碼著色和字型
預設顏色和字型可以在 「選項」 對話方塊的「 環境>字型和顏色」下變更。 您可以在此處變更許多 UI 視窗的字型,而不僅僅是編輯器。 C++ 特有的設定以 “C++” 開頭;其他設定適用於所有語言。
跨平台 IntelliSense
在共用程式碼專案中,即使您在 Android 內容中工作,也可以使用某些 IntelliSense 功能,例如波浪線。 如果您撰寫一些會導致非使用中專案發生錯誤的程式碼,IntelliSense 仍會顯示波浪線,但它們的色彩與目前內容中錯誤的波浪線不同。
請考慮一個被配置為為 Android 和 iOS 編譯的 OpenGLES 應用程式。 此示意圖顯示共用程式碼正在被編輯。 在此影像中,作用中的專案是 iOS.StaticLibrary:
請注意下列事項:
#ifdef第 6 行的分支會呈現灰色,表示非作用中區域,因為__ANDROID__未針對 iOS 專案定義。第 11 行的問候變數會以識別碼 初始化,該識別碼
HELLO現在具有紅色波浪線。 這是因為目前作用中的 iOS 專案中未定義任何識別碼HELLO。第 12 行的識別碼
BYE上有紫色波浪線,因為此識別碼未在 (目前) 非作用中的 Android.NativeActivity 專案中定義。 即使此行在 iOS 是作用中專案時編譯,但當 Android 是作用中專案時,它不會編譯。 由於這是共用程式碼,因此即使程式碼在目前作用中的組態中編譯,您也應該更正程式碼。
如果您將目前的專案切換為 Android,波浪線會有所改變:
#else第 8 行的分支會呈現灰色,表示非作用中區域,因為__ANDROID__已針對 Android 專案定義。第 11 行的問候變數會以 identifier
HELLO初始化,該識別碼具有紫色波浪線。 這是因為目前非作用中的 iOS 專案中未定義任何識別碼HELLO。第 12 行的 ID
BYE上有一個紅色波浪線,因為此 ID 未定義在作用中專案中。
IntelliSense 適用於獨立檔案
當您在任何專案外部開啟單一檔案時,您仍會取得 IntelliSense。 您可以在 [選項 ] 對話方塊的 [文字編輯器>C/C++>Advanced] 底下啟用或停用特定 IntelliSense 功能。 若要針對不屬於專案的單一檔案設定 IntelliSense,請尋找 IntelliSense 和瀏覽非專案檔案 一節。
根據預設,單一檔案 IntelliSense 只會使用標準包含目錄來尋找標頭檔。 若要新增其他目錄,請開啟 [解決方案] 節點上的捷徑功能表,並將您的目錄新增至 [偵錯原始程式碼 ] 清單,如下圖所示:
啟用或停用功能
由於不同的人對方便的想法不同,因此幾乎所有 IntelliSense 功能都可以在 [選項 ] 對話方塊的 [文字編輯器>C/C++>Advanced] 底下啟用或停用。 「 選項」 對話方塊可從功能表列上的 「工具」 功能表取得。