Setting Up the IDE

This procedure describes how to install and configure the Confµgami IDE extension. After completing these steps, your editor provides syntax highlighting, code completion, hover documentation, and real-time validation for Confµgami configuration and definition files.

Installing the VS Code Extension

The extension is named Vector Confµgami Configuration Support and is distributed as a VSIX package. It connects to the cfu LSP server over stdio, so the cfu executable must be available on the machine.

Prerequisites
  • Visual Studio Code is installed.

  • The extension package vector-confugami-<version>.vsix.

  • The cfu executable, ideally on your PATH, it is part of your delivery.

Procedure
  1. Open the Extensions sidebar (Ctrl+Shift+X).

  2. Open the …​ menu at the top of the sidebar and select Install from VSIX…​.

  3. Select the vector-confugami-<version>.vsix file.

  4. Reload the window if VS Code prompts you to.

The extension activates automatically when you open a .cfg.json5/.cfg.json or .def.json5/.def.json file and starts the LSP server.

How the Extension Finds the cfu Executable

The extension resolves the executable in this order:

  1. The CONFUGAMI_PATH environment variable, which may point directly at the cfu/cfu.exe executable, or at a folder that contains it.

  2. An executable supplied by another extension through the extension API.

  3. A cfu/cfu.exe found on the PATH.

  4. The vector.confugami.appPath setting.

CONFUGAMI_PATH takes precedence over a supplied executable and over PATH, and all of them take precedence over the setting. If you have set appPath but the executable is resolved from one of them, the extension shows a warning and uses the discovered executable.

Enable vector.confugami.appPathOverride to reverse this: appPath then takes precedence over all of them, and no shadow warning is shown. The others are still used as a fallback when appPath does not resolve.

If cfu is already on your PATH, no configuration is needed.

Configuring the Extension

Open the settings (Ctrl+,) and search for Confµgami Configuration.

Setting Default Description

vector.confugami.appPath

cfu

Fallback path used when automatic discovery finds nothing.

vector.confugami.appPathOverride

false

Make appPath take precedence over CONFUGAMI_PATH and PATH.

vector.confugami.lsp.appArgs

[]

Additional arguments passed to the started LSP executable.

vector.confugami.lsp.semanticTokens

true

Enable semantic token color highlighting in .cfg and .def files.

vector.confugami.lsp.inlayHint

true

Show inlay hints with parameter types in .cfg and .def files.

vector.confugami.lsp.formatOnType

true

Format automatically while typing in .cfg and .def files.

Embedded Model Server

The language server also serves the definition and configuration models over HTTP, reusing the model it already keeps in memory. This is the same server as the cfu server command, but without a second parse or file watcher, and it updates as you edit.

Verifying the Setup

  1. Open a folder that contains Confµgami files, or create a small test pair as described in How Configuration Files Work.

  2. Open a .cfg.json5 file. The extension starts the LSP server; keys and values are colored by their role.

  3. Hover over a property. You see its description, type, and constraints from the definition.

  4. Break something, for example set a value outside its allowed range. A diagnostic appears in the editor and in the Problems view.

If no diagnostics or hovers appear, check the Output panel (channel Confµgami Configuration) for messages about the executable resolution, and verify the cfu path configuration described above.