Commit Graph

204 Commits

Author SHA1 Message Date
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
Joseph Gilley
56a7871d06 Fix poor documentation formatting of class titles and inheritance chain (#628) 2024-04-17 12:59:18 -04:00
David Kincaid
019d87e5c7 Prevent document links from accidentally being resolved to your entire document (#639) 2024-04-17 12:45:54 -04:00
InfiniteXyy
a9508d965d Fix project not found when project.godot file is excluded (#635)
* Fix project not found when `project.godot` file is excluded

* Ignore user excludes when using workspace.findFiles

* Fix linter warnings

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-04-06 13:45:47 -04:00
David Kincaid
24e72ecc36 Fix LSP connection attempts not resetting (#638)
* Fix linter warnings

* Fix LSP retry count not resetting on connection
2024-04-06 13:42:36 -04:00
Vladimir Pyatnitskiy
5cef963162 Fix child processes not being killed properly (#613) 2024-03-11 13:57:38 -04:00
David Kincaid
e89cb784da Fix broken scene file parser (#603) 2024-02-25 18:24:16 -05:00
David Kincaid
c129098bfa Merge pull request #596 from DaelonSuzuka:fix-goto-docs
Fix definition provider not working because of accessing a Map as an Object
2024-02-23 17:15:54 -05:00
David Kincaid
93e49e4273 Fix definition provider not working because of accessing a Map as an Object 2024-02-23 17:14:31 -05:00
David Kincaid
a8a852bf66 Fix negative numbers in params not being formatted correctly (#595) 2024-02-23 11:22:54 -08:00
David Kincaid
51c89a6c35 Add image previews in hovers and fix various errors (#594)
* Fix weak comparisons
* Fix errors when converting resource paths
* Fix type error in register_capabilities
* Add image previews on document link hover
* Add image previews to ExtResource hovers
2024-02-21 14:16:25 -08: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
Butch Wesley
0058ffa870 Expose Godot path as getGodotPath command (#586)
adds new command: "godotTools.getGodotPath"

---------

Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
2024-02-21 10:21:35 -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
kaluluosi111
605fe7fa1c fix Godot4.x debug console print multiple logs into one line. (#571) 2024-01-23 13:13:56 -08:00
Daelon Suzuka
4ae31bf99d Launching the editor opens a new custom terminal (#561) 2024-01-06 13:37:59 -08:00
Daelon Suzuka
c5bbd27b04 Clean up project and version detection (#553)
* Fixes #548 
* Add Open Settings button to "select godot exe" prompt
* Cleans up and standardizes Godot binary version detection
* Fix startup dependency order for project dir/file/version checks
* Improve handling of multiple project files
* Create runtime output channel for LSP logging
2024-01-02 02:05:48 -08:00
Daelon Suzuka
34916becd6 Various highlighting/formatting fixes (#559)
* Fix constant attribute access highlighting
* Fix line endings breaking the snapshot tests
* Fix nodepath shorthand formatting
2024-01-02 00:02:30 -08:00
Norbert Ormándi
7462f88848 Fix BBCode [br] not rendering in hover (#557)
Fix BBCode [br] not rendering in hover. This is a workaround to the LSP's incorrect concatenation of doc-comments.
2023-12-28 18:54:03 -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
mlsvrts
f65033c626 Adjust Godot version detection regex (#526)
* Adjust Godot version detection regex

Signed-off-by: mlsvrts <mlsvrts@protonmail.com>
2023-11-12 11:44:52 -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
55617fdd39 Improve LSP connection behavior (fixes Godot3/4 port issue) (#511)
* Add port auto-fallback when attempting to connect to open editor's LSP

* Improve status widget tooltips

* Fix issue with configuration changes requiring a reload

* Upgraded logger utility
2023-10-28 17:20:19 -07:00
Daelon Suzuka
d8700eaca1 Fix Headless LSP not starting (#513) 2023-10-14 17:11:08 -07: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
sequpt
931ec50614 Fix wrong section-identifier used to retrieve configuration (#475)
Fix #474
2023-05-06 13:11:51 -07:00
Ryan
41f40ee38f Fix spelling mistake when getting port and host from configuration (#465)
This fixes an issue where port isn't respected after being changed.
2023-04-22 23:55:37 +02: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
a561c523ee Fix errors left after cleaning up plugin initialization process (#459) 2023-03-16 00:26:19 +01: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
Daelon Suzuka
441873eb6d Fix internal document link handling (#410)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-08-22 02:13:01 +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