Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

VSCode Extension

The Lilo Language Extension for VSCode provides

  • Syntax Highlighting, Typechecking and Autocompletion for .lilo files
  • Satisfiability and Redundancy checking for specifications
  • Support for visualizing monitoring results in Python notebooks

Installation

The SpecForge VSCode extension can be installed in two ways:

From the VSCode Marketplace

Install the extension directly from the Visual Studio Marketplace or search for “SpecForge” in VSCode’s extensions tab (Ctrl+Shift+X or Cmd+Shift+X).

From VSIX File

Alternatively, you can install from a VSIX file (included in releases):

  • Open VSCode’s extensions tab (Ctrl+Shift+X or Cmd+Shift+X), click on the three dots at the top right, and select Install from VSIX...
  • Open VSCode’s command palette (Ctrl+Shift+P or Cmd+Shift+P), type Extensions: Install from VSIX..., and select the .vsix file

Important: Ensure the extension version matches your SpecForge server version. Version mismatches may cause compatibility issues.

Usage and Configuration

For the extension to work, the SpecForge server must be accessible. There are two ways to connect:

  1. Managed server (specforge.spawnServer): Enable this setting and the extension will start and manage the SpecForge server process for you. Configure specforge.serverPath if the specforge binary is not on your PATH, and specforge.preferredPort to choose a port.

  2. External server (default): Run the SpecForge server yourself (see Setting up SpecForge) and point the extension at it using the specforge.apiBaseUrl setting (default: http://localhost:8080).

Once the extension is installed and the server is running, it should automatically be working on .lilo files, and in relevant Python notebooks.

The VSCode workspace should be a directory which contains a specific lilo project. The extension will use the lilo.toml file at the root of the workspace to determine certain details about the project. Refer to the Python SDK setup guide to see an example of a project structure.

For a full reference of all available settings (LLM integration, server tuning, tracing, etc.), see the Configuration section of the VSCode Extension guide.