- Redesigned the representation of godot objects to match internal structure of godot server
- Lazy evaluation for the godot objects
- Stack frames now can be switched with variables updated
Fixes for get variables issues
1. Same reference but different variable override fix, which resulted in variables being lost
** Now different GodotVariable instances are used for different variables with same reference
** const replacement = {value: rawObject, sub_values: sub_values } as GodotVariable;
2. 'Signal' type handling crash and string representation fix
** value.sub_values()?.map
3. Empty scopes return fix
** if (this.ongoing_inspections.length === 0 && stackVars.remaining == 0)
4. Various splice from findIndex fixes (where findIndex can return -1)
5. Added variables tests
** updated vscode types to version 1.96 to use `onDidChangeActiveStackItem` for breakpoint hit detection in tests
1 & 3 should fix https://github.com/godotengine/godot-vscode-plugin/issues/779
* Simplify LSP Client internals
* Streamline control flow between Client, IO, and Buffer classes
* Create canonical, obvious place to implement filters on incoming and outgoing LSP messages
* Remove legacy WS LSP support
This change shouldn't have any actual effect, but I noticed that some file extensions were listed with a period and some weren't. Both styles appear to function the same, but the language contribution point docs use a period, so I've standardized ours to be the same.
Thanks to all contributors involved in the making of this release,
in particular DaelonSuzuka who has been central in this effort of
maintaining this extension!
* Fix nodepath function highlighting/tokenization
* Reverted dangerous line removal behavior change
* Fix detection of match keyword vs .match() function
* Rearrange formatter options
* Fix option default value
* Add biome linter/formatter config file
* Fix linter errors
* Add system to supply custom config values in tests
* Remove unused variable
* Implement tests for both formatter options
* Clean up formatter option handling
* Fix extra space inserted in list of nodepaths
* Add token rules for square and curly braces
* Rename Scene Preview "pinning" to "locking"
* Add "refresh scene preview" command as button
* Expose scene preview commands to command palette
* Add openCurrentScene and openMainScript commands
* Add support for inlay hints in GDScript files
* Add "godotTools.inlayHints.gdscript" and "godotTools.inlayHints.gdresource" settings
* GDScript inlay hints are disabled by default, and marked as experimental
* Updated Godot icons (and removed old ones)
* Improve "Debug Pinned Scene" command by making the pinned scene persist between VSCode sessions
* Fix scene file highlighting not working
* Fix ScenePreview not working in Godot 3
* Add buttons for relevant actions to ScenePreview items
* Add internal document links for SubResource() and ExtResource() statements in scene files
* Add hover for SubResource() and ExtResource() statements in scene files
* Improve ability to right click -> open docs for methods of builtin types (doesn't always work)
* Add a file decorator to show the pinned debug file in the filesystem view/editor tabs
* Add item decorators to the Scene Preview to show Node attributes more clearly
* Updated readme
* Overhauled documentation viewer
* Added GDScript formatter
* Add (disabled) experimental providers for custom completions, semantic tokens, and tasks
* Lots of internal refactoring
* Significantly rework the debugger to add Godot 4 support.
* Simplify debugger internal message handling and shorten code paths, to enable easier maintenance in the future.
* Streamline debugger configs: almost all fields are now optional, and the debugger should work out-of-the-box in a wider set of situations.
* Add guardrails, error handling, and input prompts to help guide the user to correct usage/configuration.
* Add the following commands:
* godotTools.debugger.debugCurrentFile
* godotTools.debugger.debugPinnedFile
* godotTools.debugger.pinFile
* godotTools.debugger.unpinFile
* godotTools.debugger.openPinnedFile
---------
Co-authored-by: RedMser <redmser.jj2@gmail.com>
Co-authored-by: Zachary Gardner <30502195+ZachIsAGardner@users.noreply.github.com>
* adds new Headless LSP mode
* refactor and simplify LSP client control flow into new `ClientConnectionManager` class
* adds new setting: `godotTools.lsp.headless`, disabled by default
* split `godotTools.editorPath` into `godotTools.editorPath.godot3` and `.godot4`
* fix#373, broken formatting in hovers
* improve right click -> open docs to work on type-annotated variables
---------
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
* Add feature
* Fix "open_workspace_with_editor" command
* Added option to tab title context menu
* Add ability to get resource path using command palette
* Update lockfile
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Local package installations should be favored over global installations
to avoid conflicts when working on multiple projects on the same system.
Only dependencies that did not cause the build to break were updated.
- Add `package` npm script to run local vsce installation.