-
Notifications
You must be signed in to change notification settings - Fork 26
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
Send hot-reload signals #3
Comments
Use messaging from #102 |
Hello @van800. I would like to try this approach, however, I'm not sure how to hook into the debugger to trigger this request when the user recompiles his project. I've never written a rider plugin before so any pointers would be welcome 😄 |
@geowarin why do you want to hook debugger, instead of the |
I see messages on the internet saying hot reload works in VS with some simple trick without calling any tcp signals. |
I don't know, I thought this feature was only needed when running the game in debug mode? Regarding, this message on reddit, I don't have VS to test but I really doubt that this works at all. But this is not working. AFAIK hot reloading does not work with external editors AT ALL. Since rider does not use LSP, I think we need to trigger this via another means. |
Here are my other thoughts:
|
From what I understand, calling the I think you're right, this might only reload the current tabs or something like that. I'll need to test that. for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->reload_all_scripts();
} It would make sense to me at least. Maybe this can be accepted in a PR for the engine. The hacky way seems feasible also, let me give it a try. |
Hi, how is the progress on hot reloading gdscript? Would be very useful for us |
There is a technical problem on the Rider side https://youtrack.jetbrains.com/issue/RIDER-102927. Unfortunately, it is not being prioritized. |
Does this also apply to hot reloading gdscript? As only C# is mentioned in the issue you linked |
RIDER-102927 is only about C#. |
If I change a .gdscript file in VS Code while the game is running (vs code didn't start the game, it is just connected to the Godot editor) and save the file, the changes will be immediately applied to the running game. I think this is also the case if you make changes to .gdscript files within the Godot editor. |
Thank you, I can confirm the missing feature in comparison with vscode. I will investigate further. Created a separate issue https://youtrack.jetbrains.com/issue/RIDER-114380/Godot-HotReload-GDScript. We use those youtrack issues to plan iterations. |
Thank you very much! |
Got this fixed, not sure when will it land. Follow the https://youtrack.jetbrains.com/issue/RIDER-114380/Godot-HotReload-GDScript LSP was actually sending didSave signal, which should trigger the reload, but then unsupported signal (codeAction) was also send, which apparently broke the reload call. Also requested a more generic fix the in the Intellij platform https://youtrack.jetbrains.com/issue/IJPL-171159/codeActionProviderfalse-should-disable-the-codeAction-attempts |
Like https://github.com/DavidKarlas/GodotExtension/blob/c3173c49db606bd35f9cc7687f8832442fe790c9/Godot/GodotDebuggerSession.cs#L19 sends
GD.Var2Bytes(new Array().Add("reload_scripts"))
Todo:
--remote-debug 127.0.0.1:$port
reload_scripts
to that port. Usecom.jetbrains.rider.build.BuildHost
to receive event after build.The text was updated successfully, but these errors were encountered: