[boo]
eclipseness
[ bamboo ] 20:22, Friday, 5 August 2005

Georges and I have been working on a set of eclipse plugins for boo development. There are several reasons I decided to give eclipse a try:

  • I've been spending the last year working pretty much 50/50 on java and .net projects - this is to say that I've been using eclipse a lot and got used to it;
  • I've also been in charge of writing some eclipse plugins so I got the expertise;
  • eclipse's architecture is pretty well thought out (I'm not saying the other ides' out there are not - I'm only familiar with eclipse's);
  • there are lots of plugins out there and lots of information about writing eclipse plugins - I'm sure you will agree this is in clear contrast with the other environments;
  • the PDE environment is pretty mature and TDD plugin development is a reality;
  • lots of other tools/frameworks/languages are already eclipsed and we get those for free: java, c++, antlr, cvs, svn, python, ruby, byecycle...
  • I need a pleasant and smoother cross platform experience as I develop software for different platforms: we have already used the plugins under windows, linux and macosx and everything worked like a charm (well, sort of :));

What we already have:

  • syntax highlighting (and of course we inherit most of eclipse's editing features like editor navigation and history);
  • boo projects;
  • background builders which report errors as you save the files;
  • local library references, gac references and internal project references (I would have to explain a little more);
  • launching (run as boo application, run as boo script);
  • nunit integration (run as nunit test);
  • interactive interpreter with code completion;
  • stack trace navigation (click on a file:line information and have that file open in the editor);

It's already ok for my everyday, cross platform use but YMMV as usual.

The glorious screenshots (click to enlarge):


The contributed boo perspective on my ubuntu system


The background builder reports errors and warnings as you save the files


Some MacOSX love from Georges


Code completion on my ubuntu system


NUnit integration (running on windows)

The plugins will move to the boo repository soon. Stay tuned.

TrackBack
Comments

5 August - 28 November... "The plugins will move to the boo repository soon. Stay tuned"... And where is this great plugin? Anybody home? ;-)

--Mindphaser, November 28, 2005 04:02 AM

what about: http://svn.boo.codehaus.org/booclipse/

--epcim, January 1, 2006 03:12 PM

This URL sort of works:

http://svn.boo.codehaus.org/*checkout*/booclipse/tags/stable/update/site.xml

I can receive a plugin update. But it's having problems running the booclipse server.

--choy, January 4, 2006 01:39 AM

Well I've tried to run the server on many versions of Mono on Windows (1.1.9.2, 1.1.10.1, 1.1.11, 1.1.12.1) without any luck. I guess it's not ready for windows yet.

I run

mono-path\bin\mono.exe --verbose --debug booclipse.server.exe-path 2816

and it dies with a NullReferenceException:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
in booclipse.core.ProcessMessengerClient:Start (Int32 portNumber)
in (wrapper remoting-invoke-with-check) booclipse.core.ProcessMessengerClient:Start (int)
in booclipse.server.MainModule:Main (System.String[] argv)

Which occurs right after the following verbiage:

Method (wrapper managed-to-native) System.MonoType:get_Name () emitted at 00FD38C8 to 00FD391E [booclipse.server.exe]
Method System.Reflection.MonoMethod:get_DeclaringType () emitted at 00FD3920 to 00FD394E [booclipse.server.exe]
Method (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_info (intptr,System.Reflection.MonoMethodInfo&) emitted at 00FD3960 to 00FD39B1 [booclipse.server.exe]
Method System.MonoType:ToString () emitted at 00FD39B8 to 00FD39CC [booclipse.server.exe]
Method System.Reflection.MonoMethod:get_Name () emitted at 00FD39D0 to 00FD39DB [booclipse.server.exe]
Method System.String:Concat (string[]) emitted at 00FD39E0 to 00FD3A38 [booclipse.server.exe]
Method System.Diagnostics.StackFrame:GetInternalMethodName () emitted at 00FD3A40 to 00FD3A4B [booclipse.server.exe]
Method (wrapper managed-to-native) System.MonoType:get_Namespace () emitted at 00FD3A50 to 00FD3AA6 [booclipse.server.exe]

--choy, January 4, 2006 02:11 AM
Post a comment









Remember personal info?