Jump to: navigation, search

Difference between revisions of "Recommenders/Attic/New and Noteworthy/0.3"

(Removing all content from page)
 
Line 1: Line 1:
== 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.
 
 
{| width="100%" border="0" cellpadding="1" cellspacing="1"
 
|-
 
| valign="top" | '''Subwords Completion'''
 
| valign="top" | It supports code completion on method names:
 
 
[[Image:Recommenders subwords methodnames.png]]
 
 
<br> and completion on variable names:
 
 
[[Image:Recommenders subwords variablename.png]]
 
 
<br> and completion on method overrides:
 
 
[[Image:Recommenders subwords methodoverrides.png]]
 
|}
 
'''Subwords has been mainly developed by [http://twitter.com/#!/developpef Paul-Emmanuel Faidherbe] and contributed to Eclipse Code Recommenders. Thank you Paul-Emmanuel! '''
 
 
<br> 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
 
 
<br>
 
 
== 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.
 
 
{| width="100%" border="0" cellpadding="10" cellspacing="1"
 
|-
 
| valign="top" | '''The View'''
 
| valign="top" |
 
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.
 
 
[[Image:Recommenders extdoc view.png]]
 
 
|-
 
| valign="top" | '''Method Calls'''
 
| valign="top" |
 
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.
 
 
[[Image:Recommenders extdoc calls.png]]
 
 
|-
 
| valign="top" | '''Code Examples'''
 
|
 
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.
 
 
[[Image:Recommenders extdoc example.png]]
 
 
|-
 
| valign="top" | '''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.
 
 
[[Image:Recommenders extdoc subclas.png]]
 
 
|-
 
| valign="top" | '''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.
 
 
[[Image:Recommenders extdoc pattern.png]]
 
 
|-
 
| valign="top" | '''Social Bookmarks'''
 
|
 
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.
 
 
[[Image:Recommenders extdoc bookmar.png]]
 
 
|-
 
| valign="top" | '''Community Features'''
 
|
 
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.
 
 
[[Image:Recommenders extdoc comments.png]]
 
 
|-
 
| valign="top" | '''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.
 
 
[[Image:Recommenders extdoc hover.png]]
 
 
|-
 
| valign="top" | '''ExtDoc&nbsp;in&nbsp;Content&nbsp;Assistant'''
 
|
 
Furthermore, ExtDoc providers are also displayed when selecting completion proposals in code assistant.
 
 
[[Image: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  ==
 
 
Starting from Version 0.3, Code Recommenders does not bundle all models in one large zip file but per jar (so called model-jars).
 
 
{| width="100%" border="0" cellpadding="10" cellspacing="1"
 
 
|-
 
| valign="top" | '''Automated&nbsp;Model&nbsp;Download'''
 
| valign="top" | Code Recommenders downloads model-jars on demand now. Whenever it detects a new dependency it looks up matching models from the server, downloads, stores them in the plug-in state location ($workspace/.metadata/.plugins/org.eclipse.recommenders.codecompletion.calls).
 
 
|-
 
| valign="top" | '''Automated Model Updates'''
 
| valign="top" | Code Recommenders can be configured to automatically check for updates and download them. If deactivated, models can be updated manually by selecting the models from the preference page pressing the update button.
 
 
|-
 
| valign="top" | '''Model Management'''
 
| valign="top" | [[Image:Recommenders calls model updates.png]]
 
 
|-
 
| valign="top" | '''Support for Private Models'''
 
| valign="top" | Self-generated models can be configured manually to support custom/in-house frameworks Code Recommenders has no data for.
 
 
|-
 
| valign="top" | '''Multiple Versions Support'''
 
| valign="top" | Code Recommenders generally supports data collection and model generation for libraries in different versions. For instance, different models are generated for Eclipse 3.6 and Eclipse 3.7.
 
 
|-
 
| valign="top" | '''First&nbsp;Steps&nbsp;Towards&nbsp;Support&nbsp;for&nbsp;Android'''
 
| valign="top" | With 0.3 we start support for Android. Yet the code base for Android is small an experimental but we hope that the community sharing features of 0.4 (if Eclipse PMC allows) help to continuously grow the Android knowledge base. Cross fingers!
 
 
|}
 
 
== Template Completion  ==
 
 
{| width="100%" border="0" cellpadding="10" cellspacing="1"
 
 
|-
 
| valign="top" | '''Proposal Ordering'''
 
| valign="top" | Proposals are now ordered by type name and only secondary by probability
 
[[Image:Recommenders_TemplateCompletionProposalOrder.png‎]]
 
 
|}
 
 
[[Category:Recommenders|Z]]
 

Latest revision as of 02:30, 26 September 2013