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)
- Linter with customizable rules (
.rell_lint
)
- Code formatter with project-specific configuration (
.rellformat
)
- Workspace index caching for faster navigation
- Rell Test Runner integrated with Chromia CLI
- Customizable styling for better readability
⚡ 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.
Configuration file: .rell_lint
(must be placed in the project root).
Example:
[*.rell]
# Check Rell naming convention (true | false)
rule_naming_convention=true
# Warns about imports from non module files (true | false)
rule_import_from_non_module=true
# Preferred quote format (double | single)
rule_quote_format=double
# Rell formatter integration. Detects violations as you type (true | false)
rule_formatter=true
# Detects variables that could be declared as constants (true | false)
rule_constant_detection=true
# Warns about declared but unused variables (true | false)
rule_unused_variable=true
# Warns about outer joins without join conditions, which result in a Cartesian product (true | false)
rule_outer_join_cartesian_product=true
Ensures consistent styling across your workspace.
Configurable via .rellformat
in the root directory. 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.
📖 Learn More