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

為了方便您根據常用的模式建立項目或項目群組,您可以將新工具加入至 Visual Studio Ultimate 中模型圖表的工具箱。 您可以將這些工具箱項目散發給其他 Visual Studio Ultimate 使用者。

例如,您可以製作自訂工具來建立下列項目:

  • 連結到 .NET 設定檔的封裝,以及包含 .NET 造形的類別。

  • 關聯所連結的一組類別,代表 [觀察器] 模式。

您可以使用這個方法建立項目工具。 也就是說,您可以建立從工具箱拖曳到圖表上的工具。 不過,您無法建立連接器工具。

定義自訂模型工具

若要定義自訂模型工具

  1. 建立包含項目或項目群組的 UML 圖表。

    • 這些項目彼此之間可以具有關聯性,也可以擁有子項目,例如通訊埠、屬性、作業或連接。

    • 在 [方案總管] 中,將圖表的名稱變更為您要指定給新工具的名稱。

  2. 儲存圖表。

  3. 使用 [Windows 檔案總管] 將這兩個圖表檔複製到下列資料夾或任何子資料夾:

    YourDocuments**\Visual Studio 2010\Architecture Tools\Custom Toolbox Items**

    • 如果此資料夾不存在,請予以建立。 您可能必須同時建立 Architecture ToolsCustom Toolbox Items

    • 複製兩個圖表檔,其中一個的名稱結尾為 "…diagram",另一個的名稱結尾為 "…diagram.layout"

    • 您可以視需要製作任意數目的自訂工具。 每一項工具使用一個圖表。

  4. (選擇性) 依照如何定義自訂工具的屬性中所述建立 .tbxinfo 檔,然後將它加入至相同的目錄。 如此可讓您定義工具箱圖示、工具提示等。

    • 一個 .tbxinfo 檔可用來定義數種工具。 它可參考位於子資料夾中的圖表檔。
  5. 重新啟動 Visual Studio。 其他工具將在工具箱中針對適當類型的圖表出現。

自訂工具複製的內容

自訂工具將複製來源圖表的大部分功能:

  • 名稱: 從工具箱建立一個項目時,必要時會在名稱後面加上一個數字,避免同一個命名空間中出現重複的名稱。

  • 色彩、大小和形狀

  • 造型和封裝設定檔

  • 屬性值,例如 Is Abstract

  • 連結的工作項目

  • 關聯性的多重性和其他屬性

  • 形狀的相對位置

自訂工具中將不會保留下列功能:

  • 簡單圖案。 這些是屬於與模型項目無關,而可在某些類型的圖表上繪製的圖案。

  • 連接器路由。 如果您手動路由連接器,則在您使用工具時將不會保留路由。 某些巢狀圖案 (如「連接埠」) 的位置並不會保留與其擁有者之間的相對性。

如何定義自訂工具的屬性

工具箱資訊 (.tbxinfo) 檔可讓您指定一個或多個自訂工具的工具箱名稱、圖示、工具提示、索引標籤和說明關鍵字。 您可以為其指定任何名稱,如 MyTools.tbxinfo

檔案的一般格式如下:

<?xml version="1.0" encoding="utf-8" ?>
<customToolboxItems xmlns="https://schemas.microsoft.com/visualstudio/2010/ArchitectureTools/CustomToolboxItems">
  <customToolboxItem fileName="MyObserverTool.classdiagram">
    <displayName>
       <value>Observer Pattern</value>
    </displayName>
    <tabName>
       <value>UML Class Diagram</value>
    </tabName>
    <image><bmp fileName="ObserverPatternIcon.bmp"/></image>
    <f1Keyword>
      <value>ObserverPatternHelp</value>
    </f1Keyword>
    <tooltip>
       <value>Create a pair of classes</value>
    </tooltip>
  </customToolboxItem>
</customToolboxItems>

每一個項目的值可以是:

  • 工具箱圖示的 <bmp fileName="…"/> 和其他項目的 <value>string</value>,如範例所示。

-或-

  • <resource fileName="Resources.dll"

    baseName="Observer.resources" id="Observer.tabname" />

    在此情況下,您應提供編譯的組件,其中字串值已編譯成資源。

針對您要定義的每一個工具箱項目加入 <customToolboxItem> 節點。

.tbxinfo 檔中的節點如下: 每一個節點都有預設值。

節點名稱

定義

displayName

工具箱項目的名稱。

tabName

工作箱索引標籤,其中應顯示該項目。 您可以針對這類圖表指定一般索引標籤的名稱,或是其他名稱。

image

點陣圖 (.bmp) 檔案的位置,該圖高度和寬度必須為 16,色彩深度為 24 位元。

f1Keyword

尋找說明主題的關鍵字。

tooltip

此工具的工具提示。

您可以在 Visual Studio 中編輯點陣圖檔,並且在 [屬性] 視窗中將其高度和寬度設定為 16。

注意事項注意事項

如果您嘗試單獨使用圖表檔之後開始使用 .tbxinfo 檔,可能會發現工具箱內同時包含舊版和新版的工具箱項目。 如果 .tbxinfo 檔中圖表檔的名稱輸入錯誤,也會發生這種情況。 如果發生此情況,以滑鼠右鍵按一下工具箱項目,然後按一下 [重設工具箱]。 自訂的工具箱項目將會消失。 重新啟動 Visual Studio,正確的自訂項目將會出現。

