Summary
Create an official Visual Studio Code extension for Forge.
The extension should provide a first-class editing experience for .forge files, making contract authoring easier, faster, and less error-prone.
This initiative represents the first step toward a complete Forge developer tooling ecosystem.
Motivation
Language adoption depends not only on language features, but also on the quality of its tooling.
Developers expect modern language support directly inside their editor, including:
- Syntax highlighting
- Diagnostics
- Autocomplete
- Navigation assistance
Providing an official VS Code extension will significantly improve the experience of writing and maintaining Forge contracts.
Goals
The extension should provide support for .forge files and integrate with the existing Forge language infrastructure whenever possible.
Initial Features
Syntax Highlighting
Provide highlighting for:
namespace
contract
invariant
- Primitive types
- Identifiers
- Comments (if/when supported)
Diagnostics
Display parser and validation errors directly in the editor.
Examples:
- Invalid syntax
- Unknown types
- Invalid declarations
- Semantic validation failures
Autocomplete
Provide completion suggestions for:
- Language keywords
- Primitive types
- Context-aware contract declarations
Examples:
↓
and
↓
string
int
float
decimal
boolean
uuid
datetime
date
File Association
Automatically recognize:
files as Forge source files.
Requirements
- Create a dedicated VS Code extension package.
- Support
.forge files.
- Provide syntax highlighting.
- Provide diagnostics.
- Provide autocomplete suggestions.
- Reuse existing language infrastructure where practical.
- Ensure compatibility with current Forge v0.1 syntax.
Acceptance Criteria
Out of Scope
The following features are intentionally excluded from this issue:
- Formatter
- Refactoring tools
- Rename symbol
- Go to definition
- Hover documentation
- Code actions
- Quick fixes
- Debugger integration
These features may be explored in future releases.
Notes
Editor tooling is one of the most visible parts of a language ecosystem.
The goal of this issue is not to provide a complete IDE experience immediately, but to establish a solid foundation that makes Forge practical and pleasant to use in real-world projects.
Summary
Create an official Visual Studio Code extension for Forge.
The extension should provide a first-class editing experience for
.forgefiles, making contract authoring easier, faster, and less error-prone.This initiative represents the first step toward a complete Forge developer tooling ecosystem.
Motivation
Language adoption depends not only on language features, but also on the quality of its tooling.
Developers expect modern language support directly inside their editor, including:
Providing an official VS Code extension will significantly improve the experience of writing and maintaining Forge contracts.
Goals
The extension should provide support for
.forgefiles and integrate with the existing Forge language infrastructure whenever possible.Initial Features
Syntax Highlighting
Provide highlighting for:
namespacecontractinvariantDiagnostics
Display parser and validation errors directly in the editor.
Examples:
Autocomplete
Provide completion suggestions for:
Examples:
↓
and
↓
File Association
Automatically recognize:
*.forgefiles as Forge source files.
Requirements
.forgefiles.Acceptance Criteria
.forgefiles recognized automaticallyOut of Scope
The following features are intentionally excluded from this issue:
These features may be explored in future releases.
Notes
Editor tooling is one of the most visible parts of a language ecosystem.
The goal of this issue is not to provide a complete IDE experience immediately, but to establish a solid foundation that makes Forge practical and pleasant to use in real-world projects.