June 24, 2015
Mars is the tenth Eclipse Simultaneous Release. 79 projects are involved, 3 projects more than in Luna. 380 committers (Luna: 339) and 352 contributors (Luna: 348) have worked together to make Mars happen.
Ian Bull has already written about his top ten Eclipse Mars features. And also Wayne Beaton has his New and Noteworthy and Screenshot of the Week series about Mars. Here come some Mars highlights from my point of view.
- I’m not yet convinced by the Eclipse Installer for installing Eclipse package solutions. But I like the Eclipse Installer in the Advanced Mode which makes it easy to contribute to an Eclipse project, for example to Vex. ;-)
- If you work with multiple workspaces, then the Oomph Preference Recorder synchronizes your preferences. It is a kind of workaround for the fact that Eclipse preferences are either project- or workspace-specific but not global.
- In the Java Development Tools (JDT) I like the improved Null/Flow Analysis and the new Quick Assists (Ctrl+1) for lambda expressions.
- The improved code completion by Code Recommenders (new constructor- and Mylyn-completion processors; subwords-completion is now enabled by default) is also helpful for Java developers. The Code Recommenders Snipmatch with tons of templates is now included in the Java solution packages.
- With the Docker Tooling you can manage your containers.
- There are 7 projects that for the first time joined the Simultaneous Release: Oomph, Trace Compass, RCP Testing Tool, SWTBot, Lua Development Tools, e(fx)clipse and Thym. The RCP Testing Tool (RCPTT) is a very cool UI testing tool exclusively for Eclipse-based development. Take half an hour and try it yourself. It is super easy.
- I’m curious how helpful the data that are collected by the new Error Reporting and UI Responsiveness Monitor will be.
- I like the concept of the Launch Bar which has been tailored to the needs of C/C++ developers.
For more information read my article on Mars (in German) in the upcoming Eclipse Magazin or in a condensed form online.
PS: Please feel free to use the diagram and screenshots (attribution is nice to have but not required). I opened a bug to collect and share material to promote Mars.
January 16, 2015
Late last year, Eclipse Vex 1.1 was released. Vex, the Visual Editor for XML, provides a word processor-like interface for editing XML. Here are the new and noteworthy of version 1.1:
For installing Vex 1.1 you can use one of the following update sites or install buttons:
In addition to new features and bug fixes, we improved our processes by using HIPP (Hudson Instance Per Project) in combination with Git and Gerrit and by supporting Oomph. We also added a 4-minute video about Vex – Getting Started to the website, which is viewed on average 10 times a day.
More than two years have passed since version 1.0. The main development is currently done by Florian Thienel and Carsten Hiesserich in their spare time. Because of this Vex evolves slowly but steadily. Without the pressure of a company driving this project, which started 12 years ago as a Swing application, the core of Vex is being redesigned. This redesign will bring a better performance and a cleaner API to make it easier to extend Vex and to use Vex not only as an XML editor. Based on the new core, which is still work in progress, Florian created a prototype with a cursor showing the position of block elements directly at the cursor instead of in the status line (see this video for details).
Probably, some results of this work will be in Vex 1.2, which hopefully will not take as long as Vex 1.1.
November 14, 2014
Up to now more than 12 million Luna packages have been downloaded. That is more than two petabytes and on average, 63 packages per second. On 26th September the first service release was published and a few days later the packages were rearranged on the download page. This dramatically influenced which download package is chosen.
Eclipse Standard 4.4 (which was called Eclipse Classic before Kepler) was renamed into Eclipse IDE for Eclipse Committers 4.4.1. Regardless of the name, the package is not only for Eclipse committers, but also for Eclipse contributors and for Eclipse- or OSGi-based development. On the download site the packages are ordered by download numbers. The package lost its pole position and dropped to fifth place after a few days. Then the Eclipse IDE for Java Developers was put on the top, above the ordered by downloads list. The download numbers of the pure Java IDE increased from 10% to 31%. In contrast, the download percentage of the Standard/Committers package dropped from about 38% to below 4%. It seems that a third of the downloaders select the first package regardless of what it is.
In Google Search I have never used the I’m Feeling Lucky button which redirects directly to the first search result. But I am pretty sure that many do. If one third of the users always choose the first item of a list, how many will spend some time to change the default settings? Maybe we should reconsider some of the default preferences of the Eclipse IDE. I think it was a good decision to enable the line numbers in text editors by default in Luna. I would appreciate if in the Java editor the automatic correction of semicolons and brackets position would be enabled, too. Also I would like to have Remember last used page in the search dialog enabled by default. Which default preferences would you like to change for the ones that feel lucky?
October 17, 2014
This is the last of the five well-hidden features of the Infocenter. The Eclipse Infocenter is the Eclipse help system launched as a web application which can of course also be remotely debugged like any other Java application. But in situations when you cannot easily access the server on which the Infocenter is running you can still get hold of a list of active plug-ins and some help-specific configuration information. Furthermore, you can display any file of an active plug-in. This debugging information, which is similar to the Configuration Details in the About Dialog of your Eclipse IDE, can be accessed not by following a link or by clicking a button but by opening specific URLs.
For a table of active plug-ins just open the page about.html. You can sort the rows by clicking on a column header. This list can be used to get the source code of the plug-ins, which is required for a remote debugging session. Or you can check if there are any known security vulnerabilities (e. g. cross-site scripting vulnerability) that need to be fixed by updating the Infocenter. You should use Eclipse 3.8 or newer just to be on the safe side. Two weeks ago I found three pretty old Infocenters with security issues which are certainly not the only ones. I informed the operators but nothing has happened so far. For this reason I even waited until today with publishing this post.
To get help-specific preferences you have to open about.html?show=preferences. But this page shows only the basic help configuration. To get a file such as plugin.xml, toc.xml or META-INF/MANIFEST.MF of a specific plug-in you have to open rtopic/plug.in.id/path/to/file, for example:
This was the final episode of the series on five little known things about the Eclipse Infocenter. I hope that you liked it. How many of the well-hidden features did you already know?
- Basic and Bot Mode
- Deep Linking
- Search Links
- Language Switching
- Debugging Information
September 30, 2014
The Eclipse Infocenter is the Eclipse help system launched as a web application. Three of five well-hidden features about the Infocenter have already been presented: Basic and Bot Mode, Deep Linking and Search Links. Here comes little known thing number four: Language Switching.
The Infocenter is multilingual. The Eclipse Babel project provides languages packs for the user interface. When the content is available in different languages it depends on your web browser settings which language will be chosen. The language setting of your web browser can be overruled by appending ?lang=… to the URL. Eclipse Luna Help is in English only, but for example the Infocenter for IBM Rational Team Concert for System z 2.0 is available in French (lang=fr), Spanish (lang=es), Japanese (lang=ja), Korean (lang=ko) and many other languages. It is also possible but rarely used to distinguish between American English (lang=en_US) and British English (lang=en_GB). In IBM’s Infocenter for Content Analytics Version 2.2 you can even switch the user interface language to Arabic (lang=ar) with right-to-left layout:
By the way, to confuse your colleagues you can switch the layout of their non-Arabic Eclipse IDE including help to right-to-left with the runtime option -dir rtl. ;-)
Sometimes it make sense to provide only parts of the help content in different languages. For instance, often the user manual is available in several languages, whereas the API documentation is available in English only. But also if the content is not multilingual the chosen (user interface) language affects searching. This is caused by the language-dependent stemming: searching in English for plan without quotes will find topics that contain planning or plans, the same query in Korean does not find these English topics. Infocenter administrators can limit the list of supported user interface languages via the runtime option -locales.
Stay tuned for the last little known thing about the Eclipse Infocenter on my list: Debugging Information!
September 23, 2014
The Eclipse Infocenter is the Eclipse help system launched as a web application. Two of five well-hidden features about the Infocenter have already been presented here. After Basic and Bot Mode and Deep Linking here comes little known thing number three: Search Links.
Search links are queries which can be used for sharing or creating a search input field in or outside the Infocenter. You can search all content, a single book or a single chapter. To search all content you have to append /index.jsp?tab=search&searchWord=… to the base Infocenter address like in this example of searching for eclipse runtime options within the Eclipse Luna online help. The following HTML snippet creates a search field for Luna help:
<input type="hidden" name="tab" value="search">
<input type="submit" value="Search">
In order to search within a book you have to use the toc parameter in addition to the tab and searchWord parameters as well as quickSearch=true and
quickSearchType=QuickSearchToc: /index.jsp?tab=search&quickSearch=true&quickSearchType=QuickSearchToc&toc=…&searchWord=… To get the value for the toc parameter, open /basic/searchView.jsp?searchWord=-&scopedSearch=true, select one book, click the Go button and get the value from the scope parameter of the new URL.
A chapter can be specified by the path parameter: /index.jsp?tab=search&quickSearch=true&quickSearchType=QuickSearchToc&toc=…&path=…&searchWord=… The value of tab is a tuple of subchapter indexes starting with 0 separated by underscores. For example path=0_2 refers to the third subchapter of the first top-level chapter of the book specified by the toc parameter.
In addition to the parameters described above you can use the optional parameters maxHits and showSearchCategories. The maxHits parameter specifies the maximal number of results to return and its value ranges between 1 and 500. The user settings Group by Categories can be overridden by showSearchCategories=true or by showSearchCategories=false.
If you do not pass the Turing Test because you are not human you may be interested in the more machine-readable search results in XML. The XML document is available at /search?phrase=… and includes also the scoring. The parameter phrase is equal to the searchWord parameter described above. The maximal number of results is limited to 1,000 (maxHits is not supported). The XML search results can be easily used in scripts. For example, this little Ant script finds common misspellings by querying for each item of Wikipedia’s list of common misspellings. It finds 131 typos in the current Luna help with only a very low false positive rate.
The next little known things about the Eclipse Infocenter on my list are Language Switching and Debugging Information. Stay tuned!
September 17, 2014
The Eclipse Infocenter is the Eclipse help system launched as a stand-alone web application. Five well-hidden features about the Infocenter will be presented one after the other here. Basic and Bot Mode have already been presented and here comes the second little known thing: deep linking.
The Infocenter does not yet support deep linking: When you browse inside the Infocenter the URL does not change. If you want to bookmark a topic you will have to copy the topic link via right-click menu from the table of contents, paste the link into the address bar and bookmark this URL.
VMware has already implemented deep linking without contributing it back to Eclipse. This is not the only adaption VMware made. Unfortunately, one of these additional adaptions does not work with Internet Explorer 8 (in contrast to Firefox, Google Chrome and Internet Explorer 11), so that the table of contents does not show up. There are no such problems with the plain Eclipse Infocenter. This is why contributing back makes sense. ;-)
However, deep linking has not yet been implemented in the plain Eclipse Infocenter and you have to copy manually the link from the table of contents. This link is redirected to the version with HTML frames. If you want to see the topic framelessly without the table of contents, search field, etc. you will have to append ?noframes=true to the link. Alternatively, in the URL you could replace /topic/ with /nftopic/ or – if you want to have the navigation breadcrumb at the top – with /ntopic/.
With the resultof parameter you can highlight text. The topic is automatically scrolled to the first hit. This can be used to link to a specific section inside a topic. For example, if you want to link to the “Dark theme” inside the “What’s New in Luna” topic you will have to append ?resultof=”Dark theme” to the link. The phrase to be highlighted has to be enclosed in parentheses. Two or more phrases have to be concatenated without delimiters as you can see in the following example:
To combine both frames and highlighting is a little bit tricky. First you have to open the topic link which redirects you to index.jsp?topic=…; then you have to append ?resultof=… to the redirected URL. The ?topic=…?resultof=… instead of ?topic=…&resultof=… is probably a work-a-round for an error waiting to be fixed. ;-)
The next little known things about the Eclipse Infocenter on my list are Search Links, Language Switching and Debugging Information. Stay tuned!
September 12, 2014
The Eclipse help system can also be launched as a stand-alone web application, the so-called Infocenter. The Eclipse Infocenter is widely used by several companies and organizations, with and without adaptions. Although many of you will be familiar with help.eclipse.org or one of these websites, hardly anyone will know all of the five well-hidden features of the Infocenter that might be useful to you. They will be presented individually here. And here comes number one: the basic and the bot mode.
The basic mode can also be useful with a current browser. For example, if you need the whole table of contents of a book then it can be easily extracted (and copied) from
/basic/tocView.jsp. This saves you manually expanding every individual chapter.
In the Infocenter, the browser detection to switch between basic and advanced mode is done via the User-Agent HTTP header field. The User-Agent field is also used to present the website without HTML frames to web crawlers in a third mode, the bot mode. For the Google Search Bot the Luna Help with its 17,875 topics looks like this:
The next little known things about the Eclipse Infocenter on my list are Deep Linking, Search Links, Language Switching and Debugging Information. Stay tuned!
August 30, 2014
Apart from help.eclipse.org for Luna and previous simultaneous releases Eclipse offers its Infocenter for Orion:
In the wild the Infocenter is used for instance by Tasktop without modification except an additional header…
… or by Freescale and by bada Developers:
I like the red style of Wolfram. Even the icons have been adapted:
ARM has made functional changes to the Infocenter. With the menu to the left of the search box you can select where to search, e. g. within the title only or in the whole document. Interestingly, some icons have been removed: there is no Print/Search Topic (and its Subtopics) icon and no Link with Contents icon in the Contents toolbar; no Group by Categories and no number of matches in Search Results.
Sybase also made some search modifications. The drop-down menu right of the search field makes it easier to switch between search scopes that have been created. The flashlight symbol of the search icon to search a topic (and its subtopics) has been replaced with a magnifying glass.
The Infocenter of VMware is hardly recognizable as such. The tabs are shown at the top instead of at the bottom. Maybe because today common web browsers do not have a status line and show the target of a link while hovering it in the left bottom corner which hides bottom tabs.
IBM, the company which has done most of the development work for Eclipse’s Infocenter, added a Collaboration tab to show hot topics and – if logged in – the user’s own comments. There is also a frame below the topic frame for topic-specific comments.
IBM has begun to replace this and other Infocenter instances with its new Knowledge Center. I guess but I don’t know that it is still based on Eclipse Infocenter. It does not use HTML framesets but an iframe for the topic. The search field is wider and the search scope follows automatically the selected book which covers a product.
Most of the modifications described above are about searching. Please drop a comment if you have come across an Infocenter with other modifications. If you like a modification then report it to Eclipse, or even better, implement it and contribute it to Eclipse and watch them reintroduce it into the wild.
August 19, 2014
Assuming you have help content and it comprises more than a couple of sentences, your users will explore it by searching the whole content or by following hyperlink by hyperlink, digging deeper level by level into the table of contents. In Eclipse Help it is also possible to search only part of the content by defining a scope or by selecting a topic and searching its subtopics. But this is rarely used because it is cumbersome. Also the wildcards ‘*’, ‘?’ and the boolean operators NOT and OR are rarely used. Just like with Google or DuckDuckGo people tend to search for keywords only.
Autocomplete, instant search and more
misuses a proxy which makes it slower than when integrated into your help. To see the content of a topic by hovering a search result you have to allow insecure content: click the shield icon in the address bar:
eh.js can also be used for searching a particular part such as a book or a chapter: Place the mouse over a TOC item link to display a search field for this topic and its subtopics only. Eclipse Luna Help contains 66 books and probably you do not want to get your search results flooded by hits in all of them. Or maybe you will use eh.js as a starting point to develop a complete new user interface for the good old Eclipse Help. What should it look like?