Friday, July 10, 2009

ObjectivEClipse 0.2 released

Thanks to a lot of good contributions, I'm pleased to announce the availability of ObjectivEClipse 0.2, which allows Objective-C code to be written/compiled inside the Eclipse CDT environment on the Mac.

This version depends on CDT 6.0 and Eclipse 3.5, which are part of Galileo. If you've already got a 3.5 install, you can use the update manager to find and install CDT, or you can download a pre-canned Eclipse CDT package with all the Mylyn goodness built in.

You can get ObjectivEClipse by adding the update site and then choosing the ObjectivEClipse plugin, or by downloading the site as an archive and then installing that. The update site is the suggested mechanism, because if that gets updated, you just need to do an update to get the next build.

So, what's new with ObjectivEClipse 0.2? Well, we've had many good contributions, not the least of which is a parser which is less brain-dead than the one I originally hacked together; so we can now parse interfaces, field definitions, methods (both interface and implementation) and, thanks to built-in CDT support for such things, use code folding and Mylyn. The net effect of all this is it's really starting to feel like an editor that isn't horrible at editing code, though it lacks a lot of the must-haves of IDEs these days still (the lack of indexing means that a lot of things like refactoring and cross-file hyperlinking are a little way off yet).

But it's possible to compile run-of-the-mill Hello World applications, as well as cross-compile to different architecture and different SDK and have the GCC errors hook up to the line in which the problem occurred, as well as using the built-in GDB debugger to step through code.

Here's a screenshot of Mylyn in action on an Objective-C project (with and without Mylyn):

If you'd like to get involved, please start playing with it and giving feedback/ideas/code/coffee/donations to charity. Clearly, it's not a replacement for Xcode, but it's a starting point for developing Objective-C code in an Eclipse IDE.

7 comments:

David Lucek said...

I can't install this under windows, is it only for the Mac version of eclipse?
The install error is:

Cannot complete the install because one or more required items could not be found.
Missing requirement: 1250135741552 0.0.0.1250135741552 requires 'org.eclipse.cdt.objc.feature.feature.group [0.2.0]' but it could not be found

AlBlue said...

David,

At the moment, this is only for the Mac version of Eclipse. However, the plan is to support other OSs in the (near) future. The problem is setting up so that the compiler works and finds the libraries - the OSX version of gcc has some additional options that the non-OSX version doesn't have.

In addition, although you'd be able to develop vanilla Objective-C code, the frameworks are really what makes Objective-C powerful, which currently means using GNUStep. I'm not sure whether that works on Windows or not.

So, the plan is to have it support other OSs in the future, but just not yet ...

Anonymous said...

I'd suggest looking up the Cocotron implementation of the Cocoa frameworks when you do the Windows port.

J_Y_C said...

This looks great, but I can't seem to get it to install. I am on a Macbook with OSX 10.5.8. I have the standard Eclipse for C/C++, and when it attempts to install the update, I get this error:
An error occurred while collecting items to be installed
session context was:(profile=epp.package.cpp, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.cvs,1.0.300.v200909170800
No repository found containing: osgi.bundle,org.eclipse.team.cvs.ui,3.3.201.R35x_v20090826-0905
No repository found containing: osgi.bundle,org.eclipse.ui.views.log,1.0.100.v20090731
No repository found containing: org.eclipse.update.feature,org.eclipse.cvs,1.1.101.R35x_v20090811-7E79FEd9KKF5H2YDWFLLBL01A16
No repository found containing: binary,org.eclipse.cvs_root,1.1.101.R35x_v20090811-7E79FEd9KKF5H2YDWFLLBL01A16

AlBlue said...

J_Y_C,

You could raise an issue tracker item at Google Code. Can you also provide information about what version of Eclipse you are running? The fact that it can't find (the right version of) CVS is likely to be an issue with wherever you've downloaded the original Eclipse from, so finding the answer to that question is probably important.

J_Y_C said...

Thanks for the quick reply AlBlue.

In my "About Eclipse" window it says:

Eclipse IDE for C/C++ Developers

Build id: 20090619-0625

I downloaded it from the main eclipse site, quite recently. I had this problem with the other installation of Eclipse I had (the J2ee one), but since I use Netbeans for the vast majority of my Java development, I didn't mind just starting from the base version of Eclipse. So this eclipse I have is the standard c/c++ version with no extra modules installed.

J_Y_C said...

So, I hadn't realized that I didn't have all the IDE updates installed, I had tried before, it failed, and I never got back to it.

I just did the IDE updates, and then was able to install the plug in.

Then, I did some object testing, and it worked.

I am thrilled. I am not going to discuss my opinions on XCode, that a holy war I am not interested in.

All I can say is this: I like my IDE to suggest a LIST of possible code completions, not just the wrong one.

Thanks for this article, it was helpful.