# Tag Info

36

Preface With Mathematica version 9.0.1 the following answer not valid anymore because the underlying protocol between front end and kernel was changed. Fortunately, we started to implement an open-source Mathematica plugin for IntelliJIDEA which has a full support for camel-hump completion. Please see this post for more information Camel-humps ...

19

Do you mean CtrlShiftK? After typing Plo, press the key combination CtrlShiftK and a window will appear with possible options: As pointed by Yves，CtrlK will also work，but CtrlShiftK will work differently if you finish the function name. For an example, Type Plot3D; Use CtrlShiftK; Mathematica will show:

15

This is obsolete in Mathematica 9, which automatically includes contexts in completions. Undocumented function: use at your own risk, subject to change in future versions, etc.... The function you're interested in is FEFC. It's been around for a while (here's a Mathematica Journal article that references it, near the end) although it has ...

13

Besides the nice real handy option suggested by @yulinlinyu (more here) you can also use text-based interface to find completion for your half-typed function. It is not that fast, but has its own advantages. Try executing this: ?Plot* and you'll get this nice table of possible functions that complete your input. If you click on any you'll get short ...

13

Changing shortcuts isn't that complicated. All you have to do is change one line in the file KeyEventTranslations.tr in a location in your file system specified by this command: FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", "TextResources",$OperatingSystem}] Locate the following line in a text editor and change the key into the one ...

12

To clarify the situation: In Version 9 on Windows and OS X, there is a new Make Template system which supports multiple templates for built-in functions. As part of the new system, unfortunately a bug was introduced which makes it ignore the usage statement for user-defined functions. This bug has been confirmed and we hope to fix it in a future release, ...

10

This took some digging but at least in Version 7 the FrontEnd command is FT, e.g.: FEFT["Plot"] You can read the definition with Definition[FE`FT]. If you want the only Box form itself we can modify it accordingly (here for version 7): templateCell[name_String] := Module[{template}, If[! StringQ@ToExpression[name <> "::usage"], ...

8

In the meantime, I was playing around. This is just to add a hotkey (Alt+k in windows) to replace what you have written so far with the partial symbol found. I don't know if it is a useful thing if we don't add it a way to handle multiple findings. Put this in a "init.m" file, inside FileNameJoin[{\$UserBaseDirectory, "Applications", "AutocompleteBonus"}] ...

7

You can also use hotstrings as a way of autocompletion. By using such replacements, words are immediately replaced by another word on typing a space after the hotstring: CreateDocument[{}, InputAutoReplacements -> {"sync" -> SynchronousInitialization}] You can set such replacements globally under Option Inspector (CtrlShiftO). Of course no one would ...

5

Sometimes instead of handy shorthands like in the other answers, you'll find more useful Names giving a list of the names of symbols matching the string, (it's case sensitive of course) e.g. Names["Gro*B*"] Names["Gro*b*"] {"GroebnerBasis", "GroupActionBase", "GroupPageBreakWithin"} {"GroebnerBasis", "GroupMultiplicationTable", "GroupOrbits", ...

4

Maybe overkill but it was educational to try: DynamicModule[{}, EventHandler[ Overlay[{ Dynamic@Framed[ Row[{Style[x, Transparent, 15, Bold], Style[rest, GrayLevel@.6, 15, Bold]}], ImageSize -> {280, 30}, Alignment -> Top, FrameMargins -> {{5, 0}, {0, 1}}], InputField[Dynamic@x, String, BaseStyle ...

3

Partial solution for Linux (Ubuntu 12.04, GNOME 3.4.2) In version 8 I can expand it into a template the same way that normal expansion works. In version 9 this seems to work differently. You have to expand (or type) the full function name first and press then Ctrl+Shift+K xxyyzz::usage = "xxyyzz[x,y]"; Now I type xx press Ctrl+K and then Enter and I ...

3

The following seems to work pretty well. I wrapped the options in a Pane and Framed so the entire row is clickable. ClearAll[AutoInputField]; SetAttributes[AutoInputField, HoldAllComplete]; AutoInputField /: MakeBoxes[AutoInputField[field_, list_: {}, displayNum_: Infinity, imageSize_: 100], form_] := Module[{focus = False}, With[{tag = ...

2

My humble contribution: (* Use this function to style list elements *) listItemStyle[item_] := Mouseover[#, Style[#, Background -> LightBlue]] &@ MouseAppearance[Framed[item], "LinkHand"]; (* This filters the list of data and returns a clickable list *) SetAttributes[autoComplete, HoldFirst]; autoComplete[s_, data_] := If[ StringLength[s] > 0, ...

2

seems like a bug and should be reported to support@wolfram.com. Noticed when I miss-spelled Plot and wrote PLot instead, the correct auto-completion came up. This tells me the context of another command before on the same line, which is Plot in this case, was confusing the Auto-complete for the next command on the same line. One temporary solution (not ...

2

Seems that you can work around this by modifying for example SyntaxInformation[Plot]={"ArgumentsPattern" -> {_, _, _}}, at the cost of having incorrect syntax highlighting. For some reason, setting SyntaxInformation[Plot]={"ArgumentsPattern" -> {_, {_,_,_}, __}} isn't sufficient to kill the Options[Plot] pattern matching, and I haven't found a form of ...

Only top voted, non community-wiki answers of a minimum length are eligible