Friday, May 11, 2007

Context Launching....Friend Or Foe

In 3.3M6 some of you might have noticed that launching has changed...just a little bit.

In an on-going effort to make the world of launching in Eclipse just that little bit easier for novice users, we have introduced the concept termed 'context launching'. The premise of context launching is that we do everything in our power to try and run whatever the 'thing' you have selected is; failing that we give you the option to try and run the project it is contained in (if there is one). Furthermore, during the context launching process we abstract the hassle of having to create launch configurations or activate shortcut menus by creating the configurations for you, and presenting 'ways' of launching for users to select (if there is more than one way to launch the 'thing' selected).

Lets stop here for a second so I can tell you that YOU CAN TURN CONTEXT LAUNCHING OFF on the launching preferences page if you don't want to be cool and use the newest coolest launching stuff (but thats fine, I am not in charge of your coolness, I only provide the tools to increase it, a-la your_coolness++).

Ok back to context launching and why you can't do without it.

To provide context launching (so far) we have taken all of the familiar launching artifects, like launch shortcuts, etc, and rolled them all into one, leveraging it such a way that you can simply press the run or debug button (when context launching is on that is) and have a configuration pertaining to what you are doing be launched. Right now context launching is limited to things that have an associated IResource (using adapters), but this will likely be extended in the future to include non-resource based stuff (see see this bug).

The upshot of this is that no matter if you are a plugin, java, etc developer there is no 'new' stuff to learn, all you have to do is press the button (or use the menu shortcut). Even if you spend days creating the best launch configuration in the world it will be used in context launching, as we also make use of your launch history and favorites to help make decisions about what to launch and when. The downside is that it does not cover 100% of the edge cases in launching (
see this bug).

There is more specific information about context launching and how we implemented it (see this document) if you are interested.

So for now, we'll leave it at that and I hope everyone enjoys context launching and provides feedback if they don't, but like I mentioned I cannot be responsible for any depreciation in your coolness if you don't like it.

This feature has officially been labelled Axesome.