2011-05-10 62 views
5

我想向Visual Studio 2010添加一个编辑器,该编辑器应该类似于您为实体框架获得的编辑器,也就是说,您将获得一个可视化设计器,用于保存其自己的配置到它自己的文件,然后从那里生成代码。为Visual Studio 2010编写代码生成插件的教程

所以两个方面涉及用于这将是一个特定的文件扩展名的可视化表示,第二个是代码生成(或者应该作为文件被编辑或仅在一个构建生成的代码?)

我已经做了一些冲浪,但没有得到任何资源如何做这些特定的事情(特别是代码生成部分),任何指向正确的方向与资源可能会受到赞赏。

回答

5

微软的可视化和模拟SDK - 领域特定语言:

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

从网站引用:

使用Visual Studio可视化和建模SDK(VMSDK),你可以CR使用强大的基于模型的开发工具,您可以将其集成到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

我们专门为此设计的域特定框架,这意味着什么? – 2011-05-10 09:19:47

+0

它看起来很有前途,我只是看着[Tech Ed Video](http://channel9.msdn。com/Events/TechEd/Europe/2010/DEV210),看看它是否会达到我的目的。 – Cornelius 2011-05-11 06:50:46

+1

+1你的答案,我不明白为什么地球上有人给你一个downvote。 – Nock 2013-06-08 12:20:58

0

代码生成,我会建议你到湖边上code DOM model看看。

我一无所知VS插件的开发,但我认为这个页面将是有益的(如果你没有之前看到它) - Visual Studio plug-ins development, first steps

+0

'我对VS插件开发一无所知,你为什么回答呢? – jgauffin 2011-05-10 08:21:21

+0

我的答案不仅仅是关于插件) – 2011-05-10 08:54:53

相关问题