共用方式為


HOW TO:定義與安裝模型擴充功能

在 Visual Studio Ultimate,您可以定義擴充功能來模組化圖表。如此,您可以讓圖表和模型符合自己的需要。例如,可以定義功能表命令、UML 設定檔、驗證條件約束和工具箱項目。您可以在單一擴充功能中定義數個元件。您也可以以 Visual Studio Integration Extension (VSIX) 的格式分散這些副檔名給其他 Visual Studio Ultimate 使用者。 您可以在 Visual Studio 中,使用 VSIX 專案來建立 VSIX。

需求

建立模型擴充功能方案

若要定義模型擴充功能,您必須建立包含下列專案的方案:

  • 一個 Visual Studio Integration Extension (VSIX) 專案。這會產生一個檔案,做為擴充功能元件的安裝程式。

  • 類別庫專案,為含程式碼的元件所需。

如果您要建立具有數個元件的擴充功能,您可以在單一方案中開發這些元件。您只需要一個 VSIX的專案。

不需要程式碼的元件 (例如自訂工具箱項目和自訂 UML 設定檔) 可以被直接加入至 VSIX 專案,而不需使用類別專案。要求程式碼的元件在個別的類別庫專案中能更輕鬆地定義。要求程式碼的元件包含筆勢處理常式、功能表命令和驗證的程式碼。

若要為功能表指令,手勢處理及驗證來建立類別庫專案

  1. 在 [檔案] 功能表上,選擇 [新增專案]。

  2. 在 [已安裝的範本] 下,選取的 [Visual C#] 或 [Visual Basic]然後選取 [類別庫]。

若要建立 VSIX 專案

  1. 如果您要建立含有程式碼的元件,先建立類別庫專案,將是最簡單的方式。您會將程式碼加入至該專案。

  2. 建立 VSIX 專案。

    1. 在 [方案總管]裡的捷徑功能表中,選取 [新增], [新增專案]。

    2. 在 [已安裝的範本] 底下,展開 [Visual C#] 或 [Visual Basic],然後選取 [擴充性]。在中間的欄位中,選擇 [VSIX 專案]。

  3. 將 VSIX 專案設定為方案的啟始專案。

    • 在 [方案總管] 裡的 VSIX 專案的捷徑功能表中選取 [設定為啟始專案]。
  4. 開啟 source.extension.vsixmanifest。檔案隨即在資訊清單編輯器中開啟。

  5. 在 [中繼資料] 選項中設定 VSIX 的名稱和描述欄位。

  6. 在 [安裝目標] 索引標籤上,選取 [新增] 以及設定 Visual Studio 的Ultimate and Premium editions。

  7. 在 [資產] 索引標籤,將您的元件加入 Visual Studio 擴充功能。

    1. 請選擇 [新增]。

    2. 針對有程式碼的元件,設定 [加入新的屬性] 對話方塊中的欄位:

      型別 =

      Microsoft.VisualStudio.MefComponent

      資源 =

      目前方案中的專案。

      專案 =

      您的類別庫的專案

      內嵌在資料夾 =

      (空白)

      至於其他元件型別,請參閱下一節中的連結。

開發元件

對於功能表命令或筆勢處理常式之類的每項元件,您必須定義個別的處理常式。您可以在相同的類別庫專案中放入多個處理常式。下表是各種不同處理常式的摘要。

擴充功能類型

主題

每項元件的一般宣告方式

功能表命令

HOW TO:在模型圖表上定義功能表命令

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

拖放或按兩下

HOW TO:在模型圖表上定義筆勢處理常式

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

驗證條件約束

HOW TO:定義 UML 模型的驗證條件約束

[Export(typeof( System.Action<ValidationContext, object>))]

[ValidationMethod(ValidationCategories.Save

| ValidationCategories.Menu)]

public void ValidateSomething

(ValidationContext context, IClassifier elementToValidate)

{...}

工作項目連結事件處理常式

HOW TO:定義工作項目連結處理常式

[Export(typeof(ILinkedWorkItemExtension))]

public class MyWorkItemEventHandler : ILinkedWorkItemExtension

{...

UML 設定檔

HOW TO:定義要擴充 UML 的設定檔

(被定義)

工具箱項目

HOW TO:定義自訂模型工具箱項目

(被定義)

在開發擴充功能期間執行該擴充功能

若要在開發擴充功能期間執行該擴充功能

  1. 在 Visual Studio 偵錯 功能表中選擇 開始偵錯

    此時會建置專案,而且 Visual Studio 的新執行個體會以「實驗」模式啟動。

    • 或者,您可以選擇 [啟動但不偵錯]。這樣可以減少啟動程式所需的時間。
  2. 建立或開啟一個實驗執行個體的模型專案,並建立或開啟圖表。

    您的擴充功能隨即載入並執行。

  3. 如果您使用 [啟動但不偵錯] 時想要使用偵錯工具,請返回Visual Studio的主要執行個體。在 [偵錯] 功能表上,按一下 [附加至處理序]。在對話方塊中選取名為 devenv 的實驗執行個體。

安裝和解除安裝擴充功能

執行下列步驟來執行您自己或其他電腦上的Visual Studio主要執行個體的副檔名。

  1. 在您的電腦中,尋找由擴充功能專案建置的 .vsix 檔案。

    1. 在 [方案總管]裡的專案的捷徑功能表,選取 [開啟 Windows 檔案總管中的資料夾]。

    2. 尋找 bin\*\YourProject.vsix 檔案

  2. .vsix 檔案複製到要安裝擴充功能的目標電腦上。該電腦可以是您自己的電腦或其他電腦。

    • 目標電腦必須具有其中一個Visual Studio的版本,其為您指定的安裝目標選項的 source.extension.vsixmanifest
  3. 在目標電腦上,開啟 .vsix 檔案,例如按兩下。

    [Visual Studio 擴充功能安裝程式] 隨即開啟,並安裝擴充功能。

  4. 啟動或著重新啟動 Visual Studio。

若要解除安裝擴充功能

  1. 按一下 [工具] 功能表上的 [擴充管理員]。

  2. 展開 [已安裝擴充功能]。

  3. 選取相應的擴充功能,然後按一下 [解除安裝]。

很少會發生因擴充功能故障而無法載入的情況,在這種情況下,錯誤視窗中會產生報告,但不會出現在 [擴充管理員] 中。在這種情況下,您可以到下列位置刪除檔案藉此移除擴充功能,其中 %LocalAppData% 通常是 DriveName:\Users\UserName\AppData\Local:

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

請參閱

概念

HOW TO:定義要擴充 UML 的設定檔

HOW TO:定義自訂模型工具箱項目

HOW TO:定義 UML 模型的驗證條件約束

HOW TO:在模型圖表上定義功能表命令