教學課程 - 建立您的第一個擴充功能:Hello World
這個 Hello World 範例會逐步引導您建立 Visual Studio 的第一個延伸模組。 本教學課程說明如何將新的命令新增至Visual Studio。
在此過程中,您將瞭解如何:
在此範例中,您會使用 Visual C# 新增名為 “Say Hello World!” 的自定義功能表按鈕,如下所示:
先決條件
開始之前,請確定您已安裝 Visual Studio 延伸模塊開發 工作負載,其中包含 VSIX 範本和範例程式代碼。
注意
您可以使用任何版本的 Visual Studio (Community、Professional 或 Enterprise) 來建立 Visual Studio 擴充性專案。
建立擴充性專案
從 [檔案] 功能表中,選取 [新增] [>] [專案] []。 搜尋 「vsix」,然後選取 C# VSIX 項目,然後 [下一步]。
輸入「HelloWorld」作為 專案名稱,然後選擇 建立。
您現在應該會在 [方案總管]中看到 HelloWorld 專案。
新增自訂命令
如果您選取
.vsixmanifest
指令清單檔案,您可以看到哪些選項可變更,例如描述、作者和版本。以滑鼠右鍵點擊專案(而非方案)。 在操作功能表上,選取 [新增],然後 [新增專案]。
選取 [擴充性] 區段,然後選擇 [命令]。
在底部的 [名稱] 欄位中,輸入檔名,例如 Command.cs。
您的新指令檔案會顯示在 [方案瀏覽器] 。 在 [資源] 節點底下,您可以找到與命令相關的其他檔案。 例如,如果您想要修改映像,PNG 檔案會在這裡。
修改原始碼
此時,命令和按鈕文字是自動生成的,並不怎麼有趣。 如果您想要進行變更,可以修改 VSCT 檔案和 CS 檔案。
VSCT 檔案是您可以重新命名命令的位置,並定義它們在 Visual Studio 命令系統中的位置。 當您探索 VSCT 檔案時,請注意說明 VSCT 程式代碼控件每個區段的批注。
CS 檔案是您可以定義動作的位置,例如按兩下處理程式。
在 [方案總管]中,尋找延伸模組 VSPackage 的 VSCT 檔案。 在此情況下,它被稱為 HelloWorldPackage.vsct。
將
ButtonText
參數變更為Say Hello World!
。... <Button guid="guidCommandPackageCmdSet" id="CommandId" priority="0x0100" type="Button"> <Parent guid="guidCommandPackageCmdSet" id="MyMenuGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <ButtonText>Say Hello World!</ButtonText> </Strings> </Button> ...
返回方案總管 並尋找 Command.cs 檔案。 在
Execute
方法中,將字串message
從string.Format(..)
變更為Hello World!
。... private void Execute(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); string message = "Hello World!"; string title = "Command"; // Show a message box to prove we were here VsShellUtilities.ShowMessageBox( this.ServiceProvider, message, title, OLEMSGICON.OLEMSGICON_INFO, OLEMSGBUTTON.OLEMSGBUTTON_OK, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); } ...
請務必將變更儲存至每個檔案。
執行它
您現在可以在 Visual Studio 實驗實例中執行原始程式碼。
步驟 1. 按 F5 執行 開始偵錯 命令。 這個指令會建置您的項目並啟動除錯程式,啟動名為 實驗實例的新 Visual Studio 實體。
步驟 2. 在 實驗實例的 [工具] 功能表上,按一下 [Say Hello World!]。
您應該會看到新自定義命令的輸出,在此案例中,畫面中央的對話框會提供您 Hello World! 訊息。
後續步驟
既然您已瞭解使用 Visual Studio 擴充性的基本概念,您可以在這裡深入瞭解:
- 開始開發Visual Studio延伸模組 - 範例、教學課程。 和發佈您的延伸模組
- Visual Studio 2017 SDK 的新功能 - Visual Studio 2017 中的新擴充性功能
- Visual Studio 2019 SDK 的新功能 - Visual Studio 2019 中的新擴充性功能
- 深入了解 Visual Studio SDK - 學習 Visual Studio 擴充性的詳細內容