A VS Code extension to add a checkbox picker for build/debug flags. The flag list and presets are read from the game repo's flags JSON file (ss13BuildFlags.configPath, default tools/build/build_flags.json), so contributors edit flags there and this extension picks them up.
- A view inside the Run and Debug side panel (same container as the launch config dropdown/breakpoints), not a separate tab: checkboxes grouped by category, each showing its define and description.
- Preset dropdown at the top of the view: picking a preset instantly checks exactly that preset's boxes. Toggling boxes by hand flips the dropdown back to "Custom".
- Dependencies: checking a flag auto-checks its
requires; unchecking a requirement drops dependents;conflictsWithshows a warning. - Injection on F5: when the resolved launch config's
preLaunchTaskmatchesss13BuildFlags.baseTask, the extension injects the selected flags and runs that task itself before launching the debugger, via one of two modes (ss13BuildFlags.injectionMode):cli-args(default): clones the base task with-D${define}appended to its command/args — matches DreamMaker's own CLI define syntax.write-file: writes the selected#defines intoss13BuildFlags.localDefinesPath, then runs the base task unmodified.
ss13BuildFlags.configPath— workspace-relative path to the flags JSON.ss13BuildFlags.baseTask— exact task name/label to inject flags into.ss13BuildFlags.injectionMode—"cli-args"or"write-file".ss13BuildFlags.localDefinesPath— workspace-relative path forwrite-filemode.
npm install
npm run compileThen press F5 in this folder to launch an Extension Development Host, open the target game repo inside it, and open the Run and Debug panel. There should be a section for the flags.
This repo includes a GitHub Actions workflow that publishes to the VS Code Marketplace.
- Create a Personal Access Token in the Visual Studio Marketplace publisher portal with publish rights for your publisher.
- In your GitHub repo settings, add it as an actions secret named
VSCE_PAT.
- Bump
versioninpackage.jsonand push that. - Create and push a tag like
v1.0.1:
Pushing a v* tag triggers publish automatically. You can also run the
workflow manually from the Actions tab.