|Re: How to keep track of the selected Quick Fixes? [message #654769 is a reply to message #654750]
||Wed, 16 February 2011 21:44
| Deepak Azad
Registered: July 2009
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(...)
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]
||Wed, 16 February 2011 22:52
| Kivanc Muslu
Registered: November 2010
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 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 ). 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.
|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: Wed, 16 February 2011 22:54]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.02145 seconds