Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » Java Development Tools (JDT) » How to keep track of the selected Quick Fixes?
icon4.gif  How to keep track of the selected Quick Fixes? [message #654750] Wed, 16 February 2011 22:46 Go to next message
Kivanc Muslu is currently offline Kivanc MusluFriend
Messages: 153
Registered: November 2010
Senior Member
Hi all,

I would like to write a simple plug-in that keeps track of the quick fix usage of the users. I want to get the following information:
- How many times a user clicks for quick fix dialog (i.e., asks Eclipse for available quick fixes). As far as I remember, this can be done simply by extending QuickFixProcessor and overriding getCorrections(...) method.
- As the result of this query, which quick fix does the user select at the end? This is what I have problem with. Is there an extension point or listener that would tell me which proposal the user selected at the end of a quick fix query? Is there another way to do this programmatically (i.e., using the Eclipse API)?

Thanks in advance, best regards,
Re: How to keep track of the selected Quick Fixes? [message #654769 is a reply to message #654750] Thu, 17 February 2011 02:44 Go to previous messageGo to next message
Deepak Azad is currently offline Deepak AzadFriend
Messages: 545
Registered: July 2009
Senior Member
On 2/17/2011 4:16 AM, Kivanc Muslu wrote:
> Hi all,
> I would like to write a simple plug-in that keeps track of the quick fix
> usage of the users. I want to get the following information:
> - How many times a user clicks for quick fix dialog (i.e., asks Eclipse
> for available quick fixes). As far as I remember, this can be done
> simply by extending QuickFixProcessor and overriding getCorrections(...)
> method.
A better way is to provide your own quick fix processor for counting the
invocations, see the extension point
"org.eclipse.jdt.ui.quickFixProcessors". Another way is to count number
of invocations of the command (Ctrl+1) - Eclipse Usage data collector
project keeps track of the number of times a command is invoked.

> - As the result of this query, which quick fix does the user select at
> the end? This is what I have problem with. Is there an extension point
> or listener that would tell me which proposal the user selected at the
> end of a quick fix query? Is there another way to do this
> programmatically (i.e., using the Eclipse API)?
Don't think there is any easy way to do this.

(Though I will be interested to know what you intend to do with this data)

> Thanks in advance, best regards,
Re: How to keep track of the selected Quick Fixes? [message #654773 is a reply to message #654769] Thu, 17 February 2011 03:52 Go to previous messageGo to next message
Kivanc Muslu is currently offline Kivanc MusluFriend
Messages: 153
Registered: November 2010
Senior Member
Hi Deepak,

Thanks for the suggestions.
I also wanted to say about writing my own QuickFixProcessor by extending the extension point you mentioned when I said 'extending QuickFixProcessor'. I wasn't thinking of changing Eclipse source and recompiling it Smile Sorry the terminology was not clear.

I need the data of the quick fix usage for the following:
I want to do a controlled experiment where how often the quick fix function of Eclipse is used by the users (if I think myself as a user, that is pretty often Smile). I also wonder, if the users generally select the first proposal in the list of quick fix proposals or some other proposal.

To get the exact times of quick fix application (not the calculation of the quick fixes), I have to make sure that the quick fix is applied to the project. That is why I was asking if there is a way to get users selection of proposal after requesting the proposals. You might imagine that the user invoked quick fix and then decided not to use any of the proposals (though I admit, this would be a low number). Again another interesting question would be (if user doesn't use any of the proposals) to pop up a question window to him and asking 'why he didn't apply any of the proposals'. I could store this data and try to understand how people are using the Quick Fix and when.

Returning back to my other goal, which is to see if the users generally selects the first proposal, I want to try to understand (again from a user perspective) if the users are using quick fix for obvious fixes (such as you know that you haven't imported a class, and you are also sure that it will be the first proposal), or for some other complex situations (like the user really don't know the answer directly but figure out the correct solution really using the help provided by the quick fix). Again here, another thing to measure might be the time passed between the activation of the quick fix (i.e., user clicks the quick fix button), and selection of the proposal. If this time is an average for the user, then we might say that s/he used the quick fix just to select a proposal that s/he already knew that will be there. If this time is above the average by some threshold, then again we can pop up a window and ask her/him 'why this quick fix selection' took more time.

As I said, I can approximate the number of quick fixes queried, however to learn about more interesting patters about quick fix usage, I have to investigate also which quick fix is selected by the user. Thus, I was wondering if there is any way to do this.

Quote:
Don't think there is any easy way to do this.

By the way, I am also interested in difficult ways, if this is possible...

[Updated on: Thu, 17 February 2011 03:54]

Report message to a moderator

Re: How to keep track of the selected Quick Fixes? [message #1381484 is a reply to message #654773] Sun, 25 May 2014 15:30 Go to previous message
Joffre Yagual is currently offline Joffre YagualFriend
Messages: 4
Registered: March 2014
Junior Member
Hi Kivanc,

Did you find the way to do the tracking?

I am interested too.

Thanks,
Previous Topic:eclipse source code
Next Topic:null type mismatch with eclipse 4.4rc1 and java 1.8
Goto Forum:
  


Current Time: Fri Dec 19 20:22:29 GMT 2014

Powered by FUDForum. Page generated in 0.01722 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software