Cork for Visual Studio Code
Language support for Cork, a programming language for the Commodore 64.
Features
Syntax Highlighting
Full grammar for Cork source files including scenes, structs, enums, message-passing method calls, raster blocks, and inline sprite pixel art with colored #/./1/2/3 markers.
Build on Save
Compiles automatically when you save a .cork file. Errors appear in the Problems panel with file, line, and column. The status bar shows compilation status, error count, RAM usage, and peephole optimizer savings.
Build manually with the Cork: Build command.
VICE Integration
Cork: Run in VICE compiles the current file and launches it in the VICE x64sc emulator. Auto-detects VICE from common install locations or configure a custom path.
Sprite Preview and Editing
- Hover over a sprite pattern to see a rendered preview
- Code lens above sprite blocks shows dimensions and type (hi-res / multicolor)
- Sprite editor panel for pixel-by-pixel editing that writes back to source
Smart Completions
Context-aware autocompletion for:
Color. — all 16 C64 colors
mode: — VIC-II graphics modes
go — scene names in the current file
hardware blocks — border, background, multicolor registers
sprite blocks — data, position, color, expand, priority
Symbol Navigation
- Outline — scenes, structs, enums, methods, sprites, raster blocks
- Go to Definition — jump to scenes, methods, enums, imported files
- Find References and Rename across the document
Hardware Documentation on Hover
Hover over VIC-II register addresses ($D000-$D02E) or SID registers for inline documentation.
Color Picker
Click the color swatch next to Color.red, Color.cyan, etc. to browse the C64 palette and insert a color.
Formats Cork source files with proper indentation while preserving sprite pattern alignment.
PRG Viewer
Open compiled .prg files to see:
- Load address, payload size, RAM usage
- Memory layout visualization
- Hex dump with ASCII
- 6510 disassembly
Snippets
Templates for common patterns: scene, entry, struct, enum, sprite, spritedata, spritemc, for, foreach, while, if, switch, method, poke, printAt, hardware.
Configuration
| Setting |
Default |
Description |
cork.compilerPath |
(auto-detect) |
Path to the Cork compiler |
cork.buildOnSave |
true |
Compile on save |
cork.vicePath |
(auto-detect) |
Path to VICE x64sc emulator |
The extension auto-detects the compiler in this order: configured path, dotnet run against a detected Cork.Compiler project, then cork on PATH.
License
MIT