- Changed runner configuration to behave more like GameMaker, allowing setting the target in a durable way.
- Added 'stop' command and button to the runner, which kills igor and any running game instances.
- Added slot names to the Spine Sprite viewer
- JSDoc descriptions no longer remove inferred types
- Added description of the Stitch Runner to the docs
- Error traces are now clickable in the runner view.
- Symbol search now only shows Function results for Functions that have the same name as their parent Script.
- Resolved issue where renaming a sound asset would not properly update the sound file reference, causing compiles to fail.
- Go-to-definition on a sound reference now takes you to the sound player instead of the yy file.
- Updated all deps
- The 'Set Sprite' context menu entry now works again in the Inspector panel for objects
- Resolved formatting issues in the Runner logs caused by wrapping entries in the
tag for horizontal spacing support
- Resolved issue where logged spaces are not shown in the Runner panel
- Running via command now focuses the Runner view, and styling is now properly restored on panel reload
- Added ability to delete room instances and drag-drop reorganize them.
- Can now add object instances to rooms via the asset tree context menu
- The asset tree now lists a room's object intances
- Rooms can now be added via the resource tree context menu.
- Newly-created projects now ensure that the default object is instanced in the default room.
- Added a command for creating a basic template project
- Added a refresh button to the new Runner panel, so that changes to the styling config can be observed without re-running.
- When running projects via the terminal, Stitch now re-uses the same terminal instead of creating a new one.
- Added support for styling runner logs
- Resolved issue where the new Runner panel would not properly clear past runs, causing new runs to pile up (and all kinds of chaos)
- Resolved issues setting the Runner panel font, and removed smooth-scroll from the Runner autoscroll
- Added the play buttons back to the resources panel to reduce confusion
- When multiple projects exist, the picker now shows the entire path to help differentiate
- The new Runner webview CSS was not being packaged
- Improved error messages when the project cannot be loaded due to a duplicate asset.
- Completed draft of the new project Runner view
- Cleaned up the search widget UI
- Added whole-word search option.
- Log-searching is now implemented
- Added a toggle for auto-scroll
- Completed base functionality for the Runner view
- Added autoscroll to the runner view
- Moved the Runner webview into the Stitch panel
- Now only allowing one project to be loaded at a time.
- Resolved loading issues for the Igor webview
- Added some logging to the Igor commands in VSCode
- Updated docs for adding sprites and sounds
- Made context menu options for adding sprites more clear and flexible
- Can now delete and reorganize sprite frames in the asset tree
- Can now delete sprite frames from the asset tree
- Can now add frames to a sprite
- Sprite Source imports now respect the allowedNames config option for new sprites.
- Improved prompts when adding a new sprite from a folder
- Improved prompt workflow when adding a Sprite from an image to allow renaming before creating.
- Added drag-drop support for external images (which become new sprites)
- Can now drag sound files from external sources into the asset tree
- Improved validity checks for asset names
- Can now add new sound assets, checking names and defaults against the Stitch config
- Added a section for recommended extensions
- Added information about Included Files
- Stitch for VSCode now forces included files on disk to match the YYP. The Included Files tree provides a read-only view that links to the Explorer.
- The Included Files tree now shows local folders and allows creating new folders
- Resolved issue where the new sprite features prevent the extension from loading at all on non-Windows platforms
- Added code lenses to yy files to simplify navigation to associated resources
- Can now replace the frames of an existing sprite.
- Can now add new sprites via the resource tree.
- No longer killing running instances on cache-clean.
- Go to Definition on shader references now goes to their fragment file.
- Symbol search for shaders now takes you to the fragment file rather than the yy file
- Can now add shader assets
- Can now duplicate assets.
- Updated the sprite cache JSON Schema to include the new version field
- Resolved issue where duplicate extension variables would throw uncaught errors instead of emitting diagnostics
- Removed unneeded dependency that also impacts build time
- Added some additional logging to the 'run' command
- Resolved issue where go-to-definition on 'event_inherited' calls opened the docs instead of resolving to the parent event
- Sound previews now only open upon F12, rather than as a side effect of go-to-definition. This prevents accidental opening of sounds.
- Sprite editor now only opens upon F12, rather than as a side effect of go-to-definition. This prevents accidental opening of sprite editors.
- Resolved issue where inaccessible Program Files folders block checking for GameMaker installs
- Improved "Show in Asset Tree" command to work with all editor view types
- Added option to auto-open folders when a filter is applied
- Resolved issue where non-watcher functionality was lot from the Sprite Source tree
- Sprite watchers now work at the source level instead of staged level, have improved debounce logic, and include a setting to enable on startup
- Disabled the killOthers option on non-Windows platforms, since it'll error out
- Added option to kill other running project instances on run, enabled by default
- Replaced go-to-def for native symbols to using a separate command to resolve the problem where pressing Ctrl while hovering over a native symbol opens the docs
- Go-to-definition on native functions now opens the online GameMaker help for that function
- Go-to-definition for sprite and sound references now open them in the editor
- Dragging assets onto another asset in the tree now moves them into the parent folder of the drop target
- Replaced youtube embed with a link
- Embedded an overview video about using Stitch
- Bumped the vscode engine version
- Added info about the new asset import feature to the docs
- Drafted asset importer workflow
- Removed option to set target folder for now since it does not work
- Resolved issue where symbol renames wouldn't trigger if the cursor position was right after the symbol
- Added setting to adjust the autoimport delay for sprit sources
- Now enforcing calls to various SpriteSource methods to be sequental to prevent race conditions
- Stitch now prompts to install the project's GameMaker version if it is missing when the user "runs" the project
- Missing Sprite Sources now indicate that in the tree instead of a noisy popup
- Bumped the manifest engines version to 1.82.0 to match the updated deps
- Windows-specific SpriteSource code should now be skipped on other platforms
- Bumped all deps
- Added a link to the new changelogs
- Changes to zoom levels in the Sprite viewer are now saved on a per-sprite basis
- Updated license files for clarity regarding sample assets
- Added a Spine Sprite summary to that editor, showing events and animations
- Added previes for Spine sprites using the offiicial Spine player
- Added setting for the default minimum width of sprite frame previews
- The sprite editor should now update to reflect changes to sprites
- Resolved issue where the Sprite watcher would turn itself off
- Added watcher toggle for SpriteSource stages
- Added "Add Stage" command for Sprite Sources
- Resolved issue with new sprites not appearing after import
- No longer reloading the project upon external yyp change, as this can create weird scenarios like missing assets
- Added more items and commands to the SpriteSource tree
- Added command for clearing the Recent Imports list
- Improved logging
- Improved error logs and resolved an issue when importing sprites
- Resolved build issue
- Added a command for clearing the sprite-source caches
- Added a setting to change how recent changes in sprite sources are sorted
- Improved sorting of changed sprites by having those changed closely in time sort alphabetically
- Renamed pixel-checksum's "index.node" file to "pixel-checksum.node" to avoid future collisions and add clarity
- Updated vscode build so that the pixel-checksum .node file will be included
- Removed sharp for now until I can figure out how to get it bundled with the vscode extension
- Resolved issue with loading sharp
- Added an improved tree and set of commands for "Sprite Sources"
- Sprite Sources are now importable
- Added command to open the Sprite Source folder in File Explorer
- Added command for deleting a Sprite Source
- Implemented adding and saving Sprite Sources
- Added JSON Schemas for Spritely and Stitch-Sprite-Add sources
- The sprite sources tree now updates when projects are updated
- If a sprite source cannot be found, clicking its entry now brings the user to its setting
- Updated the sprite editor to include a zoom option, and improved cursor appearance and interaction
- Unignored webview javascript files
- Upon updating an image, the corresponding tree item now also updates
- Added a presets dropdown to the sprite origin editor
- Clicking a sprite in the asset tree now takes you to the sprite editor instead of a first-frame preview
- Implemented a basic sprite-origin editor
- Added command to run the project without defaults, using QuickPick menus for config/compiler options
- Added presence of any GameMaker filetype as an activation event
- Resolved issue with opening GameMaker when no project file is in focus
- Added an option to auto-declare missing globals matching prefix patterns
- Added config option to suppress diagnostics by asset group
- Added a typeDefinitionProvider implementation
- Added feature that automatically cache-cleans when spine sprites are updated
- Added command for setting an object's sprite
- Implemented asset renaming
- Drafted signifier and asset rename functionality in the parser
- Resolved issue where some asset files were not being renamed
- Renaming now includes all JSDoc references
- Updated processor to create refs from JSDoc typestring locations
- Improved handling of enum members so they are properly connected to parents and display correct hovertext
- Updated README to account for the version-setting change
- Added custom webview to display GameMaker release notes and allow picking a version
- Resolved issue where config changes were not reflected until restart
- Resolved conflicting 'id' fields in tree items, causing tree rendering failure for shader files and asset/folder siblings
- Added icons for animcurves and extensions
- Objects, sprites, and audio now open to an asset file instead of the .yy file
- Changed the inspector tree to display the first sprite subimage thumbnail instead of a generic icon
- The asset tree now displays thumbnails for sprites instead of a generic icon
- Added commands for opening various GameMaker file and folder locations
- Added command for setting the GameMaker IDE version for the current project via VSCode
- Added command for opening the unified GameMaker release notes from VSCode
- Improved information provided by errors
- Resolved missing function signatures
- Added custom error objects to enable more nuance in error handling
- Added Sentry and related options for telemetry
- Added info about renaming
- Added warning about using source control
- Minor updates to the README
- Drafted symbol rename functionality
- Added drag/drop for assets
- Added ability to move folders into other folders via drag-and-drop, also allowing for multi-select
- Added check for circularity when moving folders
- Completed VSCode functionality for renaming and deleting folders
- Clarified curly handling in the README
- Added known limitations to the README
- Bumped the vscode engines version
- Added event deletion from the asset tree
- Added asset deletion to the asset tree context menu
- The Inspector now updates properly when an event is deleted
- Updated all deps
- Added autocompletes for keys in struct literals
- Added localvars from the current file to the workspace symbols list
- Workspace symbols now include object, constructor, and mixin variables
- Now ensuring that go-to-definition works for all types mentioned in JSDocs
- The 'other' keyword can now be followed via go-to-definition
- Resolved issue where git-diff view resulted in wonky syntax highlighting
- Added mechanisms for handling addition/removal/change of files on disk
- Added info logs for change-on-disk events
- Disabled auto-reparsing on file open so that parsing issues can be identified more easily
- Resolved error cases where we are indexing into undefined
- Resolved issue with syntax highlighting caused by the delayed reprocessing of files during editing
- Added an option to specify the debounce delay for reprocessing a file during active editing
- Resolved issue where undefined variables would appear in the autocomplete listing
- Improved editor responsiveness by only reprocessing changed files upon certain trigger characters
- Added the ability to set an object's parent via the sidebar
- Added support for using @self with function types
- Added the @mixin jsdoc tag
- Added info about templates and utility types
- Added prereqs for generics support
- Updated all deps
- Added support for localvar, globalvar, and instancevar JSDoc tags.
- Added info about Feather support to the README
- Added missing @ signs to JSDoc snippets
- Added editor context menu entries for copying the target item as a type string
- Added entire parent/child heirarchy to inspector
- Removed dash from JSDoc snippets
- Resolved syntax highlighting jank for functions
- Made some code more robust when comparing strings
- Improved some return types
- When events are added to an object they now appear in the event list as expected
- Added right-click "New Event" command to the Inspector
- Added children to the inspector
- Completed the first draft of the asset inspector widget
- Drafted Inspector
- Implemented context menu command for creating new object events
- Added snippet for type and self comments
- Added command to create new object assets
- Resolved issue
- Implemented calling the Igor Clean command
- Improved editor behavior in JSDocs
- Fixed triggers for autocomplete in JSDocs
- Added go-to-def for object names
- Resolved issue where logging could throw an error and break the extension
- Removed '.' as a trigger character when inside JSDocs
- Added Seth's theme and actually switched from Preview mode
- Bumped the VSCode extension to no longer be pre-release!
- Added file watcher to allow updates when files are changed externally
- Added support for type autocompletes in JSDocs
- Projects that fail to load no longer crash the entire extension
- Reduced 'problems' noise by interpreting typeless signifiers as being an Any type
- Some light refactoring, renaming, and legacy code removal
- Resolved issue where functions missing return statements showed that they returned Unknown instead of Undefined
- Resolved issue where function types were not always named
- Updated to match the changes to the parser
- Added more logging
- Changed symbol search to not be case sensitive, which gives more expected results
- Resolved issue where type definitions could disappear on reload
- Global symbols that don't live in
global
are no longer missing from the workspace symbols listing - Resolved issue where native functions claimed to be undeclared
- Diagnostics are now updateable across files, at least for some cases.
- Resolved false diagnostic about an object identifier not being defined
- Improved synatx highlighting for template strings
- Upon filtering the asset tree, all assets are revealed
- Can now edit filters by clicking on them.
- Filtering now fully implemented
- Added a command to reveal the asset associated with the open editor
- Go-to-definition on event_inherited now brings you to the parent event
- Added ability to create scripts via the sidebar
- Added the ability to add folders via the Stitch sidebar
- Resolved misc. jank
- Added notes about viewing logs
- Added a loading bar for Stitch's project loading progress.
- Added highlighted logs to the VSCode output panel
- Added JSDoc processing inside of structs
- Resolved a bunch of semantic highlighting wonkiness
- Added improved hover details for functions and structs
- Removed debouncing on document edit so that autocomplete triggers work as expected
- Improved type inference and merging
- Added '.' as completion trigger character and resolved potential function signature issue
- Added assertions to possible error locations
- Added assertion function that logs when in VSCode to get around swallowed errors
- Updated the README
- Now ensuring that a default GmlSpec.xml is included with the extension
- Resolved issue where mod and div operator highlighting did not include word boundaries.
- Changed IDE opening notice to use a progress bar
- Updated VSCode README
- Completed base extension functionality with the full asset tree.
- Added JSDoc parsing
- Updated vscode engine requirement
- Resolved go-to-def for params and local vars
- Resolved a bunch of global reference issues
- Resolved issue where function params may be unknown when parsing call site
- Resolved logo issue
- Added vertex scripts to the sidebar
- Added Sprite frames to the sidebar
- Added file icons to the resource tree.
- Added a File Icon theme to support GameMaker filetypes
- Added hover text for built-in constants and variables
- Play buttons in the tree now more robustly run the appropriate project.
- Updated Stitch VSCode README
- Added a function-signature-helper to the status bar, reflecting GameMaker IDE behavior, with an option to disable it.
- Object events are now display in the tree with their human-friendly names
- Resolved issue where project global functions were not displaying signatures.
- Added support for scripts and Object files in the symbol lookup
- Added a 'play' button to the VSCode sidebar
- Update symbol lookup to include yy files for everything except scripts
- Updated the tree view to allow for multi-project repos
- Implemented a read-only resource tree in VSCode
- Added keybindings for running a GameMaker project
- Running a GameMaker project now disposes of the prior terminal to prevent terminal-mageddon
- Added a run command for GameMaker projects
- Updated readme
- Implemented semantic highlighting for globals.
- A Stitch Desktop issue prevents it from loading the UI on bootup
- Updated all deps, including a version of Pathy that was not properly using validators
- Updated all deps
- Fixed syntax highlighting to also work with '@return'
- Added snippets to not-ignored list so they're available in prod
- Added info about tasks
- Improved running GM from vscode
- Added options for specifying the default compiler and config to use when running GameMaker projects
- Added stitch.task.autoDetect to allow disabling auto-detection of GameMaker runner tasks, since they can be slow to generate
- Added VSCode support for directly running game projects
- Added intellisense for global enums in code and in JSDocs for GML
- Added workspace symbol search for GML projects
- Improved JSDoc autocompletions to include all built-in and project-specific global types
- Added JSDoc-specific autocompletes for tags, constants, and core types
- Added additional docs to built-in GML variables
- Added highlighting for regions and most operators
- Started a fresh tmlanguage doc for GML, to get away from the complexity of the Typescript grammar file
- Added snippets for a few GML features
- Added the copy-on-write accessor bracket to the language config
- Improved macro highlighting
- Removed '.' as trigger character until autocompletes are not just global
- globalvar and self are now syntax-highlighted
- Updated the GmlSpec to the latest one (2023.200.0.312) and updated the README to reflect recent changes
- Changed name of yy 'language' to 'GameMaker Metadata' for simplicity
- Added 'when' clauses to Stitch context menu items so that they don't appear when unavailable
- Per VSCode recommendations, added a setting for disabling the YY formatter
- Added better popup messages and error handling when trying to open a project via GameMaker
- Resolved issues with the YYP/YY formatter
- Resolved minor issues from the new GML Spec file settings
- Added the ability to create a new GameMaker project via the VSCode extension
- Added 'Open in GameMaker' command to VSCode extension
- Updated the homepage field in all manifests