Twitter github

Posts Tagged with “eclipse”

Eclipse Usage Data Collection

As part of the Ganymede release, Eclipse will optionally include a usage data collector. What does this mean? Well, technically, the usage data collector monitors your use of Eclipse. It takes notice of the views, editors, and perspectives that you use. It also keeps track of when you bring the Eclipse workbench window into focus. Furthermore, for OSGi geeks, it records the bundles that are loaded by Eclipse. Why is this information useful? Well, for committers, the data can help us understand how you’re using Eclipse and what features you’re using.

For example, I believed (and still believe) that no one really uses Plug-in Search… but had no proof. Having proof would’ve helped me prioritize implementing Open Plug-in Artifact (Ctrl+Shift+A) functionality for 3.4 to expose that type of functionality in a better way (similar to how most people use Ctrl+Shift+T over Java Search). This is one example of many and I know that products built on Eclipse have the same type of usability issues.

In the end, I think this is an interesting feature that will evolve over time to be something extremely useful for the Eclipse ecosystem. The only sad part is that I will need to be more creative when I make up statistics in PDE meetings to bolster my causes:

By the way, if you’re interested in the terms of use, they are posted here.

Kind Words About Eclipse Help

I always say that kind words are cheap so it’s nice to hear that the Eclipse help system got some praise from the DITA blogging community:

…Eclipse Help is nonetheless extremely interesting as a case study of how a fully-featured Help system can be delivered, and could be used as a model or benchmark for cross-platform Help.

It gives me warm fuzzies inside when I hear kind words about PDE so I hope the Eclipse UA team has some of those warm fuzzies now πŸ™‚

Plug-in Development Webinar

As a reminder to everyone, the plug-in development webinar that Brian Bauman and I will be doing is coming up on January 22nd. If you’re interested in learning the basics of plug-in development along with some tips and tricks, please attend. If you have co-workers thinking about plug-ins or confused about what a plug-in is, have them attend! The layout of the webinar will be like this:

  • The Basics
  • Plug-in Architecture
  • Plug-in Development with PDE
  • Tips, Tricks and Best Practices
  • Q&A

Sometimes it’s difficult to do these webinars because you aren’t sure who your audience is going to be or you have to find a picture of yourself as handsome as Mik’s:

Brian and I tried to divide the webinar into two parts. The first part should please the beginners and the second part should please all plug-in developers with some experience. In the end, everyone gets to ask questions πŸ™‚

Because the PDE team loves suspense, we will have a mystery guest available to answer your questions in the chat:

To register for the webinar, send an email here.

Eclipse: The Default IDE

After starting a third review in a row of a software development environment based on the Eclipse platform (PyDev, Adobe Flex 3, and Nexaweb Enterprise Suite), something a friend said to me a year or two ago rang true: “There will be two major players in development software: Microsoft and its tools and Eclipse and its tools.” A cynic might say, “Good for Eclipse, not bad at all for a camel built by a committee,” but to make a point, cynics are often unfair and inaccurate.

The list of software vendors involved with Eclipse, and in many cases basing whole products on the Eclipse platform, reads like a who’s who: IBM, BEA, Adobe, Borland, Oracle, Nokia, SAP, Sybase, Zend, Iona, AMD, Intel, Novell, Nexaweb, QNX, Red HatÒ€¦ and sixty more. Missing name(s)? Need one ask?

For vendors, Eclipse is a nice step ladder; it may not get all the way to the top, but it’s a good start. It’s free, it’s solid and it’s familiar. So why re-invent the wheel?

Link to Article

FYI: Help Feature

A feature was finally created for adding Help to your Eclipse RCP applications. The feature will make its debut in 3.4M5.

This should simplify the process of working with the help system as in the past, it was a bit painful playing the ‘which plug-in do I need to run the help system’ game.

Thank you User Assistance team for putting this together πŸ™‚

Hunting Wabbits and Magical Identifiers

I always like to chuckle about my past Eclipse programming experiences. I remember one of my earlier tasks involved showing the error log view for something. I thought that the workbench would be responsible for that somehow… and I was right!

PlatformUI.getWorkbench().findView(...)

However, to my dismay, the parameter was a magical identifier that I didn’t know. It took me awhile to wade through Eclipse source code to find the identifier. An by awhile, I mean more time than it should have taken. There are much better ways to find magical identifiers these days… here are two ways:

