Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I wonder if it is possible to improve the front-end's autocomplete capability. Compared with some other more sophisticated editors/IDEs, such as eclipse, Mathematica's front-end does not provide a good autocomplete capability.

The front-end provides an autocomplete feature through (Control|Command)[+Shift]+K key bindings. But it has several different shortcomings. First off, the key binding is not the easiest one to use. I really prefer Control+Space or tab key combination which is used in many other editors rather than the Mathematica's unique Control+K. However, one can modify the key binding to his own choice.

Second, the function/variable name autocomplete feature, shows a list of options just over the line that you are typing rather than underneath the line. So, you cannot see what you have already typed in:

Mathematica's AC

Compare it with eclipse:

eclipse AC

Another nice feature of eclipse, that Mathematica supports a simpler version of through Control+Shift+K, is the parameter suggestion feature. Once you choose a function/class name from the above list, it shows you another list with all possible function/constructor parameters, which makes the life much more easier.

Parameter Completion

Eclipse even provides camel case notation:

Camel Case

Is that possible to modify the Mathematica's front-end to support such capabilities?

Note: Here is a list of Mathematica functions/options that might be useful: NotebookEventActions, NotebookSelection, CurrentValue, Names.

share|improve this question
Under windows MMA 8.0.0, XPx64 I'm seing the dropdown list properly below what I'm typing. however, not in W7x64 MMA 8.0.4 –  Rojo Oct 24 '12 at 13:45
The above screenshot is for MMA 8.0 under Mac OS 10.7.4. –  Mohsen Oct 24 '12 at 17:26
It's, Mac OS X x86(32-bit, 64-bit Kernel). –  Mohsen Oct 24 '12 at 17:44
The FE does completion by calling the kernel function FE``FC. Which is a very simple and naive function. Rewriting it could be the basis for an answer here. That having been said, this is radically revamped in v9 (coming soon!), and I wouldn't recommend any answer based upon this notion be applied to v9. –  John Fultz Oct 25 '12 at 6:10
add comment

1 Answer 1

In version 9, autocomplete behaves the way it does in modern IDEs,

enter image description here

including links to the documentation (the little document button), Tab to complete, and additional information available through a drop-down after completion:

enter image description here

See the following questions for information on writing templates for your own functions:

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.