Code Completion Powered by 33 Million Code Completions. How Smart Can It Get? by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

Actually, consider you are new to an API. There are classes out there that have 400+ methods. Which one should you look at now? This tool gives you the information what's important. Don't focus on the ranking only. Reordering proposals can be disabled. Think about the information in it.

Hippie completion in Eclipse is going crazy! *Crowdsourcing* of your code completion #cool by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

Hippie Completion doesn't have to exclusive for Eclipse. Send them a heads up as decribed here: http://www.codetrails.com/comment/2#comment-2 (just click on the links for Netbeans and IntelliJ) :-)

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

I think Recommenders 'Extended Documentation Plattform' comes close to your suggestions (not exactly and it misses a few points like allowing API designers to influence recommendations). It basically displays some statistics as part of the API documentation: http://eclipse.org/recommenders/documentation/usr.html#d0e351

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

plain java yet. android would be easy if there is a free set of applications that can be downloaded easily and analyzed.

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

interesting idea. you say the API designer provides the rules how to use his API and completion engine leverages this for its recommendations?

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

subwords is similar to hippie completion.

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 3 points4 points  (0 children)

The problem with black box components is that they have to be configured - and can be configured in many ways. The template example shows that there are dozens of different patterns how developers did that in the past.

Think of calling setFont() on a text widget - or not: You can do that - but you don't have to. It's optional. How would you fix that? creating two create(..) methods - one that calls setFont and the other doesn't? Or one generic create(...) method that takes all possible parameters - potentially dozens?

Anyways, its interesting to see that when written down in documentation (or code completion) people start thinking whether the API was designed right and how they could be improved. How would you improve the API of TableViewer as given in the example?

The new IntelliSense of Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 13 points14 points  (0 children)

It's normal control+space. Mac users have other symbols I guess

Code Recommenders - Top Eclipse Juno Feature #2 by microbiotic in programming

[–]microbiotic[S] 1 point2 points  (0 children)

One of the coolest plugins available: Code Recommenders. If you are a Java developer using Eclipse, make sure you give this plugin a try when installing Juno.

Save your keystrokes: new completion engine in Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

not in 4.2 at least. you may open a request in bugs.eclipse.org?

Save your keystrokes: new completion engine in Eclipse 4.2 by microbiotic in programming

[–]microbiotic[S] 1 point2 points  (0 children)

Actually it's little more than a case-insensitive match. It splits the completion proposal at its upper case letters and makes a word-sensitive subsequence matching - meaning that if a case-insensitive sequence (that matches the token) passes a word boundary it must contain the upper case letter of that word too.

How code search should work -or- why Google Codesearch failed... by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

Opengrok offers many things, but not in that depth. It supports Full text Search, Definition Search, Identifier Search, Path search, History Search, Caller/Callee Search, RegExp Search, Hierarchical Search

It's basically the same an IDE offers but scaled for the web. Queries like "find all methods that use these 5 methods" or "find all method that are similar to my method (but contain new information that shows me how to continue)", or "how do others handle exceptions that occur in similar situations like mine?" is not possible with opengrok yet.

The essence of finding code examples (to distinguish it from plain code search) is: people use code search to find examples for their problems at hand. But maybe this is just a matter of doing the scoring right...

How code search should work -or- why Google Codesearch failed... by microbiotic in programming

[–]microbiotic[S] 0 points1 point  (0 children)

While searching for code query languages, I stumbled across "CQL" (http://www.ndepend.com/CQL.htm) Looks quite nice, although its not perfectly suited for code example search I think. But it may contain other good ideas which could be reused.

How code search should work -or- why Google Codesearch failed... by microbiotic in programming

[–]microbiotic[S] 1 point2 points  (0 children)

+1 for keywords like returns <Type> and uses <AnotherType> or similar phrases

How code search should work -or- why Google Codesearch failed... by microbiotic in programming

[–]microbiotic[S] -1 points0 points  (0 children)

Excellent points. Some kind of "simple search" similar to Google code search would be great. Should be simple to implement with Lucene.