/vscode-flix

Primary LanguageTypeScriptOtherNOASSERTION

The Flix Programming Language

Flix for Visual Studio Code

The official Visual Studio Code extension for the Flix Programming Language (flix.dev).

Flix is a next-generation reliable, safe, concise, and functional-first programming language.

Features

  • Syntax Highlighting

    • Code highlighting for *.flix files.
  • Diagnostics

    • Compiler error messages.
  • 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.
    • Hover over any first-class Datalog constraint expression to see its stratification.
  • 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.
  • Rename

    • Rename local variables or formal parameters.
    • Rename functions.
  • Code Lenses

    • Run main from within the editor.
    • Run benchmarks and unit tests from within the editor.
  • Highlight

    • Highlights semantically related symbols.

Color Theme

  • Flixify Dark
    • The extension comes with a dark color theme specifically designed for Flix named 'Flixify Dark'.
    • The color theme can be enabled in File -> Preferences -> Color Theme.

Installation

  • Install the Flix Visual Studio Code extension.
    • The extension will automatically download the Flix compiler.

Alternative (for advanced users):

  • Upon startup, the extension with look for a flix.jar compiler in the project root and use that if available.
    • This can be used to run a nightly (or custom-built) version of the compiler.

Requirements

  • Requires Java 11 (or later).
    • Ensure that the java command is on your path.

For Developers

Information about running, debugging, and packaging the extension is available in DEV.md.