Recommenders/Attic/New and Noteworthy/0.3
Subwords Completion Engine
Sometimes you just don't know the complete name of a method - or entering its full name from the first character? Subwords is here to assist.
|Subwords Completion|| It supports code completion on method names:
Subwords has been mainly developed by Paul-Emmanuel Faidherbe and contributed to Eclipse Code Recommenders. Thank you Paul-Emmanuel!
Subwords currently has some limitations:
- It doesn't support dynamic reranking of proposals with better/larger overlaps.
- It only works in the scenarios shown above. Typename completions are yet not possible.
You may find more limitations as you go. Please send your feature requests and bugs to Bugzilla. A thread discussing this contribution is here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=350000
Extended Documentation Platform
Traditionally, Javadoc is the first place to go if you want to have details regarding API usage. However, Javadoc's quality much depends on the author and therefore often lacks important information. Usually it only informs about arguments and returned information, but seldom puts it into perspective, e.g. its role in the whole framework/library.
The following screenshots indicate how ExtDoc tries to solve this problems. It uses several types of automatically inferred information - displayed by so-called "content providers" - and community features to enrich Eclipse's Java documentation. ExtDoc providers are displayed in an own view, when hovering elements in the editor and as additional information to code assistant selections. Furthermore, ExtDoc provides a framework for external contributors to implement own documentation providers being displayed along with the existent ones.
Of course, standard Javadoc remains available as one information provider. The providers order can be modified by the user simply by drag-and-drop of the providers in the left area of the view.
The method calls providers displays statistics about which methods of a type are called most often. This is either context-independent, e.g. when you click on a type name in the editor, or it's context-dependent, e.g. you select a variable. In the latter case it's considered what you've already called, which usually affects the probabilities of the remaining methods.
Code examples are multi-line code snippets found in Java libraries. Currently, only the provider for viewing code snippets is part of the platform. The mined contents are currently work in progress.
Subclassing directives indicate which methods of the superclass are typically overwritten. When an overriden method is selected, which methods of the superclass are typically called from the method implementations.
Often there are several ways of extending a type, depending on it's purpose, i.e. subgroups of subclassing directives go together. This providers displays information of subclassing patterns found in Java libraries.
Users are even able to contribute documentation on their own through the social bookmarking provider. Everyone is able to submit web resources regarding the selected element and others can rate them.
From the screenshots above you should have recognized that users are allowed to rate various provider information. Some providers also offer a comments features where users can exchange their thoughts on the data.
|ExtDoc in Hovers||
ExtDoc information can not only be displayed in its view, it's also available when hovering editor elements. The icons at the bottom allow quick jumps to the single providers.
|ExtDoc in Content Assistant||
Furthermore, ExtDoc providers are also displayed when selecting completion proposals in code assistant.
Further content providers are currently in development. Please feel free to comment on the current ones or send requests for further providers!
Starting from Version 0.3, Code Recommenders does not bundle all models in one large zip file but per jar (so called model-jars).
|Proposal Ordering||Proposals are now ordered by type name and only secondary by probability|