現已釋出!閱讀關於 11 月新增功能和修復的內容。

重構 C++ 程式碼

Visual Studio Code 中的 C/C++ 擴充套件提供多種重構功能,幫助您在不改變執行時行為的情況下,提高程式碼的結構、可讀性和可維護性。這些功能包括“提取到方法”以及“建立宣告和定義”等。

建立宣告或定義

讓 C/C++ 擴充套件為您生成函式的宣告或定義,從而簡化建立過程。此功能適用於成員函式、名稱空間類以及模板。

Create a definition and a declaration across two files

要建立函式的宣告或定義,請執行以下任一操作:

  • 選擇類函式定義,然後選擇“程式碼操作”(燈泡圖示),接著選擇建立宣告。同樣,要建立定義,請選擇函式宣告,選擇“程式碼操作”,然後選擇建立定義
  • 右鍵單擊函式的宣告或定義,然後從上下文選單中選擇建立定義/宣告。根據您的程式碼,將建立定義或宣告。
  • 選擇函式,然後使用命令面板⇧⌘P(Windows、Linux Ctrl+Shift+P)並鍵入命令建立宣告/定義。根據您的程式碼,將建立定義或宣告。

定義和宣告的建立位置取決於您之前在程式碼中建立的模式。例如,如果您之前在同一檔案中添加了定義和宣告,則擴充套件程式也會將新的定義和宣告新增到同一檔案中。函式順序會自動保留。

Create a definition and a declaration in the same file

如果您的定義或宣告位於與原始檔不同的檔案中,則擴充套件程式會遵循您的約定。例如,對於名稱匹配的標頭檔案和原始檔,即使標頭檔案尚未包含在原始檔中,兩者都會被識別。在這種情況下,一旦添加了宣告或定義,您的標頭檔案將自動在原始檔中被引用。

否則,擴充套件程式會為您建立一個與當前檔名匹配的新標頭檔案或原始檔。新檔案將包含已生成的新宣告或定義。然後,新檔案將自動在當前檔案中被引用。

對於模板,如果函式模板在標頭檔案中宣告,則該函式模板的定義將在同一標頭檔案中建立。這也適用於類模板的非模板成員函式。

複製宣告或定義

如果您想選擇宣告或定義在程式碼中新增的位置,可以使用“複製宣告/定義”程式碼操作。這將把宣告或定義新增到剪貼簿,而不是直接新增到您的程式碼中。

要呼叫程式碼操作,請選擇一個有快速修復可用功能的函式,然後選擇“程式碼操作”(燈泡圖示)並選擇複製‘YourFunctionName’的定義複製‘YourFunctionName’的宣告

Copy a declaration or definition

提取到方法

“提取到方法”重構功能使您可以將程式碼塊提取到單獨的方法中,以幫助提高程式碼可讀性、減少重複並使程式碼更具模組化。

要提取方法,請選擇要提取的 C++ 程式碼,選擇“程式碼操作”(燈泡圖示),然後選擇提取到函式。或者,右鍵單擊程式碼並選擇重構 > 提取,或使用鍵盤命令(Windows 上為 Ctrl + Shift + R, Ctrl + E)以獲取更多資訊。

然後,您可以為新建立的函式命名。包含您所選程式碼的新函式將放置在當前函式之上。

Extract Method and create declaration

快速修復/程式碼操作

C/C++ 擴充套件根據您的程式碼上下文,提供 C/C++ 特定的建議,指導您如何修復和改進 C++ 程式碼。可以透過將滑鼠懸停在符號上並選擇“快速修復”連結來檢視這些建議,或者透過選擇出現在程式碼旁邊的程式碼操作(燈泡圖示)來檢視。例如,如果一段程式碼可以提取到一個方法中,選擇燈泡圖示將顯示“提取到方法”。除了上述功能外,C/C++ 擴充套件還提供以下情況下的快速修復/程式碼操作:

新增缺失的標頭檔案

如果您的 C++ 程式碼中有未知符號,並且 C/C++ 擴充套件在您的工作區中識別出正確的標頭檔案,現在將提供快速修復。選擇快速修復,必要的標頭檔案包含將新增到您的當前 C++ 檔案頂部。

Add Missing Include in code using a code action

後續步驟

繼續閱讀以瞭解:

如果您有任何其他問題或遇到任何問題,請在 GitHub 上提交問題。您可能會被要求提供擴充套件程式的日誌資訊以幫助診斷問題。請參閱 C/C++ 擴充套件日誌以獲取提供擴充套件日誌的幫助。

© . This site is unofficial and not affiliated with Microsoft.