Forge VSCode ExtensionVS Code support for Forge. Highlights
Quick start
Code CompletionSmart, non-intrusive completions for Forge. Trigger with Ctrl+Space (Windows/Linux) or Cmd+Space (Mac), or let it appear naturally as you type. Features:
Commands
|
| Command | Description |
|---|---|
@forge /docs <topic> |
Look up the official Forge documentation for a specific topic (sigs, quantifiers, temporal operators, etc.) |
@forge /explain |
Explain Forge code or concepts — automatically includes the active .frg file as context |
How it works
- Bundled docs — The full Forge v5 documentation is shipped inside the extension as structured data (see
client/src/forge-docs.ts). No network fetch needed at query time. - Keyword search — When a question comes in, the extension scores every documentation section against the query using keyword and title matching, then selects the most relevant sections.
- LLM augmentation — The relevant doc sections, plus the user's current
.frgfile (if open), are sent as context to the language model alongside a Forge-specific system prompt. - Pedagogical guardrails — The system prompt instructs the model to guide students toward understanding rather than providing homework solutions outright.
Example workflow
- Open your
.frgfile. - Open Chat and type:
@forge /explain - The assistant reads your file and walks through the model, explaining each sig, predicate, and constraint.
- Follow up with:
@forge Why is my run returning UNSAT? - The assistant uses the relevant "Running" and "Bounds" documentation to help you debug.
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
forge.racketPath |
string | "" |
Path to Racket executable. Leave empty to auto-detect. |
forge.minVersion |
string | "3.3.0" |
Minimum Forge version required. |
forgeLanguageServer.maxNumberOfProblems |
number | 100 |
Max diagnostics produced by the server. |
forgeLanguageServer.trace.server |
string | "messages" |
LSP trace verbosity. |