Can a visual studio support its own DSL?

Assuming I have a language and I want to create an IDE for it. Is there a way to "convert" the IDE of a visual studio to support my language?

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

I would like to create a text editor with intellisense support (at least an IDE, albeit not a full one), which tools would be available for this (without the need for code from scratch)

+4
source share
2 answers

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

  • A "language service" is a service that you implement to get language support features.
  • "Babel" is the name of a framework that has various implementations, first in C ++ and then a managed version
  • An "isolated shell" is a way to smooth an IDE without standard languages.
  • "Package" is one of the options for expanding Visual Studio integration (language, project, debugger).

You will also need to integrate the compiler, whatever I imagine. For this, you probably want to learn a little about MSBuild. You can implement your own project system, which can live side by side with C # and C ++ projects in a solution file, implementing a project package.

Here is a podcast from msdn that shows a managed system of babels. http://www.microsoft.com/events/podcasts/default.aspx?topic=Topic-6c8c64f3-9a31-48eb-b73a-e398713027&seriesID=Series-20ced2f1-8223-431e-8c94-b6202158813f.xml&pageId=x785soft&source Podcasts-about-Microsoft-Visual-Studio-2010: -Turn-Ideas-into-Solutions & WT.rss_ev = a

Here's an article on CodeProject that goes through creating a language service. http://www.codeproject.com/KB/recipes/VSLanguageService.aspx

+6
source

If you look through the Visual Studio Gallery , you can get an idea of ​​what is possible. There are some add-ons related to external languages ​​such as Lua.

-Neil

+1
source

All Articles