Friday, February 19, 2010

IronPython in SharpDevelop 3.2.0 – a short review on integration status

It is quite a shame that VS2010 itself is not providing any IDE support for IronPython and makes us look at Java based IDEs like Netbeans/Eclipse.

But still, for me nothing to complain as I picked IronPython only as my scripting language choice and can’t say that IDE-wise it is doing worse than Powershell for example.

Same valid for debugging – I believe Powershell and IronPython are both coming on par with debugging.

Here is the best post I have ever found on different IDEs options is from “IronPython in Action” guys: http://www.voidspace.org.uk/ironpython/tools-and-ides.shtml

And now back to SharpDevelop:

image

Just short recapitulation of my experience so far:

You can set breakpoint and it will stop on it, you can read more on setting debugging features here: http://community.sharpdevelop.net/blogs/mattward/archive/2009/05/30/DebuggingIronPythonCode.aspx

Intellisense works perfectly for .NET members but not for python syntax/members/variables. It would be great to have at least powershell gui kind of functionality where it shows all the members available in the separate window (with help on click).

When I tried to use 2.6.1 version of IronPython (the one for vs2010rc1), debugging stopped working with:

Can not start process. The debugger's protocol is incompatible with the debuggee. (Exception from HRESULT: 0x8013134B)

Again, this is an open source project, so the best one can do seeing bugs or missing features is not complain BUT to contribute!! :):).

2 comments:

Matt Ward said...

Newer releases of SharpDevelop 3.2 ship with IronPython 2.6.1.

SharpDevelop 3.2 does not support .NET 4.0 so it will not support the IronPython version that targets VS2010/.NET 4.0.

SharpDevelop 4.0 works with .NET 4.0 and includes IronPython 2.6.1.

stan said...

Thanks Matt,

sorry, overlooked the fact 3.2 doesn't support .NET 4.0.
Downloaded the 2.6.1 for .NET 2.0 (http://ironpython.codeplex.com/releases/view/40144) and that solved the debugging issue.