Rell Language Extension for Visual Studio Code

The official VS Code extension for the Rell programming language, designed for the Chromia blockchain platform.
Rell enables developers to build decentralized applications (dapps) in a safe, concise, and intuitive way, leveraging relational blockchain technology.
This extension provides full language support for Rell, making development smoother and more productive.
✨ Features
This extension integrates deeply with VS Code and supports most Language Server Protocol (LSP) features:
- Syntax & semantic highlighting with contextual color schemes
- Diagnostics & warnings (syntax, compilation, linter feedback)
- Go to Definition / Find References
- Symbol renaming (module renaming currently excluded)
- Inlay hints for parameter names, return types, and variable types
- Linter with customizable rules (
.rell_lint)
- Code formatter with project-specific configuration (
.rell_format)
- Workspace index caching for faster navigation
- Rell Test Runner integrated with Chromia CLI
- Chromia Explorer sidebar for CLI command access
🔀 Rell Version Compatibility
The bundled language server reads compile.rellVersion from your project's settings file and compiles the project against that version, so diagnostics and completions match the release you target.
docs/COMPATIBILITY.md explains where settings files go and which sources each one governs.
⚡ Workspace Caching
- Index caching can be enabled under:
Settings -> Extensions -> Rell -> Index Caching
- To invalidate caches, run the command:
Rell: Invalidate index caches from the VS Code command palette.
🎨 Coloring & Styling
Optional custom color scheme for Rell files, enhancing token-level readability.
Enable in:
Settings -> Extensions -> Rell -> Color Theme.
🧪 Rell Test Runner
Run and debug Rell tests directly in VS Code.
- Requires Chromia CLI (
chr command by default).
- Can be customized via the setting:
Settings -> Extensions -> Rell -> Chr Executable Path (set to a specific binary path or dockerized CLI).
🔍 Linter
A built-in linter enforces best practices and detects potential issues early.
Every rule is on by default; .rell_lint in the project root turns them off or opts into the two that are off:
[*.rell]
# Off by default: enforce a quote style (double | single)
rule_quote_format=double
# Off by default: report formatter violations as you type (true | false)
rule_formatter=true
# On by default: set to false to switch a rule off
rule_naming_convention=false
Ensures consistent styling across your workspace.
Configurable via .rell_format in the project root (deprecated .rellformat also works). Example:
[*.rell]
# Maximum character count for each line.
max_line_width=120
# Whether to use spaces for indentation instead of tabs (true | false)
insert_spaces=true
# Number of spaces to be used for each level of indentation.
tab_size=4
📦 Installation
- Install Visual Studio Code.
- Search for Rell in the VS Code Marketplace.
- Install and reload your editor.
- (Optional) Install the Chromia CLI for full test runner support.
🔒 Privacy
The extension collects no analytics or telemetry. Crash reports are sent to ChromaWay's error tracker
(Sentry, hosted in the EU) only when you explicitly submit one from an error notification. The
PRIVACY_POLICY.md file in this repository describes exactly what a report contains.
📖 Learn More