编写 Visual Studio 2010 代码生成插件的教程

本文关键字:插件 的教程 代码生成 2010 Visual Studio 编写 | 更新日期: 2023-09-27 17:56:00

我想在Visual Studio 2010中添加一个编辑器,它应该类似于你为实体框架获得的编辑器,即你有一个可视化设计器,它将自己的配置保存到自己的文件中,然后从中生成代码。

因此,涉及的两个方面将是特定文件扩展名的可视化表示,第二个是代码生成(或者应该在编辑文件时生成代码还是仅在构建时生成?

我已经做了一些冲浪,但无法获得有关如何执行这些特定操作的任何资源(尤其是代码生成部分),任何指向正确方向的资源都可能将不胜感激。

编写 Visual Studio 2010 代码生成插件的教程

Microsoft的可视化和建模 SDK - 领域特定语言:

http://msdn.microsoft.com/en-us/library/bb126259.aspx

引用自网站:

使用 Visual Studio

Visualization and Modeling SDK (VMSDK),您可以创建功能强大的基于模型的开发工具,这些工具可以集成到 Visual Studio 中。例如,UML 工具是使用 VMSDK 创建的。以同样的方式,您可以创建一个或多个模型定义,并将它们集成到一组工具中。

VMSDK 的核心是您创建的模型的定义,用于表示业务领域中的概念。可以使用各种工具包围模型,例如图表视图、生成代码和其他项目的功能、用于转换模型的命令以及与 Visual Studio 中的代码和其他对象交互的功能。在开发模型时,可以将其与其他模型和工具结合使用,以形成以开发为中心的强大工具集。

VMSDK 允许您以域特定语言 (DSL) 的形式快速开发模型。首先使用专用编辑器定义架构或抽象语法以及图形表示法。根据此定义,VMSDK 生成:

A model implementation with a strongly-typed API that runs in a transaction-based store.
A tree-based explorer.
A graphical editor in which users can view the model or parts of it that you define.
Serialization methods that save your models in readable XML.
Facilities for generating program code and other artifacts using text templating.

您可以自定义和扩展所有这些功能。扩展以这样一种方式集成,即您仍然可以更新 DSL 定义并重新生成功能,而不会丢失扩展。

你检查过这些链接吗?

  1. http://www.olegsych.com/2008/09/t4-tutorial-creating-reusable-code-generation-templates/
  2. http://msdn.microsoft.com/en-us/library/bb126445.aspx

对于代码生成,我建议您查看代码 DOM 模型。

我对VS插件开发一无所知,但我认为这个页面会有所帮助(如果你以前没有看到它) - Visual Studio插件开发,第一步