views:

42

answers:

2

Most mainstream IDEs use code-completion in the form of a linear list of suggestions (typically methods).

Are there any IDEs (mainstream or not) or IDE plugins that use a non-linear widget, such as a tree? (e.g., pick category first, then the actual recommendation)?

I'm working on an IDE feature and want to make sure I'm not reinventing the wheel or infringing some patent.

+1  A: 

A lot of intellisense implementations store the possible values in a tree structure but only display the nodes of one level at a time in a list. Seems like it wouldn't be too hard to expand one of these implementations to achieve your goal.

Here's a few examples.

[Edit]
So to answer your question, I don't know of any IDEs with this feature.

BenV
Thanks Ben. I'm mostly looking for examples where it is displayed as a tree since I want to do a related research paper.
Uri
+1  A: 

I remember a book titled "Object-Oriented Environments - The Mjølner Approach" by Knudsen et al.; they describe an OO development environment and I seem to recall some kind of IDE that helps the programmer choose class methods and the like through a hierarchical mechanism. The book is out of print but some info about it can be found here. I have a copy in my office, but I won't be there in a few days. I'll check then and let you know.

As a personal comment, I think that using a tree UI device for code-completion is appealing because it matches the structure of the code as well as the decision process of the programmer; however, you often need to balance theoretical rigour with pragmatism and simplicity on the UI. A list, even though not as faithful to the underlying data structure, is simpler to operate and navigate. Just my 2 cents. :-)

CesarGon
@Cesar: Thank you for the reference! I'm going to try and get hold of that one. In my MS degree I had a class visualization tool that was based on concept lattices, but I'm not looking at code completion, where you have less space to work with. I'm now looking at tagging as a way to organize large interfaces.
Uri
You're welcome.
CesarGon
I am now at the office and I have looked at the book. No explicit mention of tree-like UI widgets for code completion, although lots of implicit references to them. For instance, the authors explain (in gory detail) the implementation of a grammar-driven, structure-oriented code editor helper that parses the code hierarchy at design time and assist the programmer in "filling out" the blanks, using something very similar to Visual Studio snippets.
CesarGon