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

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

(Prepared ExtDoc presentation)
(Completed description for ExtDoc presentation.)
Line 29: Line 29:
 
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.
 
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. Furthermore, ExtDoc provides a framework for external contributors to implement own documentation providers.
+
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="900" border="0" cellpadding="1" cellspacing="1"
+
Of course, standard Javadoc remains available as one information provider. The providers order can be modified by the user.
 +
 
 +
{| width="100%" border="0" cellpadding="1" cellspacing="1"
 
|-
 
|-
 
| valign="top" | '''Method Calls'''  
 
| valign="top" | '''Method Calls'''  
 
| valign="top" |  
 
| 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]]  
 
[[Image:Recommenders extdoc calls.png]]  
Line 42: Line 44:
 
| valign="top" | '''Code Examples'''  
 
| valign="top" | '''Code Examples'''  
 
|  
 
|  
...  
+
Code examples are multi-line code snippets found in open source software.
  
 
[[Image:Recommenders extdoc example.png]]  
 
[[Image:Recommenders extdoc example.png]]  
Line 49: Line 51:
 
| valign="top" | '''Subclassing Directives'''  
 
| 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]]  
 
[[Image:Recommenders extdoc subclas.png]]  
Line 56: Line 58:
 
| valign="top" | '''Subclassing Patterns'''  
 
| 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 open source software.  
  
 
[[Image:Recommenders extdoc pattern.png]]
 
[[Image:Recommenders extdoc pattern.png]]
Line 63: Line 65:
 
| valign="top" | '''Social Bookmarks'''  
 
| valign="top" | '''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.
  
 
[[Image:Recommenders extdoc bookmar.png]]
 
[[Image:Recommenders extdoc bookmar.png]]
Line 70: Line 72:
 
| valign="top" | '''ExtDoc in Hovers'''  
 
| 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]]
 
[[Image:Recommenders extdoc hover.png]]
Line 77: Line 79:
 
| valign="top" | '''ExtDoc in Content Assistant'''  
 
| valign="top" | '''ExtDoc in Content Assistant'''  
 
|  
 
|  
...  
+
Furthermore, ExtDoc providers are also displayed when selecting completion proposals in code assistant.
  
 
[[Image:Recommenders extdoc complet.png]]
 
[[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!

Revision as of 22:26, 11 August 2011

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.

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


ExtDoc - 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.

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 open source software.

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 open source software.

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!

Copyright © Eclipse Foundation, Inc. All Rights Reserved.