Pacerier
Pacerier

Reputation: 89753

Can visual studio support our own DSL?

assuming I have a language and I want to build an IDE for it. Is there a way to "transform" the visual studio IDE to support my language?

What i mean is that can we make use of visual studio IDE to build an IDE for our own language, providing us with intellisense support and all the benefits of typing code in a full-blown IDE vs typing code in notepad.

I would like to build a text-editor with intellisense support (an IDE albeit not a full-blown one) what would be the tools available to achieve that (without having to code from scratch)

Upvotes: 4

Views: 437

Answers (2)

TechNeilogy
TechNeilogy

Reputation: 1281

If you browse the Visual Studio Gallery , you can get some idea of what is possible. There are some add-ins related to external languages such as Lua.

-Neil

Upvotes: 1

Brian Kretzler
Brian Kretzler

Reputation: 9938

The Visual Studio SDK (FKA VSIP) has services for these types of integrations. Some keywords you may come across:

  • "Language Service" is a service you implement to get language support features
  • "Babel" is the name for a framework that has had various implementations, first in C++ and then a managed version
  • "Isolated Shell" is a way to have a slimmed down IDE without the standard languages
  • "Package" is one of various types of Visual Studio integration extensions (language, project, debugger)

You'll also need to integrate a compiler of some sort I would imagine. For that you probably want to learn a bit about MSBuild. You can implement your own project system that can live side-by-side with C# and C++ projects in a solution file by implementing a Project Package.

Here is an podcast from msdn that shows the managed babel system. 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

Here is an article on CodeProject that walks through the creation of a language service. http://www.codeproject.com/KB/recipes/VSLanguageService.aspx

Upvotes: 6

Related Questions