如何散發 Visual Studio Extension 中的工具箱項目

您可以將工具箱項目封裝到 Visual Studio Extension (VSIX) 中,以散發給其他 Visual Studio 使用者。 您可將命令、設定檔和其他擴充功能封裝到同一個 VSIX 檔。如需詳細資訊,請參閱 Visual Studio 擴充功能部署

通常建置 Visual Studio Extension 的方式是使用 VSIX 專案範本。 若要執行這項操作,您必須已安裝 Visual Studio SDK。

若要將工具箱項目加入至 Visual Studio Extension

  1. 建立和測試一個或多個自訂工具。

  2. 建立 .tbxinfo 檔,該檔案會參考工具。

  3. 開啟現有 Visual Studio 擴充功能專案。

    -或-

    定義新的 Visual Studio 擴充功能專案。

    1. 在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。

    2. 在 [新增專案] 對話方塊的 [已安裝的範本] 下,展開 [Visual C#],並按一下 [擴充性],然後按一下 [VSIX 專案]。 設定專案名稱,然後按一下 [確定]。

  4. 將您的工具箱定義加入至專案。 納入 .tbxinfo 檔、圖表檔、點陣圖檔和任何資源檔,並且確定這些檔案都包含在 VSIX 中。

    • 在 [方案總管] 中,以滑鼠右鍵按一下專案,並指向 [加入],然後按一下 [現有項目]。 在對話方塊中,設定 [物件類型: 所有檔案]。 尋找檔案,並選取所有檔案,然後按一下 [加入]。

      注意事項注意事項

      在此專案中,您無法使用模型編輯器開啟圖表檔。

  5. 為您剛才加入的所有檔案設定下列屬性。 您可以在 [方案總管] 中選取所有屬性,同時加以設定。 請留意不要變更到專案中其他檔案的屬性。

    複製到輸出目錄 = 永遠複製

    建置動作 = 內容

    加入至 VSIX = true

  6. 開啟 source.extension.vsixmanifest。 它會在擴充功能資訊清單編輯器中開啟。

  7. 在 [內容] 下,加入可說明自訂工具的資料列。 按一下 [加入內容],然後以下列方式設定對話方塊中的欄位:

    • 內容類型 = 自訂擴充功能類型

    • 型別 = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems

    • 路徑 = 專案中檔案。 選取您的 .tbxinfo 檔案,例如 MyTools.tbxinfo

  8. 您可以視喜好設定 [產品名稱] 和其他欄位。

  9. 建置專案。

  10. 在 [Windows 檔案總管] 中,開啟 .\bin\Debug.\bin\Release 資料夾以尋找 .vsix 檔案。 這是 Visual Studio 擴充功能檔案。 可以將該檔案安裝在您的電腦上,也可以傳送給其他 Visual Studio 使用者。

若要從 Visual Studio Extension 安裝自訂工具

  1. 在 [Windows 檔案總管] 中按兩下 .vsix 檔案,或在 Visual Studio 中開啟這個檔案。

  2. 在出現的對話方塊中按一下 [安裝]。

  3. 若要解除安裝或暫時停用擴充功能,請從 [工具] 功能表開啟 [擴充管理員]。

當地語系化

您可以讓擴充功能安裝在另一部電腦上時,以目標電腦的語言顯示工具名稱和工具提示。

若要提供多種語言的工具版本

  1. 建立包含一個或多個自訂工具的 Visual Studio Extension 專案。

    .tbxinfo 檔中,使用資源檔方法定義工具的 displayName、工具箱 tabName 及工具提示。 建立其中已定義這些字串資源檔,將它編譯成組件,並且從 tbxinfo 檔參考該資源檔。

  2. 建立其他組件,其中包含擁有其他語言字串的資源檔。

  3. 將每一個額外的組件放入資料夾,且該資料夾以語言的文化特性代碼命名。 例如,將法文版組件放入名為 fr 的資料夾內。

  4. 您應該使用中性文化特性代碼,通常為兩個字母,而不是特定文化特性代碼 (例如 fr-CA)。 如需文化特性代碼的詳細資訊,請參閱 CultureInfo.GetCultures 方法 (英文),該方法會提供文化特性代碼的完整清單。

  5. 建置並散發 Visual Studio Extension。

  6. 擴充功能安裝到另一部電腦上時,使用者當地文化特性的資源檔版本將會自動載入。 如果您尚未提供使用者文化特性的版本,則會使用預設資源。

您無法使用這個方法安裝不同版本的原型圖表。 每一次安裝的項目和連接器名稱都會相同。

其他工具箱作業

一般而言,您可以透過重新命名工具、將工具移動到其他工具箱索引標籤,以及刪除工具等方式,在 Visual Studio 中個人化工具箱。但是針對使用本主題所述程序建立的自訂模型工具,系統不會保留這些變更。 當您重新啟動 Visual Studio 時,自訂工具將再次以定義的名稱和工具箱位置出現。

除此之外,如果您執行 [重設工具箱] 命令,自訂工具將會消失。 不過,在您重新啟動 Visual Studio 之後,這些工具將再次出現。

請參閱

概念

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

其他資源

擴充 UML 模型與圖表

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

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