HOW TO:定義自訂模型工具箱項目
為了方便您根據常用的模式建立項目或項目群組,您可以將新工具加入至 Visual Studio Ultimate 中模型圖表的工具箱。 您可以將這些工具箱項目散發給其他 Visual Studio Ultimate 使用者。
自訂工具會在圖表的一或多個新項目的項目。 您無法建立自訂連結工具。
例如,您可以自訂工具建立項目例如:
連結到 .NET 設定檔的封裝,以及包含 .NET 造形的類別。
關聯所連結的一組類別,代表 [觀察器] 模式。
您可以使用這個方法建立項目工具。 也就是說,您可以建立從工具箱拖曳到圖表上的工具。 不過,您無法建立連接器工具。
定義自訂模型工具
若要定義自訂模型工具
建立包含項目或項目群組的 UML 圖表。
- 這些項目彼此之間可以具有關聯性,也可以擁有子項目,例如通訊埠、屬性、作業或連接。
儲存圖表使用名稱要提供給新工具。 在 [檔案] 功能表,請使用 [儲存…]。
使用 [Windows 檔案總管] 將這兩個圖表檔複製到下列資料夾或任何子資料夾:
YourDocuments**\Visual Studio 2012\Architecture Tools\Custom Toolbox Items**
如果此資料夾不存在,請予以建立。 您可能必須同時建立 Architecture Tools 和 Custom Toolbox Items。
複製兩個圖表檔,其中一個的名稱結尾為 "…diagram",另一個的名稱結尾為 "…diagram.layout"
您可以視需要製作任意數目的自訂工具。 每一項工具使用一個圖表。
(選擇性) 依照如何定義自訂工具的屬性中所述建立 .tbxinfo 檔,然後將它加入至相同的目錄。 如此可讓您定義工具箱圖示、工具提示等。
- 一個 .tbxinfo 檔可用來定義數種工具。 它可參考位於子資料夾中的圖表檔。
重新啟動 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
建立和測試一個或多個自訂工具。
建立 .tbxinfo 檔,該檔案會參考工具。
開啟現有 Visual Studio 擴充功能專案。
-或-
定義新的 Visual Studio 擴充功能專案。
在 [檔案] 功能表上,選擇 [新增, 專案]。
在 [新的專案] 對話方塊,請在 [已安裝的範本] 底下,選取 [Visual C#]],則 [擴充性], [VSIX 專案]。
將您的工具箱定義加入至專案。 納入 .tbxinfo 檔、圖表檔、點陣圖檔和任何資源檔,並且確定這些檔案都包含在 VSIX 中。
在方案總管中,在 VSIX 專案的捷徑功能表上,選擇 [加入]],則 [現有的項目。]。 在對話方塊中,設定 [物件類型: 所有檔案]。 尋找檔案,選取它們,然後選取 [加入]。
注意事項 在此專案中,您無法使用模型編輯器開啟圖表檔。
為您剛才加入的所有檔案設定下列屬性。 您可以在 [方案總管] 中選取所有屬性,同時加以設定。 請留意不要變更到專案中其他檔案的屬性。
複製到輸出目錄 = 永遠複製
建置動作 = 內容
加入至 VSIX = true
開啟 source.extension.vsixmanifest。 它會在擴充功能資訊清單編輯器中開啟。
在 [中繼資料] 下,加入自訂工具的描述。
在 [屬性] 底下,選取 [新增] ] 設定對話方塊中的欄位如下:
[ 輸入] = [自訂擴充功能類型]
型別 = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems
注意事項 這不是其中一個下拉式清單的選項。使用鍵盤,您必須輸入它。
[來源] = [在檔案系統的檔案]。
[路徑] = 您的 .tbxinfo 檔案,例如 MyTools.tbxinfo。
建置專案。
驗證擴充功能工作,請按 F5。 Visual Studio 的實驗執行個體。
在的實驗執行個體中,建立或開啟這個相關型別的 UML 圖表。 確認您的新工具會出現在工具箱中,並正確建立項目。
在 Windows 檔案總管中的取得部署的 VSIX 檔案: ,開啟資料夾 .\bin\Debug 或 .\bin\Release 尋找 .vsix 檔案。 這是 Visual Studio 擴充功能檔案。 可以將該檔案安裝在您的電腦上,也可以傳送給其他 Visual Studio 使用者。
若要從 Visual Studio Extension 安裝自訂工具
開啟 .vsix 檔案在 Windows 檔案總管或 Visual Studio。
選取在出現的對話方塊中的 [安裝] 。
若要解除安裝或暫時停用擴充功能,請從 [工具] 功能表開啟 [擴充管理員]。
當地語系化
您可以讓擴充功能安裝在另一部電腦上時,以目標電腦的語言顯示工具名稱和工具提示。
若要提供多種語言的工具版本
建立包含一個或多個自訂工具的 Visual Studio Extension 專案。
在 .tbxinfo 檔中,使用資源檔方法定義工具的 displayName、工具箱 tabName 及工具提示。 建立其中已定義這些字串資源檔,將它編譯成組件,並且從 tbxinfo 檔參考該資源檔。
建立其他組件,其中包含擁有其他語言字串的資源檔。
將每一個額外的組件放入資料夾,且該資料夾以語言的文化特性代碼命名。 例如,將法文版組件放入名為 fr 的資料夾內。
您應該使用中性文化特性代碼,通常為兩個字母,而不是特定文化特性代碼 (例如 fr-CA)。 如需文化特性代碼的詳細資訊,請參閱 CultureInfo.GetCultures 方法 (英文),該方法會提供文化特性代碼的完整清單。
建置並散發 Visual Studio Extension。
擴充功能安裝到另一部電腦上時,使用者當地文化特性的資源檔版本將會自動載入。 如果您尚未提供使用者文化特性的版本,則會使用預設資源。
您無法使用這個方法安裝不同版本的原型圖表。 每一次安裝的項目和連接器名稱都會相同。
其他工具箱作業
通常,在 Visual Studio中,您可以透過重新命名工具時,移動到其他工具箱索引標籤和刪除個人化工具箱。但是,這些變更不為自訂模型工具保存建立與本主題所述的程序。 當您重新啟動 Visual Studio 時,自訂工具將再次以定義的名稱和工具箱位置出現。
除此之外,如果您執行 [重設工具箱] 命令,自訂工具將會消失。 不過,在您重新啟動 Visual Studio 之後,這些工具將再次出現。