[Announcement] Prototype of Next Generation Code Assist? [message #258953] |
Wed, 04 March 2009 16:21 |
Eclipse User |
|
|
|
How much can an IDE predict what you will write in the next seconds?
At first glance, you might answer: nothing. Indeed, the information needed
to complete the source code is primarily in the developer's brain. Yet we
present a code completion system that is able to predict the code you
*will* write in the near future. To a certain extent ;)
Eclipse users know code completion. When writing source code, a widget can
propose you a list of code snippets to be inserted in the current source
file. For instance, when writing Java software with Eclipse, pressing
Ctrl-Space gives you all the methods callable on an instance x according
to its declared type. This feature really increase the speed of writing
code, especially when the results are filtered by the first characters of
the method name.
However, we all noticed that the Eclipse code assist proposals are always
polluted by a bunch of irrelevant or rarely used methods. For instance in
each proposal all 10 methods of "java.lang.Object" (for instance equals,
notify or wait) are proposed every time. But when using an application
class, say an SWT Button, it is more likely to call Button.setText()
rather than Object.notify(). However, the Eclipse code completion system
sorts the recommendations alphabetically, which means that
Button.setText() can be found far below notify() even if it would be much
more likely than any other method call.
To make things more complicated: Did you notice that the public interface
of SWT Button consists of more the 120 methods? Finding the appropriate
methods in such a long list of proposals is sometimes really complicated
and especially unexperienced developers run frequently into trouble here.
Consequently, learning how to use a frameowrk like SWT is much more
complicated than it needs to be (in our opinion :) ).
Because of these issues we started a new Eclipse project which aims to
build an intelligent code recommender system which (i) seamless integrates
into the look-and-feel of Eclipse' Code Assist, and (ii) predicts only
those method calls that are likely to be used by a developer in his
current (code) situation. Now, we have finalized our first prototype of
such a code recommender engine cabable to predict method calls for
instances of the SWT framework, i.e., objects like SWT Buttons, Labels,
Texts etc.
Since it is the first prototype we would love to get your feedback about
the usablity and usefulness of the tool.
* The plugin can be installed from our eclipse update site (see
http://www.stg.tu-darmstadt.de/research/core/download/core_d ownload_index.en.jsp)
* Demo screencasts and screenshots showing our tool in action are
available here:
http://www.stg.tu-darmstadt.de/research/core/demo/core_demo_ index.en.jsp
* There is also a short survey page available to collect your ideas and
comments on the tool: http://www.D120.de/survey/index.php?sid=38589&lang=en
We hope that this tool can significantly speed up your and your team's
development and learning process...
All the best,
Marcel
Project Home:
http://www.stg.tu-darmstadt.de/research/core/
|
|
|
Powered by
FUDForum. Page generated in 0.02960 seconds