Visual Studio 擴充功能的剖析
VSIX 套件是包含一或多個 Visual Studio 擴充功能的 .vsix 檔案,以及 Visual Studio 用來分類及安裝擴充功能的中繼資料。 VSIX 套件格式遵循《開放式封裝慣例 (OPC)》標準,意味著可以使用任何可以開啟 ZIP 檔案的工具將其開啟。
擴充功能專案是 C# 專案,具有一些使其獨一無二的附加功能。 下列影片會探索擴充功能專案,以更加了解擴充功能的運作方式:
檔案結構
使用 VSIX Project w/Command (Community) 範本建立新的擴充功能時,檔案結構如下所示:
.vsixmanifest 檔案是主要檔案。 它是一個 XML 檔案,其中包含 Visual Studio 所使用之擴充功能的相關資訊。 擴充功能的所有元件都會註冊在 .vsixmanifest 檔案中。 這是 VSIX 專案中唯一的必要檔案。
VSCommandTable.vsct 檔案是用來宣告命令的位置。 它是 XML 檔案,包含按鈕命令、功能表、鍵盤捷徑方式繫結等的定義。 該檔案將其內容編譯為輸出 .dll 中的 blob,Visual Studio 使用該 blob 建構其整個命令資料表功能表結構。 此檔案只會宣告命令資料表中的元件;它不會處理任何命令叫用。
*Package.cs 檔案是 [套件] 類別,這是大多數擴充功能的進入點。 在這裡,您通常會找到已註冊的命令處理常式、工具視窗、選項頁面、服務和其他元件。
編譯
專案會編譯成位於 /bin/debug 或 /bin/release 資料夾中的 .vsix 檔案,視您目前的方案組建組態而定。 Visual Studio 擴充功能開發工作負載,提供專用的 MSBuild 目標和工作來處理 VSIX 專案類別。
當 VSIX 專案組建時,它會自動將自己部署到 [實驗執行個體]。 這可以在 VSIX 專案設定中控制:
實驗執行個體
為了保護您的 Visual Studio 開發環境免受可能會變更其未經測試的應用程式的影響,VSSDK 提供了一個可供您進行實驗的實驗空間。 您可以像往常一樣使用 Visual Studio 來開發新的應用程式,但您可以使用這個 [實驗執行個體] 來執行這些應用程式。
每個具有 VSIX 套件的應用程式都會在偵錯模式下啟動 Visual Studio 實驗執行個體。
如果您要在特定方案之外啟動 Visual Studio 的實驗執行個體,請在命令視窗中執行下列命令:
devenv.exe /RootSuffix Exp
如需更多擴充性概念,請查看實用資源,以便追蹤此工具組。