(1) Plug-in Registry View

The Plug-in Registry view allows you to quickly find information regarding plug-ins and extension points. If you’re just interested in extension points, I’d set a filter to show only extension content only:

After that, you’re presented with a list of extension content only. Let’s focus on org.eclipse.ui.views as that’s our extension point of interest here:

Next, let’s try to find that pesky log view identifier:

That wasn’t so bad now, was it :)?

(2) Plug-in Spy

In Eclipse 3.4, it will be even easier to find certain types of identifiers using the Plug-in Spy. You just have to look at what you want and press ALT+SHIFT+F1:

Ok, those are all the tips today from your friendly PDE developer πŸ™‚

API is like a box of chocolates…

Ok, maybe API isn’t like a box of chocolates, but it’s something important, usually very hard to craft and even harder to maintain. However, I felt like I needed to use the tagline since I saw Forrest Gump recently.

API is also one of those things that I come to love and respect about Eclipse. In my personal opinion, the care the Eclipse teams takes in its API’s can be attributed to the success of Eclipse over time. For a person outside of Eclipse committership, it’s difficult to appreciate the diligence the Eclipse team takes in regards to APIs. On top of the time it takes to craft good APIs, it’s even more difficult to maintain them over time! There are all these silly little rules you have to follow to make sure you don’t break any clients.

Well, I’m happy to announce that the PDE team is attempting to graduate the API Tools project from the PDE Incubator for 3.4M5.

What is the API Tools project? Well, the goal of the project is to assist developers in API maintenance by reporting API issues such as binary incompatibilities, incorrect plug-in version numbers, missing or incorrect @since tags, and usage of non-API code between plug-ins. For those who don’t understand what this means, let me show you pictures.

The PDE API Tools let you work against API Profiles:

In this case, I setup my API “baseline” to be against the Eclipse 3.2.2 SDK. This means that all the code I’m developing should not break any APIs found in the 3.2.2 version of Eclipse. The next step would be to tweak some compiler settings in regards to see how I want errors reported:

Now that everything is setup, I was working on some PDE code and did something stupid… I modified the signature of an API method and forgot that would break my clients (ooops!) and cause many nasty bug reports to come in. Never fear, PDE API Tools is there to save my day:

Kind of cool, huh? It blows me away at least. It may not be perfect yet, but the API Tooling is a step in the right direction. Just imagine being told that you should increment your plug-in version because you modified your API in some shape or fashion. Wow!

In my mind, the beautiful modularity story Eclipse (OSGi) has combined with this type of tooling is solidifying Eclipse as an impressive runtime technology. When I have to step outside plug-in development sometimes to work with web technologies, I feel a bit like a luddite using punch cards.

MyTourbook Facelift

For those RCP and cyclist enthusiasts out there, the MyTourbook application I blogged about a few months ago got some updates. There’s an option for imperial measurements (for us poor Americans), support for new devices like my Garmin ForeRunner and mapping capabilities. The mapping capabilities are very cool. I didn’t know of a project called Geoclipse that allows you to add mapping capabilities to your RCP applications:

The story about how the primary author of MyTourbook added the mapping capabilities is neat and shows an aspect I like about the Eclipse ecosystem. To quote him,

…After researching the Internet I found the geoclipse project https://geoclipse.svn.sourceforge.net/svnroot/geoclipse which does exacly what I wanted. With a few clicks by adding the geoclipse plugins to my configuration and starting the application, the map was displayed, after additional 2 hours of work the tours are also displayed in the map. I think this shows how powerful the Eclipse platform is to plug components together

Polishin’ New Plug-in Projects

There was a recent blog post about someone complaining (can’t find it atm but sounds like something Eugene would do ;p) that the PDE and JDT new project wizards were too complicated. After the PDE team’s feelings were crushed and the tears subsided, we simplified the wizard. This was done by moving the Execution Environment setting to the second page and removing the confusing Classpath (Bundle-Classpath) option:

If you have any other ideas to simplify things for users, please let the PDE team know by filing a bug.

EclipseCon Hotels

I just booked my hotel at EclipseCon and I thought I would just remind people that it’s a good time to book your hotel.

Why?

Every year I know people that book late and get stuck in a hotel that’s far away from the convention center and either have to take a shuttle or suffer a fate similar to what happens in Oregon Trail:

So if you don’t want to die of dysentery, stay at the Hyatt or Hilton πŸ™‚