-
Notifications
You must be signed in to change notification settings - Fork 26
Feature Overview
Patrick Scheibe edited this page Oct 9, 2017
·
1 revision
The following is a list of features provided by the plugin. Note that this is only a small fraction and the vast majority of features comes from IDEA itself that gives you an excellent environment to manage files, have a project view, share and manage code through version control systems like git, or provides excelent general editing.
- Context-aware syntax highlighting of Mathematica code. The plugin deduces if a symbol (variable, function) is globally defined or if it is bound in a smaller context like
Module
-variables. - Highlighting of pattern variables in function definitions or replacements using
RuleDelayed
(:>
). - Highlighting of anonymous functions, e.g.
#+3&
. - Highlighting of special constructs like
fun::usage
, comment annotations like(* ::Section:: *)
or (* :Author: Brian Briggs *). - Highlighting of matching braces and the display of the current context on the left
- Automatic formatting and indentation of code.
For details, please see the Code Completion section.
- Autocompletion for all built-in functions.
- Autocompletion for localized variables inside
Module
,Block
,Table
,Compile
, and other constructs like plotting commands. - Template completion for common code constructs. Write e.g.
mdl
and pressTab
to get aModule[{..},..]
. For a complete list look at this xml file. - Smart completion for options of a function.
- Smart completion to insert defined messages in
Message[..]
. - Smart completion for special comment annotations.
- Renaming of local variables bound to any of functions that localize their variables. This includes
Module
,Block
, and much more. - Renaming of global symbol definitions including their usages in the
::usage
message string. - Surround code with other code. This lets you quickly surround an expression with braces, functions, anonymous function, or any of the live temples like
Module
. - Smart Enter to auto-insert brackets or a template for functions during autocompletion.
- Expand selection by expression. This lets you quickly expand (shrink) a selection by including surrounding expressions.
- Comment/uncomment region or line.
- Smart insertion/deletion of braces and quotes.
- Support for named characters like
\[Gamma]
that can be folded to their real UTF-8 character
Error annotations help you to find suspicious code parts that might be an error quickly.
- Version annotator. Select a Mathematica version you are developing for and all functions that are only available in a later version will be marked as an error.
- Highlighting of
(* TODO: ... *)
comments which additionally appear in the todo tool window - Missing comma error highlighting.
- Missing semicolon in compound expressions.
- Spellcheck for your code, strings, and comments.
- Goto definition will jump to the first place where a symbol is assigned a value
- Goto related symbol will show all usages of a function or symbol and lets you quickly navigate through long code files.
- Structure View for your package file showing a detailed list of defined functions, messages, and much more. You can quickly navigate from the structure view to the code.
- Code folding. Fold expressions, function definitions or even whole sections as defined by comments like
(* ::Section:: *)
to hide code - Documentation lookup for all built-in functions.
- Creation of complete Mathematica projects with boilerplate code
- Creation of package files with template code