Quick Links
Status (Jan 2011)
The plugin available from the project page is not compatible with the latest versions of Eclipse and Mylyn.
The source code at the link above was decompiled from the jarfile, as the original source repository was lost. The decompiled source has been updated so that it compiles with the latest versions of Eclipse and Mylyn. A plugin built from this source now loads in the latest version of Eclipse (3.6.1, Helios), but there remain a number of issues. Incompatibilities with the latest version of the Google search results page have been fixed. However, results are still not being displayed in the Fishtail view. The origin of this issue is still unknown.
The Visual Studio prototype is very minimal. It simply demonstrates the ability to periodically poll for the location of the cursor in the edit window, and map that location to a structural element in the program source.
Background
The Fishtail Eclipse plugin was originally developed by Nathan Hapke and Gail Murphy during Nathan's internship in late 2007. The basic goal of the plugin is to automatically search the web for code samples and other pages applicable to the user's Mylyn task context. Keywords are automatically generated based on Java structure elements within the context (e.g. class names, method names, package names). The user may augment the search input by manually entering additional keywords. Changes in the task context can automatically trigger searches, or they can be manually initiated by the user. Result links are listed in an Eclipse view.
In fall 2010, Gail and I (Nick) started exploring the possibility of building a similar plugin for Visual Studio 2010. I first wanted to familiarize myself with the existing plugin. It was no longer compatible with the latest versions of Eclipse and Mylyn, and the original source code repository had been lost. I decompiled the jarfile using JD (
http://java.decompiler.free.fr/
). I then fixed various compile errors, some resulting from the decompilation process, but most related to changes in the Mylyn API. The guide for porting from Mylyn 2.0 to 3.0 was very helpful in this process:
http://wiki.eclipse.org/Mylyn/Porting_Guide/3.0
.
I also needed to update the code to be compatible with the latest version of the Google search results page (unfortunately, the current implementation does not use the Google web search service, and is tightly coupled with the format of the Google search results page). While the plugin now loads successfully with the latest versions of Eclipse (3.6.1, Helios) and Mylyn (3.4.2), it is still not fully working, as search results do not show up in the Mylyn view.
While some time was expended on trying to get the existing Eclipse plugin working, the majority of my work this past fall has been to explore the technical feasibility of building a similar plugin for Visual Studio 2010, and to try to understand better the value and novelty of the overall approach within the context of current research. Results of this work are summarized in the next two sections.
Fishtail Approach and Related Work
The Fishtail concept originates in work done by Reid Holmes, Robert Walker, and Gail on the Strathcona example recommendation tool (
http://dx.doi.org/10.1145/1062455.1062491
).
--
NickSawadsky - 06 Jan 2011