Jac Development Tools provides an end-to-end Jac editing workflow in VS Code.
Features
Jac language registration for .jac files
Syntax highlighting via TextMate grammar
Fast diagnostics while typing
Native validation on manual lint/transpile
Jac-aware autocomplete (context-aware keywords, snippets, and member suggestions)
Jac transpile command (jac2py with local fallback)
Jac document formatting
Jac playground panel
Debug launch flow for generated Python output
Commands
Open the Command Palette and run:
Jac: Lint Current File
Jac: Transpile Current File
Jac: Format Document
Jac: Open Playground
Jac: Debug Current File
Autocomplete notes:
Only appears in valid Jac contexts such as top-level declarations, archetype bodies, walker entry blocks, graph expressions, imports, and member access chains
Suggests local symbols from the current file, including node/walker/obj names, fields, and methods
Includes starter snippets for with entry, def ... by llm, node, edge, walker, obj, enum, import from, include, impl, and match
Native Jac execution is timeout-protected and output-capped so a slow or noisy local toolchain does not freeze the editor or flood memory
Requirements
VS Code 1.85.0 or newer
Optional: local Jac toolchain in workspace .venv for native check/transpile
If native Jac is unavailable, the extension uses local fallback logic for lint/transpile/format behavior.
Quick Start
Install the extension.
Open a .jac file in a workspace.
Run Jac: Lint Current File to validate code.
Run Jac: Format Document to normalize formatting.
Run Jac: Transpile Current File to generate Python under __jac_gen__.
Notes
Diagnostics include code, location, source context, and fix suggestions.
Formatting is local-first and normalizes indentation, delimiters, and statement endings.
Prompt Visibility + Backboard (previous Phase 4 experiment) is currently rolled back and not part of this release scope.