Overview Version History Q & A Rating & Review
Cave Story+ Modding Support for Visual Studio Code
Visual Studio Code extension that adds autocomplete for Lua and JSON files used in modding Cave Story+.
Features
Lua completion for documented Cave Story+ functions, global variables, and constants.
Lua hover docs for functions, variables, and constants.
Lua signature help for documented function parameters.
JSON autocomplete/validation through schema contributions for Cave Story+ metadata JSON files.
Tip: You can use the Cave Story TSC extension to get autocomplete and diagnostics for editing TSC script files.
Activation and Detection
Lua features are provided only when a file is detected as belonging to a Cave Story+ context.
Detection checks:
Configured roots (csplus.rootPaths).
Common default install/mod paths (steamapps/common/Cave Story+, My Games/Cave Story+) when csplus.autoDetectRoots is enabled.
Workspace markers (mods.txt contents or ancestor folder named Cave Story+) when csplus.workspaceMarkerDetection is enabled.
JSON schemas are contributed statically via file-match globs and apply to matching Cave Story+ metadata JSON paths.
Extension Settings
This extension contributes:
csplus.enabled: Master enable/disable switch.
csplus.autoDetectRoots: Enables default path and known-segment detection.
csplus.rootPaths: Additional absolute roots (supports ~ and ${userHome}).
csplus.workspaceMarkerDetection: Enables marker-based fallback detection.
Development
Initialize submodules
git submodule update --init --recursive
Regenerate Lua data and JSON schemas
pnpm run generate
Build and test
pnpm run compile
pnpm run lint
pnpm test
Disclaimer
The extension is not affiliated or endorsed by Nicalis, Inc. The icon of the extension is edited from icons created by Nicalis, Inc. and Daisuke Amaya/Studio Pixel.