A powerful VS Code extension for ForgeScript development with intelligent code assistance
✨ Features
🚀 Automatic Binary Management
Cross-platform support: Linux (x86_64, aarch64), macOS (x86_64, Apple Silicon), Windows (x86_64)
Auto-download: Automatically downloads the correct LSP binary for your platform on first run
Auto-updates: Detects and prompts for new LSP versions from GitHub releases
Version tracking: Maintains metadata files to track installed binary versions
📝 Workspace Configuration
forgeconfig.json: Central configuration file for your ForgeScript project
Create Config Command: Generate a new configuration file with a single command
Auto-activation: Extension activates automatically when forgeconfig.json is present
🔧 Language Server Features
Hover Information
Rich markdown documentation for ForgeScript functions
Displays function signatures with argument types
Shows examples from function metadata
Indicates optional/required parameters
Intelligent Completions
Context-aware function suggestions triggered by $
Category-based function grouping
Detailed documentation in completion items
Signature Help
Real-time parameter hints while typing
Active parameter highlighting
Support for nested function calls
Handles complex bracket/semicolon syntax
Semantic Highlighting
Syntax highlighting for functions, strings, numbers, booleans
Works within code blocks in string templates
Consistent visual distinction for ForgeScript syntax
Diagnostics
Real-time error detection
Unknown function warnings
Argument count validation
Bracket matching errors
🛠️ Installation
Install from the VS Code marketplace (or build from source)
Open a project with a forgeconfig.json file, or create one:
Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Run: Create Forge Config
The extension will prompt to download the LSP binary
📋 Commands
| Command | Description |
|---------|-------------|
| ForgeScript: Create Forge Config | Creates a forgeconfig.json in the workspace root |
| ForgeScript: Update ForgeLSP Binary | Manually check for and install LSP updates |
| ForgeScript: Use Custom LSP Binary | Manually select a custom LSP binary |
⚙️ Configuration
forgeconfig.json
{
"$schema": "vscode://schemas/forgeconfig",
"urls": [
"github:tryforge/forgescript" // Branch can be specified by using # such as github:tryforge/forgescript#dev
]
}
Extension Settings
Setting
Type
Default
Description
forgevsc.trace.server
string
"off"
Traces communication between VS Code and the language server (off, messages, verbose)