Jac Development Tools provides an end-to-end Jac editing workflow in VS Code.
Features
- Jac language registration for
.jacfiles - 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 (
jac2pywith 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 FileJac: Transpile Current FileJac: Format DocumentJac: Open PlaygroundJac: 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, andmatch - 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.0or newer - Optional: local Jac toolchain in workspace
.venvfor 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
.jacfile in a workspace. - Run
Jac: Lint Current Fileto validate code. - Run
Jac: Format Documentto normalize formatting. - Run
Jac: Transpile Current Fileto 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.
License
MIT