Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for GDScript #88

Closed
italodirenzo93 opened this issue Dec 14, 2022 · 34 comments
Closed

Support for GDScript #88

italodirenzo93 opened this issue Dec 14, 2022 · 34 comments

Comments

@italodirenzo93
Copy link

While this plugin is understandably focused on C# primarily, it would be very handy to also support GDScript syntax highlighting (and eventually intellisense/debugging support). The rationale for this is that some Godot projects contain a mix of C# and GDScript code. Having the ability to use Rider for editing/debugging in both languages saves on iteration time by not having to repeatedly switch between environments when editing/debugging the two languages.

@cpuccino
Copy link

+1 - This would be an awesome add.

@cpuccino
Copy link

cpuccino commented May 25, 2023

Doesn't really work very well or at all, on godot 4 at least. The new one is better but it's still very buggy.

@italodirenzo93
Copy link
Author

It's been a while since I created this issue but my main motivation was that it would be a great workflow improvement to be able to edit & debug both GDScript and C# code from Rider. That way you can follow execution flow across languages in a single debugging environment without having to bounce between the Godot editor and Rider.

@jsbeckr
Copy link
Contributor

jsbeckr commented Jul 4, 2023

I would like to see that feature as well. There is another plugin here that aims to support gdscript in IntelliJ. Maybe they are willing to implement LSP Support for Godot.

@jaysunxiao
Copy link

godot is future,so GdScript is future,not C#

@jaysunxiao
Copy link

godot is future,so GdScript is future,not C#

What the h do you mean by saying this? C# provides a better performance and since the Unity game engine is being hated ppl tend to switch to Godot cuz it has Csharp and not any other game engines

C# takes too long to compile and is not lightweight enough

@jaysunxiao
Copy link

C# can not run in android editor,If I really need performance ,cpp is my choice

@WarrenMarshall
Copy link

gdscript support would be amazing! I would love to move away from VS Code and work entirely within the JetBrains eco system.

@van800
Copy link
Member

van800 commented Nov 27, 2023

Last week I have published an update to the Rider Godot plugin applicable for Rider 2023.3 EAP builds.
Now all major Godot file types got basic highlighting.
image
And I am doing experiments with LSP targeting next iteration Rider 2024.x.

@WarrenMarshall
Copy link

The hero we need!

@jaysunxiao
Copy link

amazing!

@van800
Copy link
Member

van800 commented Dec 4, 2023

If I may ask for your input on a default behavior question.
The alternatives seems the following:

  • automatically start a headless GodotEditor
  • automatically start GodotEditor
  • try to connect the running GodotEditor or wait for it to be started manually

@van800
Copy link
Member

van800 commented Dec 6, 2023

related Godot proposal godotengine/godot-proposals#8593

@SommerEngineering
Copy link

If I may ask for your input on a default behavior question. The alternatives seems the following:

* automatically start a headless GodotEditor
* automatically start GodotEditor
* try to connect the running GodotEditor or wait for it to be started manually

In my opinion, the plugin should wait for the editor (your third point). This way we save resources (RAM, CPU) because only one Godot process is running.

@van800
Copy link
Member

van800 commented Jan 25, 2024

The integration of Language Server Protocol (LSP) for GDScript is available in the public 2024.1 EAP1 build of Rider with a recent Godot support plugin. It is disabled by default setting in Rider (Godot Engine - Connecting LSP server).
If you encounter any problems, please report them in Rider with Help -> Report a Bug. If the problem is directly related to this plugin, you may use Issues here on github. #120

This issue remains open.

image

@Sygan
Copy link

Sygan commented Jan 27, 2024

I've recently started experimenting with Godot and the thing that I miss the most even after writing just a few scripts are the refactoring capabilities of Rider that I really rely upon in my work. I can't wait to see full GD Script support with refactoring capabilities. Keep up the good work and thank you so much for it.

@WarrenMarshall
Copy link

100%, being able to refactor GDScript on a project-wide basis would be game changing.

@AlighaThor
Copy link

@WarrenMarshall You can use in the meantime GDFormat (a python lib) and then create a custom command in Jetbrains that runs it (for current file or whole repo as desired), and the assign your custom keymap to run that custom command. Works super good as a temp alternative.

@IkutiDev
Copy link

IkutiDev commented May 5, 2024

Enjoying what there is so far. Currently just waiting for the refactoring methods and the find usages working, after which I will be perfectly happy with this implementation ❤️

@tkgalk
Copy link

