Top 10 Eclipse Juno Features

Top 10 Eclipse Juno Features

In 2004 a new Major Version of the Eclipse platform was released: Eclipse 3.0. This release delivered a universal platform for application delivery and included the OSGi runtime.  Now, 8 years later, the Eclipse release train has moved to the next major version.  Eclipse Juno has been released and it is the first simultaneous release to be built on Eclipse 4.  In preparation for the release, I’ve been counting down the Top 10 Eclipse Juno Features that I’m most excited about:

10. MacOS App Integration
9. LDT & Koneki
8. Mylyn & Intent
7. RAP Protocol
6. Git
5. JDT Enhancements
4. Orion
3. Xtext / Xtend
2. Code Recommenders

In addition to this, Eclipse Juno contains a number of other great features including: Vigro Nano, Jetty 8 (and servlet 3.0 support) and the OSGi RC5 reference implementation.  Please check out PlanetEclipse for exciting announcements and other information related to the Juno release.   While all of these features are pretty cool, the most exciting feature, and Number 1 on my Juno Top 10 List, has been under development for over 4 years: the Eclipse 4.x Platform.

Eclipse 4 started as an incubator (known as e4) and over the past three years, components have been graduating from the incubator into the Eclipse core. Officially, the platform version is 4.2.

From a purely aesthetics perspective, Eclipse 4 brings a whole new look to the workbench:

There are also a number of new interaction and usability improvements, including the ability to mix views and editors:

A universal search bar:


and Detached Editors:

Of course, the changes are much more than skin deep.  The new 4.x workbench brings an entirely new programming model.  The workbench is represented as an EMF model, and is dynamically rendered.  This completely separates the UI concerns from the application logic and allows for a much more dynamic workbench and a plug-able presentation engine.  Widgets can now be styled using a CSS Styling Engine:

The platform now supports dependency injection for common services and a common event bus for all workbench related events.

This new programming model is not just for the Java IDE, but represents a much easier way to develop plugins, and RCP Applications.  There are great resources available to help you get started. Also, the e4 incubator has a number of exciting technologies, including a live model editor that you can use to dynamically change the properties of your UI model.

 And a CSS-Spy to help examine the CSS properties:

There are is also a compatibility layer, so your existing plugins should work just fine on the 4.x platform.

As I mentioned above, the Eclipse 4 platform has been under development for a number of years now. Mike Wilson (McQ) leads the project, but the work has been split between a large number of very active (and long-time) Eclipse committers including: Brian de Alwis, Carolyn MacLeod, Curtis Windatt, David Williams, Deepak Azad, Dani Megert, Eric Moffatt, Grant Gayed, Bogdan Gheorghe, Carolyn MacLeod, John Arthorne, Kai Toedter, Markus Keller, Michael Rennie, Oleg Besedin, Pawel Piech, Paul Webster, Szymon Brandys, Lakshmi Priya Shanmugam, Stephan Herrmann, Silenio Quarti, Remy Suen, Thomas Schindl, Thomas Watson and Tomasz Zarna. In addition to this, the e4 (the incubator project) is currently being developed by: Brian de Alwis, Danail Branekov, Bogdan Gheorghe, Lars Vogel, Paul Webster and Thomas Schindl.

To everyone involved with this project, let me extend a very big thank-you. It is your dedication to Eclipse that will ensure the longevity of this excellent platform!  +1 and keep up the great work!

If you would like to try all the features in my Top 10 List (except for Orion, which is not a traditional Eclipse plugin), you can download my Yoxos Profile and start is using the Yoxos Launcher. This will provision an Eclipse install containing the Top 10 Features.

For more Eclipse Tips and Tricks (and the annual Top 10 List), why not follow me on twitter:

  • Posted at 13:36, 2012-06-27
  • Srujan
    Posted at 20:50, 2012-07-03

    hi marcel,

    I am new to using Code recommenders. I am using Eclipse Juno and I have installed code recommenders on eclipse but i dont see any content assists for Code recommender or chain completion. I tried it on java.lang.String class and did something like this “Java”. and did a ctrl+space and i dont see code recommender content assist, all i see is template proposals.

    Am i missing something?

    I double checked Preferences -> java – editor – content assist – advanced I have checked the following under “select the proposal kinds containted in the default content assist list:”
    1) Code Recommenders Proposals
    2) Java proposals
    3) template proposals

    The second box down the above is the “Content assist cycling”. The following are checked
    1) Template Proposals
    2) Code Recommenders Proposals
    3) Chain Proposals(Recommenders)
    4) Java subwords proposals(recommenders).


  • Marcel
    Posted at 07:21, 2012-07-04


    when triggering code completion on “java”.| you should get something like
    * “equals” – 44%
    * “length” – 20%
    * …

    The settings look quite okay. I assume that you have internet connection and Recommenders was able to download the model for your JRE but can you check if Recommenders was able to resolve a model file for your rt.jar (or classes.jar) by checking whether the “Calls” preference page shows a “resolved” state for this jar?

    Chain completion on java.lang.String will per default not work. String is in the “ignore list” because it occurs in too many APIs and search is likely to take too long in most cases. See “Return types to ignore:” setting in chains preference page.

  • Guillaume
    Posted at 21:33, 2012-07-07

    Eclipse 4 looks very promising however, after using it for one week, it is quite a disappointment. Besides the new look, very few things have changed nor are they really useful. But mainly, the performance is absolutely unacceptable. After a few hours of work, everything is getting slower and slower. Opening editors takes between 30 seconds and 1 minute.

    The Java developer package (which is mainly JDT + GIT + Maven) is still not able to handle correctly hierarchical Maven projects under Git versioning. Sometimes, file selection works in Git and sometimes not. Refresh of files is very clumsy and Eclipse does not seem to be ableto see that files are represented in several projects.

  • Srujan
    Posted at 19:24, 2012-07-13

    Thanks for the reply Marcel.

    I realized that all my settings of eclipse are correct except for the fact that all the libraries that needs to be loaded from repository are in status “UNRESOLVED”.

    When i go to preferences -> Code Recommenders -> Calls and select on the jars(say rt.jar), Resolution status drop down box is set to “UNRESOLVED”. How do i fix it.

    I am very curious to test this code recommenders(looks very promising) and see how much of help it would be of me. I could make my entire team to use it once i test it.


  • Srujan
    Posted at 20:29, 2012-07-13

    I uninstalled and installed Code Recommenders back again from the website you mentioned in the eclipse blog. I still see that the jars are unresolved. Felt like the uninstall wasn’t complete.

    I didnt play around with the eclipse proxy settings. I checked in preferences section to see if I can change proxy settings but I dont find one. I extracted another copy of Eclipse Juno and installed a fresh copy of Code Recommender it still isnt Resolved after getting the Dev version of Its still not working

    • Marcel
      Posted at 20:50, 2012-07-13


      your problem sounds pretty strange. The proxy settings are part of the default Eclipse configuration. Please see “General » Network Connections” where to configure it. But as you say you don’t use any proxy settings I’m not sure what’s the root cause.

      Let’s try to figure out what’s going wrong with your settings. Can you

      1) delete the folder workspace/.metadata/.plugins/org.eclipse.recommenders.rcp/
      2) restart Eclipse
      3) trigger code completion on a string variable inside a method body

      Can you then post the contents of your “workspace/.metadata/.plugins/org.eclipse.recommenders.rcp/” folder to our forum at ?

      Let’s continue the discussion there.

  • Posted at 18:58, 2012-07-18