242 Commits

Author SHA1 Message Date
Andreas Fehn
eb90637e39 Use cached values for project version and directory (#910) 2025-08-24 15:12:22 -04:00
David Kincaid
fed2a2edab Inlay hints fix (#896)
* Fix issue displaying enums incorrectly

* Make inlay hints retrigger when the LSP connects

* Add "doubleclick to insert" to inlay hints
2025-08-02 10:19:50 -04:00
David Kincaid
37bb1116fb Debugger Tool Improvements (#848)
A variety of debugger internal fixes + linter/style improvements
2025-07-31 15:17:33 -04:00
HolonProduction
dfe97cb952 Recreate LSP Client to prevent out of sync state (#872) 2025-07-31 15:12:09 -04:00
Alexander Peck
bf5fcea38c Added ability to specify editorPath using environment variable (#807) (#856)
* Added ability to specify editorPath using environment variable

* Fix indentation

* Build the regex in the idiomatic way

* Add env syntax to configuration descriptions

* Add missing import

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2025-07-26 16:39:49 -04:00
EF
29734ea849 Fix extension soft lock when inspecting Dictionary variables with Variant key types (#854)
Co-authored-by: Pawel Miniszewski <pawel.miniszewski@gmail.com>
2025-05-11 16:28:23 -04:00
Tom Moertel
af6df23306 Teach formatter to optionally add two spaces before end-of-line comments. (#855)
* Teach formatter to add two spaces before end-of-line comments.
2025-05-11 16:19:19 -04:00
anthonyme00
4d00f9f41a Add support for uid:// references to hovers and document links (#841) 2025-04-26 16:39:46 -04:00
Joseph Straceski
0a7eb9c0e4 Remove exception guards (#839)
* Bump tar-fs from 2.1.1 to 2.1.2

Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.1 to 2.1.2.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Removing exception tracking from debug_session.

* Replicate changes for Godot 3

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2025-04-26 16:25:20 -04:00
Asaf Shilo
911a34fda4 Fix GDScript Syntax Highlighting for "self" Keyword (#846)
* Rewrite rules for highlighting "self"

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2025-04-26 16:00:15 -04:00
testledjones
87e033e6ba Change debug_current_file error message (#836)
* Change debug_current_file error message

Currently, the error message in debug_current_file doesn't tell the user that the scene file and script file must share the same name. This fixes that

* Change message text

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2025-04-20 13:12:07 -04:00
David Kincaid
e38db288b7 Add ability to suppress LSP error messages (#823) 2025-03-15 15:01:35 -04:00
David Kincaid
a04f58c82d Scene Preview Improvements (relative path drag/drop) (#815)
* Improve scene preview lock behavior
* Add convert_uri_to_resource_path utility function
* Implement relative nodepath dropping
* Prevent a possible error when trying to refresh a scene that doesn't exist
* Fix wrong command name being called (scenePreview.openMainScene has actually never worked)
2025-03-10 04:50:00 -04:00
David Kincaid
03606fdb3a Various LSP Client Improvements (#816)
* Fix outgoing LSP messages not actually being discarded
* Resend init message if reconnecting (fixes #818)
* Added wrong project disconnect feature
* Update vscode-languageclient from ^7.0.0 to ^9.0.1
2025-03-10 04:49:05 -04:00
David Kincaid
f4ae73c9a0 Add automatic project formatting (#814)
* Add biome as a dev dependency and add "npm format" script

* Align new debugger code with project style
2025-03-04 19:54:47 -05:00
David Kincaid
1dcbd651df Add snippet/placeholder behavior to Scene Preview file drops (#813) 2025-03-04 19:11:27 -05:00
David Kincaid
0203cec293 Formatting and Highlighting Fixes (#812)
Fixes #805 and #810
2025-03-04 18:56:21 -05:00
Mikhail Zolotukhin
34de1b64f0 Fix scene preview with nodes, that have spaces in names (#806)
Fixes #688
2025-03-04 15:39:58 -05:00
David Kincaid
e528384ea5 Add godotTools.openEditorSettings command (#802)
Add godotTools.openEditorSettingscommand
2025-02-27 12:27:27 -05:00
David Kincaid
3f7a944e96 More Highlighting and Formatting Improvements (#783)
* Fix **= operator being formatted incorrectly

* Fix variables in get_node()-style function calls not being highlighted

* Move super from builtin_classes to keywords

* Fix uppercase builtin classes being highlighted as constants

* Fix setter and getter highlighting/formatting

* Fix variable as default parameter not highlighted in function declaration
2025-02-22 12:51:44 -05:00
Saint
b29fbb75a0 Add print_rich() support to Debug Console (#792)
* add bbcode support to debug console
* fix output line for Debug Console
* Update debug console output. Add Godot3.6 support.
2025-02-22 12:36:11 -05:00
Jesse Ward
b986ce0e51 Resolves godotengine/godot-vscode-plugin#796 (#797) 2025-02-22 12:31:57 -05:00
Eric Cosky
035211276d Fixes for attached debugging and related improvements. (#784)
'launch' and 'attach' modes are working with these changes. The root problems were related to the version of the attached project not being detected properly and file paths not being correctly calculated when attached. The networking code that had version-dependent behavior is now a bit more robust and won't break if minor versions were to ever exceed 1 digit.
When using 'attach' mode, the version info wasn't available at all, causing most (all?) network messages to be ignored.
2025-02-22 12:28:38 -05:00
MichaelXt
53f48ede63 DebugAdapter variables overhaul (#793)
- 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
2025-02-22 12:17:55 -05:00
Saint
9297920d73 Add setting to enable/disable documentation minimap (#786) 2025-02-13 11:47:23 -05:00
MichaelXt
2490d0cdad Implement Godot-in-the-loop test suite and fix debugger errors (#788)
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
2025-02-10 16:56:13 -05:00
MichaelXt
e7b9530a7f Fix debugger watch window freeze caused by missing responses (#781) 2025-01-26 13:33:50 -05:00
David Kincaid
489db36e85 Add debugger support for Typed Dictionaries (#764)
Add decoding support for Typed Dictionaries
2025-01-03 21:40:31 -05:00
KIM JISU
996a7aefe6 Add newline when dropping nodes into editor (#754)
Co-authored-by: k-expon <kimexpon@pm.me>
2025-01-03 21:02:58 -05:00
David Kincaid
aee83dd2a4 Update float syntax rules and formatting (#756)
* Update float syntax rules and formatting

* Add missing export_group annotation

* Moved abstract from an annotation to a keyword

* Add an example of the other type of string interpolation.
2024-12-18 10:45:05 -05:00
David Kincaid
6ddf05d4a1 Fix VBox and HBox docs not opening (#755) 2024-11-18 11:25:30 -05:00
David Kincaid
f648c37353 Various Formatter Improvements (#746)
* add new style of formatter snapshot tests
* add many new test cases
* fix several open issues( #728, #624, #657, #717, #734, likely more)
2024-11-18 11:16:16 -05:00
David Kincaid
709fa1bbad Implement warnings and errors in Debug Console (#749) 2024-11-18 11:11:30 -05:00
David Kincaid
694feea1bc Overhaul LSP Client (#752)
* 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
2024-11-18 10:53:59 -05:00
Mikael Hermansson
0a632d62b5 Fix typed arrays of scripts not being decoded properly (#731) 2024-10-11 11:03:34 -04:00
David Kincaid
658270e742 Capitalize the drive letter in windows absolute paths (#727) 2024-09-25 17:19:59 -04:00
David Kincaid
170d3d4819 Suppress "workspace/symbol" not found error (#723)
* Discard outgoing "workspace/symbol" LSP messages
2024-09-23 13:56:45 -04:00
David Kincaid
1a84a57647 Add documentation page scaling feature (#722)
* Add documentation.pageScale mechanism

* Fix issue with div of map() function catching the minimap style
2024-09-23 13:56:25 -04:00
David Kincaid
5b725b55fd Fix bare nodepaths referencing absolute/root paths (#712) 2024-09-15 16:04:31 -04:00
David Kincaid
e45d122a37 Add partial debugger support for new types (#715)
* Add PACKED_VECTOR4_ARRAY type

* Disable noUselessElse lint rule

* Fix lint rules and formatting

* Implement decoding for PACKED_VECTOR4_ARRAY

* Implement decoding for typed Arrays
2024-09-15 15:58:16 -04:00
Dillon Bayless
d915dccba1 fix format_documentation for [code skip-lint] (#700) 2024-08-19 22:32:10 -04:00
David Kincaid
cca25099c4 More Formatter Fixes (#672)
* 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
2024-06-29 16:08:24 -04:00
Marvin Altemeier
6456a789af Improve dragging items from Scene Preview into source code (#661)
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-06-29 15:50:18 -04:00
David Kincaid
1ff626ba47 Fix object id decoded as wrong signedness. (#670)
* Fix id being decoded as an signed integer instead of an unsigned integer. (#660)

---------

Co-authored-by: karstensensensen <simonblsoerensen@gmail.com>
2024-06-24 17:43:58 -04:00
David Kincaid
c07fe37f30 Fix bad formatting on several operators (#605)
Many, many formatter and syntax highlighting improvements.
2024-06-24 16:48:44 -04:00
David Kincaid
17af8e20c9 Improve Scene Preview ergonomics (#665)
* 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
2024-06-23 17:13:40 -04:00
David Kincaid
f55d36e86c Fix handling of editorPaths (#656) 2024-06-20 05:00:55 -04:00
Stephen Bell
df445b8390 improve macOS path resolution for app bundles (#632) 2024-04-29 19:55:52 -04:00
David Kincaid
6b009ea123 Fix relative godotPath values not resolving correctly (#655) 2024-04-29 16:24:52 -04:00
Vladimir Pyatnitskiy
0fc399bbc3 Fix debugged process not being terminated when debugging session closes on Linux (#620) 2024-04-17 13:05:32 -04:00