visual studio能否支持我们自己的DSL?

Pac*_*ier 4 .net language-agnostic dsl visual-studio

假设我有一种语言,我想为它构建一个IDE.有没有办法"转换"visual studio IDE来支持我的语言?

我的意思是我们可以利用visual studio IDE为我们自己的语言构建一个IDE,为我们提供intellisense支持以及在完整的IDE中键入代码与在记事本中键入代码的所有好处.

我想构建一个支持intellisense的文本编辑器(一个IDE,虽然不是一个完整的IDE),可以实现的工具是什么(无需从头开始编写代码)

Bri*_*ler 6

Visual Studio SDK(FKA VSIP)为这些类型的集成提供服务.您可能会遇到一些关键字:

  • "语言服务"是您实现语言支持功能的服务
  • "Babel"是具有各种实现的框架的名称,首先在C++中,然后是托管版本
  • "Isolated Shell"是一种在没有标准语言的情况下拥有纤薄的IDE的方法
  • "Package"是各种类型的Visual Studio集成扩展(语言,项目,调试器)之一

您还需要集成我想象的某种编译器.为此你可能想了解一下MSBuild.您可以通过实施项目包来实现自己的项目系统,该系统可以与解决方案文件中的C#和C++项目并存.

这是来自msdn的播客,显示了托管的babel系统. http://www.microsoft.com/events/podcasts/default.aspx?topic=Topic-6c8c64f3-9a31-48eb-b73a-e398713027&seriesID=Series-20ced2f1-8223-431e-8c94-b6202158813f.xml&pageId=x7852&source=Microsoft-播客-有关微软-视觉工作室2010年: -夜想法-到-解决方案和WT.rss_ev =一

这是一篇关于CodeProject的文章,介绍了如何创建语言服务. http://www.codeproject.com/KB/recipes/VSLanguageService.aspx