Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Recommenders/Attic/New and Noteworthy/0.3

< Recommenders
Revision as of 14:43, 13 August 2011 by Bruch.st.informatik.tu-darmstadt.de (Talk | contribs) (Call Recommenders)

Status

Not released.

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:

Recommenders subwords methodnames.png


and completion on variable names:

Recommenders subwords variablename.png


and completion on method overrides:

Recommenders subwords methodoverrides.png

Subwords has been 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.

Method Calls

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.

Recommenders extdoc calls.png

Code Examples

Code examples are multi-line code snippets found in Java libraries.

Recommenders extdoc example.png

Subclassing Directives

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.

Recommenders extdoc subclas.png

Subclassing Patterns

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.

Recommenders extdoc pattern.png

Social Bookmarks

From the screenshots above you should have recognized that users are allowed to rate and comment information. For further user interaction, the social bookmarks provider allows sharing links relevant to the selected packages, types, methods etc.

Recommenders extdoc bookmar.png

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.

Recommenders extdoc hover.png

ExtDoc in Content Assistant

Furthermore, ExtDoc providers are also displayed when selecting completion proposals in code assistant.

Recommenders extdoc complet.png

Further content providers are currently in development. Please feel free to comment on the current ones or send requests for further providers!

Call Recommenders

Calls Models Info and Update Policies Starting from Version 0.3, Code Recommenders does not bundle all models in one large zip file but downloads them on demand. On startup, it also checks for updates. Means to upload anonymized usage data is currently under review by the Eclipse Technology PMC.


Manual / private models With 0.3, self-generated models can be configured to support custom/in-house frameworks Code Recommenders has no data for.

Recommenders calls model updates.png

Automated models download Code Recommenders now downloads models on demand. Whenever it detects an new dependency it looks up matching models from the server.
Automated model updates Code Recommenders can be configured to automatically check for updates and to automatically download them. If deactivated, models can be updated manually by selecting the models from the preference page pressing the update button.
Multi-Versions Support With 0.3 Code Recommenders generally supports data collections and model generation for libraries in different versions. For instance, different models are generated for Eclipse 3.6 and Eclipse 3.7.

Back to the top