Awesome
Fuzion extension for Visual Studio Code
This is a Visual Studio Code extension to support development in the Fuzion Programming Language.
Install (Java 21 required)
- https://marketplace.visualstudio.com/items?itemName=tokiwa-software.fuzion-lang
- https://open-vsx.org/extension/tokiwa-software/fuzion-lang
Requirements
make
,node
,npm
,javac
- install example:
sudo apt-get install make openjdk-21-jdk nodejs npm
Windows (additional requirements)
- install wsl (Windows Subsytem for Linux)
- in wsl:
sudo apt-get install openjdk-21-jdk nodejs npm
- set vscode-setting: "terminal.integrated.defaultProfile.windows": "Ubuntu-20.04 (WSL)"
- NOTE: the following is only neeeded when debugging on windows
- OR when you want to run
make run_tests
with 'windows-style' paths.
- install https://www.msys2.org/
- in msys2_shell install make:
pacman -S make
- install OpenJDK 21 or higher for Windows.
Develop
git submodule update --init --recursive
npm i
- start debugging in vscode
- (optional) attach to java debugger at port 8000
Build
make build-vsix
which should produce an artifact likefuzion-lang-[version].vsix
Distribute
make publish_marketplace_visualstudio
make publish_open_vsx
Settings
- fuzion.java.modules
- list of java modules the fuzion language server should use
- example: ["java.base"]
Features
- Syntax Highlighting for
.fz
files - Language Server Client
Syntax Highlighting (via Semantic Tokens)
Definition
Completion
Hover
References
Diagnostics
Renaming
Evaluation
Syntax Tree
Outline
Signature Help
Call Graph
<!-- NYI ### Inlay Hints ![Inlay Hints](images/lsp_inlay_hints.png) "fuzion.inlay_hints": { "type": "boolean", "default": true, "description": "Toggle inlay hints." }, -->Known Windows (wsl) problems/workaround
Problem: tar EPERM: operation not permitted, futime
Workaround: sudo umount /mnt/c && sudo mount -t drvfs C: /mnt/c -o metadata,uid=1000,gid=1000,umask=22,fmask=111