Visual Studio Code Extension
Flix comes with a fully-featured Visual Studio Code Extension:
The Flix extension uses the real Flix compiler hence all information (e.g. error messages) are always 1:1 with the real Flix programming language.
Flix also comes with an (optional) Visual Studio Code color theme called "Flixify Dark".
Features
-
Semantic Syntax Highlighting
- Code highlighting for *.flix files. This work best with the official vscode theme.
-
Diagnostics
- Compiler error messages.
-
Auto-complete
- Auto-complete as you type.
- Auto-completion is context aware.
- Type-directed completion of program holes.
-
Snippets
- Auto-complete common code constructs.
-
Inlay Hints
- Shows inline type information.
-
Type and Effect Hovers
- Hover over any expression to see its type and effect.
- Hover over any local variable or formal parameter to see its type.
- Hover over any function to see its type signature and documentation.
-
Jump to Definition
- Jump to the definition of any function.
- Jump to the definition of any local variable or formal parameter.
- Jump to the definition of any enum case.
-
Find References
- Find all references to a function.
- Find all references to a local variable or formal parameter.
- Find all references to an enum case.
- Find all implementations of a trait.
-
Symbols
- List all document symbols.
- List all workspace symbols.
-
Rename
- Rename local variables or formal parameters.
- Rename functions.
-
Code Lenses
- Run
main
from within the editor. - Run tests from within the editor.
- Run
-
Highlight
- Highlights semantically related symbols.
-
Semantic Tokens
- Additional code highlighting hints provided by the compiler.
Known Limitations
-
There is a known issue with PowerShell and using file names that contain special characters. We recommend that Flix source files are given only ASCII names.
-
The extension assumes that you are working in "Workspace Mode", i.e. you must have a folder open which contains your Flix source code.
-
Upon startup, the Flix compiler has to load the entire Flix standard library into its caches which takes a few seconds.