教學課程 - 建立您的第一個擴充功能:Hello World
這個 Hello World 範例會逐步引導您建立 Visual Studio 的第一個延伸模組。 本教學課程說明如何將新的命令新增至Visual Studio。
在此程式中,您將瞭解如何:
在此範例中,您會使用 Visual C# 新增名為 “Say Hello World!” 的自定義功能表按鈕,如下所示:
注意
本文適用於 Windows 上的 Visual Studio。 針對 Visual Studio for Mac,請參閱 Visual Studio for Mac 中的擴充性逐步解說。
必要條件
開始之前,請確定您已安裝 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 擴充性的詳細數據