Feature Overview
Below is a list of features offered by the Wolfram Language Plugin. It’s important to note that most of these features are inherent to your JetBrains IDE, which offers an outstanding environment for file management, project navigation, version control integration with systems like Git, and a superior editing experience.
Code Highlighting and formatting
- Context-aware syntax highlighting of Mathematica code. The plugin infers 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.
Code Completion
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[{..},..]
. - Smart completion for options of a function.
- Smart completion to insert defined messages in
Message[..]
. - Smart completion for special comment annotations.
Advanced Editing
- Renaming of local variables bound to 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
Error annotations help you 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.
Navigation
- Go to definition will jump to the first place where a symbol is assigned a value
- Go to 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 Template Code
- Creation of complete Mathematica projects with boilerplate code
- Creation of package files with template code