Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>IgnidNew to Visual Studio Code? Get it now.
Ignid

Ignid

Endurasolution

|
1 install
| (0) | Free
Syntax highlighting and type-checker diagnostics for the Ignid programming language (.ig files)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ignid for VS Code

Syntax highlighting, inline type-checker diagnostics, IntelliSense, a run-in-terminal command, and Run-and-Debug-panel support for .ig files (the Ignid programming language), plus a custom file icon.

What it does

  • Syntax highlighting — keywords, types, strings (including ${...} interpolation), numbers, comments, function calls/definitions, record/enum type names, field access.
  • Inline error diagnostics — runs the Ignid type checker whenever a .ig file is opened or saved, and shows its errors as red squiggles at the correct line.
  • IntelliSense — autocomplete for keywords, types, every builtin and std.ig function (with parameter snippets and a signature shown in the suggestion), plus the current file's own fn/rec/enum names and enum members. Snippets for common blocks (fn, start, rec, enum, when, whenelse, loopwhile, loopin, match, try, let, fix) fill in the boilerplate [ ... ] body.
  • Run in terminal — the ▶ button in the editor title bar (or F5/Ctrl+F5, or right-click → "Ignid: Run File") saves the file, then compiles and runs it with ignid.exe in an integrated terminal named "Ignid". Fully interactive (works fine with ask()), equivalent to typing ignid file.ig yourself.
  • Run and Debug panel — the Debug side panel (Ctrl+Shift+D) now lists "Ignid" and can launch the active file, streaming its output into the Debug Console with a working Stop button. This is launch-only, not real breakpoint debugging — setting a breakpoint shows it as an unfilled/"unverified" circle and it will not actually pause execution, because that requires the Ignid compiler/runtime itself to emit debug info and support pausing on a line, which doesn't exist yet (a compiler feature, not something this extension can add by itself). It also can't feed keystrokes to a running program's ask() calls — the Debug Console doesn't forward stdin like a real terminal. Use the ▶ "Run File" command instead for anything interactive; use the Debug panel only when you specifically want the Run-and-Debug-panel workflow (e.g. from a launch.json, or alongside other debugged projects in a multi-root workspace).
  • A file icon — .ig files show a small purple "ig" badge in the file explorer and editor tabs, instead of the generic file icon.

Setup

Install from the VS Code Marketplace by searching for "Ignid", or manually:

  1. Make sure checker.exe (or checker_s11.exe, renamed/copied to checker.exe, or any build of Ignid's checker.ig) is on your PATH, or set ignid.checkerPath in your VS Code settings to its full path.
  2. Make sure ignid.exe is on your PATH (needed for both the run command and the Debug panel), or set ignid.ignidPath to its full path.
  3. Either:
    • Run from source (for development): open this vscode-ignid/ folder in VS Code and press F5 to launch an Extension Development Host window with it loaded.
    • Package and install: run npx @vscode/vsce package in this folder to produce a .vsix file, then in VS Code: Extensions view → ... menu → "Install from VSIX...".

Settings

Setting Default Description
ignid.checkerPath "checker.exe" Path to the Ignid type-checker executable
ignid.lintOnSave true Run the checker and show errors on open/save
ignid.ignidPath "ignid.exe" Path to the ignid compile-and-run executable, used by "Ignid: Run File"

How the diagnostics work

checker.ig's error messages include a real line number ([type error] line N: message near TOKEN) — the extension spawns the checker process, feeds it the current file's path over stdin (matching how the rest of the Ignid toolchain is invoked), and parses that format out of stderr into VS Code Diagnostics. There's no column information yet (the checker tracks positions by line, not line+column), so each error underlines the whole line — still enough to jump straight to the right spot.

If used files are involved, line numbers are computed against the expanded source (with used files' content spliced in), so they may not perfectly match your file for programs that use other modules with errors originating in those modules.

License

Unlike the core Ignid language/compiler (see the main project's LICENSE file, which disallows redistribution), this extension is provided under the MIT License — the whole point of an editor extension is for it to be shared and installed freely.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft