如何:定义和安装建模扩展

在最终的Visual Studio,您可以定义扩展到建模图。 通过这种方式,您可以采用关系图和模型来满足您自己的需要。 例如,您可以定义菜单命令、UML 配置文件、验证约束和工具箱项。 可以在一个扩展中定义多个组件。 在".形式,也可以将这些扩展到其他Visual Studio最终用户。Visual Studio集成扩展(vsix) 可以创建VSIX使用VSIX项目在Visual Studio。

要求

创建一个建模扩展解决方案

若要定义建模扩展,您必须创建包含这些项目的解决方案:

  • Visual Studio 集成扩展 (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的最终和高质量编辑。

  7. *** 属性 *** 选项,请将组件添加到Visual Studio扩展。

    1. 单击**“新建”**。

    2. 对于带代码的组件,在 *** 添加新的资产 *** 对话框的这些字段:

      *** 类型 *** =

      Microsoft.VisualStudio.MefComponent

      =

      在当前解决方案中的项目

      项目 =

      您的选件类库项目

      *** 嵌入此文件夹 *** =

      (空)

      有关其他组件类型,请参见下一节中的链接。

开发组件

必须为每个组件(如菜单命令或笔势处理程序)定义一个单独的处理程序。 可以在同一个类库项目可以将若干处理程序。 下表总结了各种处理程序。

扩展类型

主题

每个组件的常见声明方式

菜单命令

如何:在建模图上定义菜单命令

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

拖放或双击

如何:在建模图上定义笔势处理程序

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

验证约束

如何:为 UML 模型定义验证约束

[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 配置文件

如何:定义用于扩展 UML 的配置文件

(将定义)

工具箱项

如何:定义自定义建模工具箱项

(将定义)

在扩展的开发过程中运行扩展

在扩展的开发过程中运行扩展

  1. 在 Visual Studio***** 调试 ***** 菜单中,选择 *** 开始调试 ***

    此时将生成项目,并且以实验模式启动一个新的 Visual Studio 实例。

    • 也可以选择 *** 开始,而不调试 ***。 这将减少启动程序所用的时间。
  2. 创建或打开在Visual Studio的实验实例的建模项目,然后创建或打开该关系图。

    此时将加载并运行扩展。

  3. 如果使用了 *** 开始,而不调试 ***,但要使用调试器,请向Visual Studio主实例。 在**“调试”菜单上,单击“附加到进程”**。 在对话框中,选择Visual Studio的实验实例中,在过程名 devenv

安装和卸载扩展

执行以下步骤独立运行您在Visual Studio计算机的主实例的扩展或在其他计算机上。

  1. 在您的计算机中,查找由扩展项目生成的 .vsix 文件。

    1. *** 解决方案资源管理器 ***,请在项目中快捷菜单,然后选择 *** 打开在Windows资源管理器中的文件夹 ***

    2. 找到文件 bin\*\您的项目.vsix

  2. .vsix 文件复制到要安装扩展的目标计算机上。 该计算机可为您自己的计算机或其他计算机。

    • 目标计算机上必须安装在 source.extension.vsixmanifest*** 安装目标 *** 选项指定的某个Visual Studio版本。
  3. 在目标计算机上,请通过双击以打开 .vsix 文件,如。

    **“Visual Studio Extension Installer”**将会打开并安装扩展。

  4. 启动或重新启动Visual Studio。

卸载扩展

  1. 在**“工具”菜单上,单击“扩展管理器”**。

  2. 展开**“已安装的扩展”**。

  3. 选择扩展,然后单击**“卸载”**。

在极少数情况下,有错误的扩展无法加载并在错误窗口中创建报告,但不显示在扩展管理器中。 在此情况下,可以通过从以下位置删除文件来删除扩展,其中 %LocalAppData% 通常为 DriveName:\Users\UserName\AppData\Local:

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

请参见

概念

如何:定义用于扩展 UML 的配置文件

如何:定义自定义建模工具箱项

如何:为 UML 模型定义验证约束

如何:在建模图上定义菜单命令