tkgalk commented May 6, 2024

The integration of Language Server Protocol (LSP) for GDScript is available in the public 2024.1 EAP1 build of Rider with a recent Godot support plugin.

Cheers. Renewing Rider just for this, hoping for more features and tighter integration in the future. :)

@jaysunxiao
Copy link

I have been using it for a while and it is very good. I look forward to continuing to update.

@van800
Copy link
Member

van800 commented May 28, 2024

The support for debugging GdScript is in the works.
image

I am also thinking, if it is a good idea to use DAP server in the headless editor, which we already run for LSP.
Please see the conversation in godotengine/godot#92336 and rocket chat.

@IkutiDev
Copy link

Debugging inside Rider sounds superb! ❤️ Hopefully it will be merged soon.

I personally also have 1 question regarding gdscript implementation. Is there a plan to add "see usages" feature? It's what I'm really missing coming from the C# and sadly it's not available inside the base script editor of Godot. (but I have seen it working inside other plugin for rider for gdscript).

Also important info for now anyone wanting to use rider for gdscript, don't override the inside editor with the external editor inside editor settings, if you plan to write custom resources, plugins or tool scripts. Since currently they don't update correctly from outside text/code editors, they only update when opening the internal godot code editor.

@van800
Copy link
Member

van800 commented May 30, 2024

Find Usages feature is available in the third party GdScript plugin from IceExplosive and for the upcoming Rider 2024.2, I have ensured the compatibility with that plugin.

However Find Usages via LSP is also in the works https://youtrack.jetbrains.com/issue/IJPL-848/LSP-API-support-Find-Usages-textDocument-references-request

@ArSn
Copy link

ArSn commented Jun 1, 2024

Thank you for your continued work on this, this is already a bless! 🙇🏻‍♂️

If at all possible, could we get some coloring for functions (when they are called) and variables? So far a lot of it is just white despite the highlighting generally working, example:

image

Also note the == here looks a bit wonky, not sure why that is either, but not that important to me personally.

Thanks again!

@van800
Copy link
Member

van800 commented Jun 2, 2024

@ArSn
Hi!
There seem to be an issue, which I can't reproduce easily on my end (with Rider 2024.1.2).
Would you please report via Help->Report a Bug, agree to attach logs?
image

@ArSn
Copy link

ArSn commented Jun 2, 2024

@van800 Interesting, I somehow thought it was just not covered, or I would have reported a bug in the first place as you asked. Anyhow, reported it now: https://youtrack.jetbrains.com/issue/RIDER-112960/GdScript-syntax-highlighting-not-working-as-expected

@jaysunxiao
Copy link

GdScript plugin from IceExplosive

I can't find GdScript plugin from IceExplosive. My redier version is 2024.1.4.

@van800
Copy link
Member

van800 commented Jul 17, 2024

GdScript plugin from IceExplosive

I can't find GdScript plugin from IceExplosive. My redier version is 2024.1.4.

My bad. It can also be refered as GdScript from David Horáček

@jaysunxiao
Copy link

jaysunxiao commented Aug 17, 2024

image

JetBrains Rider 2024.2 Build #RD-242.20224.401, built on August 14, 2024

some error occurs when I debug scene.

image

image

image

@van800
Copy link
Member

van800 commented Aug 18, 2024

@jaysunxiao for debugging gdscript, please use the "GDScript Start and Debug" configuration.
If your project doesn't have any C#, you would not need to solve any MSBuild issues.

I have created an issue https://youtrack.jetbrains.com/issue/RIDER-115995/Run-Debug-a-specific-scene-functionality-doesnt-support-GDScript

@van800
Copy link
Member

van800 commented Aug 18, 2024

Our official docs are public https://www.jetbrains.com/help/rider/2024.2/Godot.html
If there is anything missing please comment here or create an issue with Help->Report a Bug.
Thanks!

@jaysunxiao
Copy link

@jaysunxiao for debugging gdscript, please use the "GDScript Start and Debug" configuration. If your project doesn't have any C#, you would not need to solve any MSBuild issues.

I have created an issue https://youtrack.jetbrains.com/issue/RIDER-115995/Run-Debug-a-specific-scene-functionality-doesnt-support-GDScript

This solved my problem. Thanks a lot.

@van800
Copy link
Member

van800 commented Aug 26, 2024

I am closing the issue now since the Rider version with GDScript support has been released.
However, please continue sharing any inconveniences you encounter.

@van800 van800 closed this as completed Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests