bscotch-stitch-vscode
v0.4.3
Published
GameMaker Language (GML) support and related tools for Visual Studio Code
Downloads
4
Readme
Stitch for VSCode
This extension provides language features for GameMaker Language (GML), among other helpers for GameMaker project development.
⚠️ IN EARLY DEVELOPMENT, EXPECT BUGS AND INSTABILITY ⚠️
*Stitch and its logo are Trademarks of Butterscotch Shenanigans (a.k.a. "Bscotch"). Stitch and Bscotch are unaffiliated with GameMaker.
💡 Features
- GML syntax highlighting
- Autocomplete for built-in GameMaker functions and constants
- Editor support for a project's global symbols (macros, script functions, script enums, and globalvars)
- Autocomplete
- Go-to-definition
- Find all references
- Autocomplete for a project's resources ( sprite IDs, object IDs, ...)
- Autocomplete and validation for
.yy
and.yyp
files - A JSONC formatter that works on
.yy
and.yyp
files, outputting the same format that GameMaker uses for these files (set this extension as yourdefaultFormatter
forjsonc
files)
🛣️ Roadmap
- Add dynamic syntax highlighting for the different resource types so they can be color-coded in the theme
- Add tree for project resources, including object events
- Organized based on the same in-game folder view
- Add ability to create, delete, and rename resources (sprites, etc)
- Improve autocomplete for global enums (the
.
trigger should check to the left to see what we're dotting into) - Add resource-specific built-in autocompletes (e.g.
x
in objects) - Differentiate the different types and scopes of variables during parsing
- Add go-to-definition and find-references for non-global identifiers
- Add commands for running projects directly through the Runtime
- Add commands for changing the target IDE & runtime version
- Rename project-specific globals
- Add mechanism to dynamically load syntax definitions that match the project's runtime version
- Add
yy
andyyp
as specific languages instead of aliases forjsonc
, so that autoformatting can be more properly set up.
⚙️ Supported GameMaker versions
This extension uses the GameMaker syntax definitions provided by GameMaker Runtime 2023.100.0.287
.
Different GameMaker versions may have different features and built-in functions, constants, etc. This extension will still work with many other GameMaker project versions, but it might give you incorrect autocompletes or surprising command outcomes!
Requirements
- A GameMaker project created with a recent version of GameMaker
⁉️ Known Issues
- 🔥 When using
Find all references
, not all references are found - 😐
yy
andyyp
files are treated as plainjsonc
, so they report warnings for trailing commas and autoformat according to whatever you've set as yourjsonc
formatter. To use this extension to format those files, add the following to your.vscode/settings.json
options:{ //... "[jsonc]": { "editor.formatOnSave": true, "editor.defaultFormatter": "bscotch.bscotch-stitch-vscode" } }