2011-05-13 77 views
4

假設我有一種語言,我想爲它構建一個IDE。有沒有辦法「轉換」Visual Studio IDE以支持我的語言?視覺工作室可以支持我們自己的DSL嗎?

我的意思是我們可以利用Visual Studio IDE爲我們自己的語言構建一個IDE,爲我們提供intellisense支持,以及在全功能IDE中輸入代碼與在記事本中輸入代碼的所有優點。

我想建立一個文本編輯器與智能感知支持(一個IDE雖然不是一個完全成熟的一個),這將是可實現的工具(而不必從頭碼)

+0

參見[Visual Studio的SDK(http://msdn.microsoft.com/en-us/library/bb166441.aspx) – 2011-05-13 21:35:52

+0

如果您發現轉化的Visual Studio太大的下一個任務你最好的選擇不是記事本,它是Notepad ++,它就像程序員的記事本,非常適合DSL。 http://notepad-plus-plus.org/ – 2011-05-14 00:21:00

回答

6

可視化Studio SDK(FKA VSIP)爲這些類型的集成提供服務。一些關鍵字,你可能會遇到:

  • 「語言服務」是您實現獲得語言支持功能
  • 「巴別塔」是針對已經有多種實施框架的名字,首先在C++,然後服務一個託管版本
  • 「隔離殼」是一種方法,有沒有標準語言瘦身IDE
  • 「包」是各種類型的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-Podcasts-about-Microsoft-Visual-Studio-2010:-Turn-Ideas-into-Solutions&WT.rss_ev=a

這是一篇關於CodeProject的文章,講述瞭如何創建語言服務。 http://www.codeproject.com/KB/recipes/VSLanguageService.aspx