VS Code extension for Carbon Games' Heat scripting language. Provides language support for .txt, .mtl, .lvl, and .mmt files, plus a workspace search tool with persistent results.
Tab completion — console commands, menu scripts, states, materials, world objects, menu objects, particle emitters, textures, and engine module properties
Go to definition — jump to the definition of any script, state, material, or world/menu object
Hover info — shows the description comment above a definition (precede any definition with //@ to add one)
Template properties — completions for add-based template objects including WorldObjects, MenuObjects, and ParticleEmitters
Console Command Suggestions
Reads .hcd files from your workspace to provide argument completions for console commands, including sub-commands and typed arguments.
Heat Search
A workspace search tool that writes results to a dedicated document, so you can keep multiple searches open at once.
Exact string match across all workspace files
Skips binary files automatically
Results are clickable — click any match to jump to that file and line
Shows 3 lines of context around each match
To use: Open the Command Palette (Ctrl+Shift+P) and run Heat Search.
Extension Settings
Setting
Default
Description
heatsearch.includes
**/*.*
Glob pattern for files to search
heatsearch.excludes
{**/*.exe,**/*.lib,**/*.journal}
Glob pattern for files to skip
heatsearch.maxfilesize
4000000
Files larger than this (in bytes) are skipped
heatsearch.logErrors
false
Show files that could not be searched in results
Commands
Command
Description
Heat Search
Search workspace files with results in a persistent document
Heat: Process Cpp
Extract console command definitions from C++ source files into .hcd files
Heat: Debug
Dump the current state of the language server's parsed databases to the output log
Adding Descriptions to Definitions
Precede any definition with a //@ comment and it will appear in tab completion and hover:
//@ The main menu background state
State MainMenu {