Log in

No account? Create an account

Wed, Jun. 17th, 2009, 10:03 pm
Python Support in Visual Studio

Every couple of months we see a bug report on IronPython Studio or someone on the IronPython Mailing List asking why Microsoft doesn’t support Python in Visual Studio.  Most recently there was a pretty lengthy thread about Python intellisense in VS – see http://lists.ironpython.com/pipermail/users-ironpython.com/2009-June/010566.html.  I’ll attempt to shed more light on some facts mentioned in the thread…

A long time ago (2005), in a galaxy far, far away (Microsoft’s building 42) at least one Jedi (aka software engineer) used the Visual Studio Force to put together a Python light saber…err…I mean ‘language service’ for Visual Studio 2005 – see http://lists.ironpython.com/pipermail/users-ironpython.com/2005-December/001375.html for background.  A ‘language service’ is simply an extension to Visual Studio that makes it aware of one or more file extensions denoting a programming language Visual Studio doesn’t understand by default.  Among other things, this means Visual Studio might provide syntax highlighting for the programming language in the editor.  Any ways, this particular Python language service was never intended to provide complete IronPython support for Visual Studio.  Instead, this was bundled with the VS 2005 SDK as a complete sample to show developers how to extend Visual Studio for their own programming languages.  I’m not even sure any testers on the IronPython team ever evaluated this sample, but do believe we had at least one developer working on it.  I can’t really provide too many more details on the Python language service in the VS 2005 SDK as I didn’t join the IronPython team until summer 2006.

IronPython Studio was an update to the VS 2005 SDK Python language service for VS 2008 put together by a consulting firm named Clarius Consulting Labs.  To the best of my knowledge the IronPython Team had no involvement in the creation of IronPython Studio.  Also, the emphasis again was on being a complete VS language service implementation and not necessarily adding the best Python support to VS.  I think it’s a little unfortunate this tool has ‘IronPython’ in the title as this confuses people and leads them to believe we have the ability to fix bugs in it and also add new features (none of the IronPython Team is even listed as contributors to IronPython Studio – see http://ironpythonstudio.codeplex.com/People/ProjectPeople.aspx).  Finally, a few people in the IronPython community have observed that this piece of software is “abandonware”.  I agree, but wouldn’t be too surprised if it got revived for VS2010.

I think I speak for everyone on the IronPython Team when I say we’d love to see IronPython support in Visual Studio by default without the need for any language service addition.  The thing is these types of decisions are made at a much higher level than us and are heavily influenced by business needs.  What I’m getting at here is if enough people provided feedback via the proper channels that:

  • The next version of VS is great, but it’d be better if it supported Python development
  • You don’t currently use VS but you would if it had Python support
  • Ahem…you’d be willing to pay for IronPython support in VS
  • Etc

then the next version of VS could very well have Python support built into itJ  What are the proper channels for feedback you ask?  The VS 2010 feedback page (https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=9790) would be a great start.