Dear Squeak users,
OCompletion is an extension to ECompletion. Like ECompletion, it completes the names of methods as you write them in order to save you some typing. The O in OCompletion stands for Omniscient and Omnipresent. OCompletion is much more accurate than ECompletion. We tested it on the development history of several projects (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf). Across several hundred thousands tests of the completion, OCompletion's algorithm scores a 70 (out of 100), while the eCompletion's algorithm scores a 12. To achieve this level of accuracy, it learns from your usage of squeak and proposes to you methods you are more likely to use. OCompletion shows a small, non-instrusive completion menu with potential completions as you type method names. You don't need to call it explicitely with tab. Just press tab to insert a match, or the down arrow to select the next match. To install it on Squeak or Pharo, simply execute the following line in your image: Installer squeaksource project: 'OCompletion'; install: 'OCLoader' Cheers, Romain |
Looks good.
But, this autocomplete Class names? I'm trying and when I write a class name, only appears a little "window" showing me selectors, and, if I load a new package, this is not showed on the aut"o"completion list. Cheers. Romain Robbes escribió: > Dear Squeak users, > > OCompletion is an extension to ECompletion. Like ECompletion, it completes > the names of methods as you write them in order to save you some typing. > The O in OCompletion stands for Omniscient and Omnipresent. > > OCompletion is much more accurate than ECompletion. We tested it on the > development history of several projects > (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf) > <http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf%29>. > > Across several hundred thousands tests of the completion, OCompletion's > algorithm scores a 70 (out of 100), while the eCompletion's algorithm > scores a 12. To achieve this level of accuracy, it learns from your usage > of squeak and proposes to you methods you are more likely to use. > > OCompletion shows a small, non-instrusive completion menu with potential > completions as you type method names. You don't need to call it > explicitely > with tab. Just press tab to insert a match, or the down arrow to > select the next > match. > > To install it on Squeak or Pharo, simply execute the following line in > your image: > > Installer squeaksource project: 'OCompletion'; install: 'OCLoader' > > Cheers, > Romain > -- > Romain Robbes > http://www.inf.unisi.ch/phd/robbes > > ------------------------------------------------------------------------ > > > |
Hi Guiseppe,
Thanks for trying it out! The main focus is on methods, since this is what is the most used. It does not propose class names yet. However if you press the down arrow when typing a class name (even if the menu is not shown), then the normal eCompletion menu with class names will show up, so you can select a class there. Cheers, Romain On May 12, 2009, at 10:43 AM, Giuseppe Luigi Punzi wrote: > Looks good. > > But, this autocomplete Class names? I'm trying and when I write a > class name, only appears a little "window" showing me selectors, > and, if I load a new package, this is not showed on the > aut"o"completion list. > > > > Cheers. > > > > Romain Robbes escribió: >> Dear Squeak users, >> >> OCompletion is an extension to ECompletion. Like ECompletion, it >> completes >> the names of methods as you write them in order to save you some >> typing. >> The O in OCompletion stands for Omniscient and Omnipresent. >> >> OCompletion is much more accurate than ECompletion. We tested it on >> the >> development history of several projects >> (see http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf) >> <http://www.inf.unisi.ch/phd/robbes/papers/ASE2008-completion.pdf >> %29>. >> >> Across several hundred thousands tests of the completion, >> OCompletion's >> algorithm scores a 70 (out of 100), while the eCompletion's algorithm >> scores a 12. To achieve this level of accuracy, it learns from your >> usage >> of squeak and proposes to you methods you are more likely to use. >> >> OCompletion shows a small, non-instrusive completion menu with >> potential >> completions as you type method names. You don't need to call it >> explicitely >> with tab. Just press tab to insert a match, or the down arrow to >> select the next >> match. >> >> To install it on Squeak or Pharo, simply execute the following line >> in your image: >> >> Installer squeaksource project: 'OCompletion'; install: 'OCLoader' >> >> Cheers, >> Romain >> -- >> Romain Robbes >> http://www.inf.unisi.ch/phd/robbes >> >> ------------------------------------------------------------------------ >> >> >> > > -- Romain Robbes http://www.inf.unisi.ch/phd/robbes |
Hi!
A few things I wonder: 1. Does any of these packages use Roeltyper? 2. An easy trick that Whisker used to display "types" for ivars is to actually sample allInstances. :) So... this could be used to complete sends to ivars. 3. When being in the debugger - completion could be MUCH better since we actually have real objects in our hands. Just curious if these tricks have been considered. regards, Göran |
Hi Göran,
ECompletion uses RoelTyper to determine types. However it is not often successful. We actually found that the heuristic we use in OCompletion is more accurate than finding the type at positioning matches early in the list. Of course, combining the two gives another improvement, but it is actually quite small in comparison (you can have a look at the paper for details: Since I wanted to keep the extension light, I do not consider types yet. However having the types and using the two heuristics you mention sounds like a good idea. Cheers, Romain On May 12, 2009, at 11:07 PM, Göran Krampe wrote:
|
In reply to this post by Romain Robbes-2
On Tue, May 12, 2009 at 10:52 AM, Romain Robbes <[hidden email]> wrote:
> The main focus is on methods, since this is what is the most used. It does > not propose class names yet. > However if you press the down arrow when typing a class name (even if the > menu is not shown), then > the normal eCompletion menu with class names will show up, so you can select > a class there. Would be cool to have class-name completion too, that would make the whole experience much better. -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry |
Free forum by Nabble | Edit this page |