HOW TO:定義與安裝模型擴充功能
在 Visual Studio Ultimate 中,您可以定義擴充功能來設定圖表的模型。 如此,您可以讓圖表和模型符合自己的需要。 例如,可以定義功能表命令、UML 設定檔、驗證條件約束和工具箱項目。 您可以在單一擴充功能中定義數個元件。 您也可以使用 Visual Studio Integration Extension (VSIX) 的形式,將這些擴充功能散發給其他 Visual Studio Ultimate 使用者。您可以使用 Visual Studio 中的 VSIX 專案來建立 VSIX。
您應該要已安裝 Visual Studio SDK。
需求
Visual Studio 2010 視覺化和模型 SDK (英文)。 如需詳細資訊,請參閱 Code Gallery 上的 Visual Studio 視覺化和模型 SDK (英文)。
建立模型擴充功能方案
若要定義模型擴充功能,您必須建立包含下列專案的方案:
一個 Visual Studio Integration Extension (VSIX) 專案。 這會產生一個檔案,做為擴充功能元件的安裝程式。 在 [新增專案] 對話方塊中,展開 [Visual C#] 或 [Visual Basic],然後按一下 [擴充性], 在中間的欄位中,按一下 [VSIX 專案]。
類別庫專案,為含程式碼的元件所需。
如果您要建立具有數個元件的擴充功能,您可以在單一方案中開發這些元件。 您只需要一個 VSIX 專案,並且可將元件加入至 VSIX 定義做為內容。
不需要程式碼的元件 (例如自訂工具箱項目和自訂 UML 設定檔) 可以直接加入至 VSIX 專案,而不需使用個別專案。 需要程式碼的元件 (例如功能表命令) 則可更輕易地定義於個別專案中。
若要設定 VSIX 專案
如果您要建立含有程式碼的元件,先建立類別庫專案,將是最簡單的方式。 您會將程式碼加入至該專案。
建立 VSIX 專案。
在 [方案總管] 中,以滑鼠右鍵按一下方案、指向 [加入],再按一下 [新增專案]。
在 [已安裝的範本] 底下,展開 [Visual C#] 或 [Visual Basic],然後按一下 [擴充性]。 在中間的欄位中,按一下 [VSIX 專案]。
將 VSIX 專案設定為方案的啟始專案。
- 在 [方案總管] 中,以滑鼠右鍵按一下 VSIX 專案,然後按一下 [設定為啟始專案]。
開啟 source.extension.vsixmanifest。 檔案隨即在資訊清單編輯器中開啟。
設定 VSIX 的名稱和描述性欄位。
按一下 [選取版本],然後選取您想要用來執行擴充功能的 Visual Studio 版本。
將您的元件加入至 [內容] 清單。
按一下 [加入內容]。
對於含有程式碼的元件:
在 [選取內容類型] 中,選取 [MEF 元件]。
在 [選取來源] 中,按一下 [專案],然後選取類別庫專案的名稱。
至於其他元件型別,請參閱下一節中的連結。
開發元件
對於功能表命令或筆勢處理常式之類的每項元件,您必須定義個別的處理常式。 下表是各種不同處理常式的摘要。
擴充功能類型 |
主題 |
每項元件的一般宣告方式 |
---|---|---|
功能表命令 |
[ClassDesignerExtension] // or other diagram types [Export(typeof(ICommandExtension))] public class MyCommand : ICommandExtension {... |
|
拖放或按兩下 |
[ClassDesignerExtension] // or other diagram types [Export(typeof(IGestureExtension))] public class MyGesture : IGestureExtension {... |
|
驗證條件約束 |
[Export(typeof( System.Action<ValidationContext, object>))] [ValidationMethod(ValidationCategories.Save | ValidationCategories.Menu)] public void ValidateSomething (ValidationContext context, IClassifier elementToValidate) {...} |
|
工作項目連結事件處理常式 |
[Export(typeof(ILinkedWorkItemExtension))] public class MyWorkItemEventHandler : ILinkedWorkItemExtension {... |
|
UML 設定檔 |
並非以程式碼定義。 請在 source.extension.vsixmanifest 中定義元件型別,如下所示。 元件型別 = 自訂擴充功能 型別 = Microsoft.VisualStudio.UmlProfile |
|
工具箱項目 |
並非以程式碼定義。 請在 source.extension.vsixmanifest 中定義元件型別,如下所示。 元件型別 = 自訂擴充功能 型別 = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems |
在開發擴充功能期間執行該擴充功能
若要在開發擴充功能期間執行該擴充功能
在 Visual Studio 的 [偵錯] 功能表中,按一下 [開始偵錯]。
此時會建置專案,而且 Visual Studio 的新執行個體會以「實驗」模式啟動。
- 或者,您可以按一下 [啟動但不偵錯]。 這樣可以減少啟動程式所需的時間。
建立或開啟 Visual Studio 實驗執行個體中的模型專案,並建立或開啟圖表。
您的擴充功能隨即載入並執行。
如果您在使用 [啟動但不偵錯] 時想要使用偵錯工具,請返回 Visual Studio 的主要執行個體。 在 [偵錯] 功能表上,按一下 [附加至處理序]。 在對話方塊中選取 Visual Studio 的實驗執行個體,其程式名稱為 devenv。
若要在 Visual Studio 的主要執行個體中執行擴充功能,請按照安裝和解除安裝擴充功能中的步驟執行。
安裝和解除安裝擴充功能
您可以將 Visual Studio 擴充功能安裝在自己的電腦上,也可以安裝在其他電腦上。
若要安裝擴充功能
在您的電腦中,尋找由擴充功能專案建置的 .vsix 檔案。
在 [方案總管] 中,以滑鼠右鍵按一下該專案,然後按一下 [在 Windows 檔案總管中開啟資料夾]。
尋找 bin\*\YourProject.vsix 檔案
將 .vsix 檔案複製到要安裝擴充功能的目標電腦上。 該電腦可以是您自己的電腦或其他電腦。
- 目標電腦必須具有在 source.extension.vsixmanifest 中指定的其中一個 Visual Studio 範本。
在目標電腦上,按兩下 .vsix 檔案。
[Visual Studio 擴充功能安裝程式] 隨即開啟,並安裝擴充功能。
啟動或重新啟動 Visual Studio。
若要解除安裝擴充功能
按一下 [工具] 功能表上的 [擴充管理員]。
展開 [已安裝擴充功能]。
選取相應的擴充功能,然後按一下 [解除安裝]。
很少會發生因擴充功能故障而無法載入的情況,在這種情況下,錯誤視窗中會產生報告,但不會出現在 [擴充管理員] 中。 在這種情況下,您可以到下列位置刪除檔案藉此移除擴充功能,其中 %LocalAppData% 通常是 DriveName:\Users\UserName\AppData\Local:
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions