This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Any plans to work on a Visual Studio plugin?

3 replies
Bakos Gábor
Joined: 2009-06-08,
User offline. Last seen 42 years 45 weeks ago.
Hello,

   It seems more and more pieces are coming together to write a Visual Studio plugin for Scala, thanks to Miguel Garcia and the others. I see 3 companies that might work on a tool like this:
  • Microsoft - previously there were rumours on this list that they are working on/funding the development of a plugin, although I am not quite sure the work was really started.
  • JetBrains - they have an IDE for Scala/Java, and a tool for Visual Studio, although no sign that they are working on a solution to combine these.
  • Scala Solutions - already taking part in eclipse plugin development, maybe they are planning to support VS too.
   Do any of these companies (or others) working on a Visual Studio plugin? In case not I think I will start a project within the next two months to bring basic support to Visual Studio. (I have seen in Miguel Garcia's reports some prototypes, so maybe an alternative is already in progress.)
Thanks, gabor
odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
Re: Any plans to work on a Visual Studio plugin?


2011/2/26 Gábor Bakos <aborgabor [at] gmail [dot] com>
Hello,

   It seems more and more pieces are coming together to write a Visual Studio plugin for Scala, thanks to Miguel Garcia and the others. I see 3 companies that might work on a tool like this:
  • Microsoft - previously there were rumours on this list that they are working on/funding the development of a plugin, although I am not quite sure the work was really started.
  • JetBrains - they have an IDE for Scala/Java, and a tool for Visual Studio, although no sign that they are working on a solution to combine these.
  • Scala Solutions - already taking part in eclipse plugin development, maybe they are planning to support VS too.
   Do any of these companies (or others) working on a Visual Studio plugin? In case not I think I will start a project within the next two months to bring basic support to Visual Studio. (I have seen in Miguel Garcia's reports some prototypes, so maybe an alternative is already in progress.)
Thanks, gabor

Hi Gabor,

I do not know of a company that has a VS Scala plugin in development, or plans to to one. If you want to start a project to do this, we'd try give you the best support we can from the EPFL side.

Cheers

 -- Martin


Miguel Garcia 2
Joined: 2011-01-30,
User offline. Last seen 42 years 45 weeks ago.
Re: Any plans to work on a Visual Studio plugin?

Gabor, 
Great to hear from you again. Sorry for this late reply, I was finishing jdk2ikvm to the point where scalacompiler.exe can be obtained (first by running jdk2ikvm on trunk sources, and then compiling that output with Scala.NET). Some details at [1], but please feel free to ask for more details, sources, etc. 
About the VS plugin, all help is welcome. So far I've been busy getting "automated API migration" to work (i.e., jdk2ikvm). Now comes polishing Scala.NET itself (would have been great to carry out those in parallel, but there's only so much one can do). For VS extenders, you'll definitely want Scala.NET to support "Generics in the backend" (which is tagged as "Coming soon!" at [2]. Without that, your program will typecheck, but stall at some point after the "erasure" phase and "GenMSIL" phase (because GenMSIL will emit bytecode referring to an erased API, and the bytecode verifier won't like that). 
You know, getting the bootstrapping story right was a top priority (which can be done without full support for Generics: the IKVM library, just like the OpenJDK bytecode it is based on, has been "erased"). And a number of improvements were done as part of that to Scala.NET, and yes, next on the line comes support for generics in the backend. 
As to the VS plugin itself, starting its development in C# is a possibility. The API of scalalib.dll and scalacompiler.exe as seen from C# won't change, however those APIs are low-level when compared to the API as seen from Scala.NET source code. Afterwards, porting the plugin code to Scala.NET will thus involve not only getting rid of "idiomatic C#" but also using Scala's libraries at the level of Scala types, instead of their lowering to CLR types. With that caveat, it's a good way to start. 
Questions, comments, etc. are welcome. 

Miguel 
[1] http://lamp.epfl.ch/~magarcia/ScalaNET/2011Q1/PostJDK2IKVM.pdf
[2] http://lamp.epfl.ch/~magarcia/ScalaNET/
Bakos Gábor
Joined: 2009-06-08,
User offline. Last seen 42 years 45 weeks ago.
Re: Any plans to work on a Visual Studio plugin?
Hi Miguel, Martin,

Thanks for the information and support. I am sure I will have questions when I shall dig deeper. I definitely want to support generics, but I do not mind if those are not available at the beginning. I guess the only supported version of .NET will be 4 and above (variance annotations are introduced in C# 4). Hopefully there will be less problems with the attributes as were with the annotations.
It would be great if it were possible to use Scala for WPF, SL, or Entity Framework development. For these I see one blocking feature: Do you plan to add partial classes in any forseeable time? Or do you have an idea how to mimic that behaviour? (I know you do not want to make the language like a Xmas tree, but maybe this worth the effort. I also like the regions and sometimes the conditional compilation, but those are really not so important.)
The other great feature will be the delimited continuations plugin. As I understand it will work out of the box on .NET too. Maybe it will support the await and async features before C# and VB.NET. :)
Cheers, gabor

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland