为 Visual Studio 2010 编写代码生成插件的教程
Posted
技术标签:
【中文标题】为 Visual Studio 2010 编写代码生成插件的教程【英文标题】:Tutorial for writing code generation plugin for Visual Studio 2010 【发布时间】:2011-08-22 06:17:53 【问题描述】:我想在 Visual Studio 2010 中添加一个编辑器,它应该类似于您为 Entity Framework 获得的那个,即您有一个可视化设计器,可以将自己的配置保存到自己的文件中,然后从中生成代码.
因此,这涉及到的两个方面将是特定文件扩展名的可视化表示,第二个是代码生成(或者代码应该在文件编辑时生成还是仅在构建时生成?)
我已经进行了一些冲浪,但无法获得有关如何执行这些特定操作的任何资源(尤其是代码生成部分),任何指向正确方向的资源可能都会受到赞赏。
【问题讨论】:
【参考方案1】:Microsoft 的可视化和建模 SDK - 领域特定语言:
http://msdn.microsoft.com/en-us/library/bb126259.aspx
引自网站:
使用 Visual Studio 可视化和建模 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 定义并重新生成功能,而不会丢失您的扩展。
【讨论】:
我们专门为此设计的领域特定框架,投反对票的是什么? 它看起来很有希望,我只是在看Tech Ed Video 看看它是否能达到我的目的。 +1 你的回答,我不明白为什么有人给你投了反对票。【参考方案2】:您检查过这些链接吗?
-
http://www.olegsych.com/2008/09/t4-tutorial-creating-reusable-code-generation-templates/
http://msdn.microsoft.com/en-us/library/bb126445.aspx
【讨论】:
【参考方案3】:对于代码生成,我建议您查看code DOM model。
我对 VS 插件开发一无所知,但我认为这个页面会有所帮助(以防你以前没看过)-Visual Studio plug-ins development, first steps
【讨论】:
I know nothing about VS plugin development
,那你为什么要回答?
我的答案不仅仅是插件)以上是关于为 Visual Studio 2010 编写代码生成插件的教程的主要内容,如果未能解决你的问题,请参考以下文章
visual assist x的智能提示突然消失了,我用的是visual studio 2010。在编写代码时,不知道怎么回事,突然
Visual Studio 2010 性能分析能否与用 C# 编写的 Windows 服务一起工作