142 Commits

Author SHA1 Message Date
David Kincaid
37bb1116fb Debugger Tool Improvements (#848)
A variety of debugger internal fixes + linter/style improvements
2025-07-31 15:17:33 -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
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
dependabot[bot]
6a3b1b6274 Bump prismjs from 1.29.0 to 1.30.0 (#819)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.29.0...v1.30.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-26 16:30:00 -04:00
Hugo Locurcio
d9ea6245d4 Bump to version 2.5.1 2025-03-15 20:58:11 +01:00
Hugo Locurcio
0da21f23a3 Bump to version 2.5.0 2025-03-11 00:18:18 +01: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
dependabot[bot]
54f68f15ea Bump esbuild from 0.17.19 to 0.25.0 (#790)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.19 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.17.19...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 19:10:58 -05:00
David Kincaid
e528384ea5 Add godotTools.openEditorSettings command (#802)
Add godotTools.openEditorSettingscommand
2025-02-27 12:27:27 -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
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
Hugo Locurcio
7844979c90 Bump to version 2.4.0 2025-02-22 00:07:17 +01: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
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
Hugo Locurcio
86ae182088 Bump to version 2.3.0 2024-10-07 17:52:11 +02: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
Hugo Locurcio
c4ce162284 Bump to version 2.2.0 2024-09-23 19:04:45 +02:00
David Kincaid
892f71d3c2 Standardize contributed language's extensions (#716)
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.
2024-09-15 16:34:02 -04:00
Hugo Locurcio
80fefd2ceb Bump to version 2.1.0
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!
2024-07-28 18:29:56 +02:00
David Kincaid
9750f8dfc6 Fix various syntax highlighting issues (#674)
* Fix variable declaration highlighting

* Clean up function call highlighting
2024-07-02 14:04:22 -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
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
436ff64d07 Fix version check of Godot binary (#592)
* Change default value for godotTools.editorPath.godot4 to "godot"

* Switch godot version check back to using --version
2024-02-21 11:31:32 -08:00
Tristan F
b0f7220f41 Add basic inlay hint support for GDScript (#589)
* 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
2024-02-21 11:20:36 -08:00
Daelon Suzuka
e2f2dc4b93 Improve path handling when starting processes (#575)
`editorPath.godot3/4` setting and `editor_path` debug configuration now correctly handle paths with spaces or surrounded with quotes.
2024-01-24 21:14:39 -05:00
Daelon Suzuka
4ae31bf99d Launching the editor opens a new custom terminal (#561) 2024-01-06 13:37:59 -08:00
Sandy Gutierrez
0a794ebc1b Add snapshot tests to formatter (#545)
* Add snapshot tests for formatter
* Add test runner to CI

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2023-12-22 03:04:02 -08:00
Daelon Suzuka
e7e2d0439d Various QoL Improvements (#529)
* 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
2023-12-06 06:53:10 -08:00
Daelon Suzuka
a4c1181894 Rewrite debugger for Godot 4 support + improved maintainability (#452)
* 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>
2023-11-12 07:46:44 -08:00
Daelon Suzuka
d3b2c5227c Reorganize extension entrypoint (#505)
* Combine godot-tools.ts into extension.ts to put the extension's major components at the same level
2023-10-13 11:33:26 -07:00
Ryan Brue
f4e4b9c422 Implement headless LSP mode (#488)
* 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>
2023-10-10 23:05:22 -04:00
oidro
cdc550a412 Restructure and rename settings
Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2023-03-26 13:32:36 -07:00
Daelon Suzuka
df386efa54 Add Godot 4 support to the Scene preview panel (#451) 2023-03-14 18:13:32 +01:00
Daelon Suzuka
f76a8f2937 Clean up plugin initialization process (#439) 2023-03-14 18:10:26 +01:00
Daelon Suzuka
0636797c22 Add scene preview panel (#413) 2022-10-26 16:20:28 +02:00
Daelon Suzuka
e7674c12ad Add "Open Type Documentation" context menu option (#405)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-22 02:13:31 +02:00
Butch Wesley
fb4d40858c Add "additional options" to launch debugger with (#363) 2022-08-16 21:27:46 -07:00
Daelon Suzuka
cf432a17fb Improve extension startup performance (#408)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-13 18:59:10 +02:00
Tomasz Wyrowiński
f2145688b1 Improve displaying symbols documentation (#404)
Co-authored-by: Tomasz Wyrowiński <tomasz.wyrowinski@10clouds.com>
2022-08-11 12:48:49 -07:00
Hugo Locurcio
e344cdf2fc Bump to version 1.3.1 2022-06-07 17:44:12 +02:00
Hugo Locurcio
7b49c4b3e8 Bump to version 1.3.0 2022-05-09 23:02:59 +02:00
Daelon Suzuka
f860020c63 Add context menu options to copy resource path (#357)
* 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>
2022-05-08 23:47:53 +02:00
Daelon Suzuka
78e37e8016 Overhaul syntax highlighting (#342)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-11 18:33:16 +02:00
Anton Vakhtel
547b92ad80 Add option to run the project with visible collision shapes and navigation (#312)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-07 02:27:13 +02:00
Daelon Suzuka
4ac06a7691 Add configurable auto-reconnect (#341)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-04-06 17:46:50 +02:00
Hugo Locurcio
d404eaedc6 Bump to version 1.2.0 2022-04-05 22:52:09 +02:00
Francois Belair
f9a5204dcf Update client to v7.0.0 to use of 3.16.0 spec 2022-03-19 15:32:40 -04:00