如何:定义和安装建模扩展
在 Visual Studio 旗舰版中,可以定义扩展到建模图。 通过这种方式,您可以采用关系图和模型来满足您自己的需要。 例如,您可以定义菜单命令、UML 配置文件、验证约束和工具箱项。 可以在一个扩展中定义多个组件。 您还可以将这些扩展以Visual Studio Integration Extension (VSIX)的形式分配给其他Visual Studio旗舰版用户。 在 Visual Studio中可以使用 VSIX 项目创建 VSIX 。
要求
Visual Studio SDK,您可以从 Visual Studio 库获取。
Visual Studio 可视化效果和建模 SDK,则可以从 Visual Studio 在代码库的可视化效果和建模 SDK获取。
创建一个建模扩展解决方案
若要定义建模扩展,您必须创建包含这些项目的解决方案:
Visual Studio 集成扩展 (VSIX) 项目。 这将生成一个充当扩展的组件安装程序的文件。
一个包含程序代码的组件所必需的类库项目。
如果需要创建一个具有几个组件的扩展,您可以在单个解决方案中开发这些组件。 只需要一个 VSIX 项目。
可以直接将不需要代码的组件(如自定义工具箱项和自定义 UML 配置文件)添加到 VSIX 项目中,而无需使用单独的类库。 可以在单独的类库项目中更轻松地定义组件。 需要代码的元素包括笔势处理程序、菜单命令和验证代码。
创建菜单命令、笔势处理程序或验证的选件类库项目
在**“文件”菜单上,选择“新建”和“项目”**。
在**“已安装的模板”下,选择Visual C#** 或Visual Basic, 然后选择 类库。
创建 VSIX 项目
如果创建的是带代码的组件,则先创建类库项目最为容易。 将代码添加到该项目中。
创建一个 VSIX 项目。
在 解决方案资源管理器的快捷菜单上,选择 添加,新建项目。
在**“已安装的模板”下,展开“Visual C#”或“Visual Basic”,然后选择“扩展性”。 在中间列中,选择“VSIX 项目”**。
将 VSIX 项目设置为解决方案的启动项目。
- 在“解决方案资源管理器”中,从VSIX项目的快捷菜单上选择设为启动项目。
打开 source.extension.vsixmanifest。 这将在清单编辑器中打开该文件。
在 MetaData 选项,设置 VSIX 的名称和描述性字段。
在 安装目标 选项卡中,选择 新建 并选择Visual Studio旗舰或高级版。
在 资产 选项,请将组件添加到 Visual Studio 扩展。
单击**“新建”**。
对于带代码的组件,在 添加新资产 对话框设置这些字段:
类型 =
Microsoft.VisualStudio.MefComponent
源 =
在当前解决方案中的项目
项目 =
Your class library project
在该文件夹中内嵌 =
(empty)
有关其他组件类型,请参见下一节中的链接。
开发组件
必须为每个组件(如菜单命令或笔势处理程序)定义一个单独的处理程序。 可以在同一个类库项目可以将若干处理程序。 下表总结了各种处理程序。
扩展类型 |
主题 |
每个组件的常见声明方式 |
---|---|---|
菜单命令 |
[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 配置文件 |
(将定义) |
|
工具箱项 |
(将定义) |
在扩展的开发过程中运行扩展
在扩展的开发过程中运行扩展
从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 Extension Installer”**将会打开并安装扩展。
启动或重新启动 Visual Studio。
卸载扩展
在**“工具”菜单上,单击“扩展管理器”**。
展开**“已安装的扩展”**。
选择扩展,然后单击**“卸载”**。
在极少数情况下,有错误的扩展无法加载并在错误窗口中创建报告,但不显示在扩展管理器中。 在此情况下,可以通过从以下位置删除文件来删除扩展,其中%LocalAppData% 通常为DriveName:\Users\UserName\AppData\Local:
%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions