godotengine / godotengine/godot

LSP connection with external IDE updates only when opening Editor Window

Open
#105,751 3 comments 1 reaction 0 assignees View on GitHub
bug topic:editor topic:gdscript
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

-Reproducible in 4.4. .NET stable for Windows and Linux
-Not reproducible in 4.3 .NET stable for Windows

### System information

Godot v4.4.1.stable.mono - Windows 11 (build 26100) - Multi-window, 2 monitors - OpenGL 3 (Compatibility) - Intel(R) UHD Graphics (Intel Corporation; 27.20.100.9316) - Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz (16 threads)

### Issue description

When using an external IDE like Rider or Visual Studio Code (both reproduced the issue) and connecting to the Godot Editor for the LSP functionality, the connection is not constant. If you make a change in a .gd file, that would lead to a warning or an error, those will not occur until you go to the opened Godot Editor window and come back, as if the changes are not recognised until this happens.

### Steps to reproduce

The issue also reproduces for VS code, but these steps will be for working with JetBrains Rider.
### Steps:
1. Open the Godot project in Rider
2. Open the same project in the Godot Engine
3. Ensure the LSP connection between the IDE and the engine is established.
4. Create a file, e.g., first.gd in Rider via `Add | File`
first.gd:
```gdscript
class_name First extends Resource

enum FirstEnum{
val1, val2, val3}
```
5. Create another file, e.g second.gd, also via `Add | File`
6. Try using the class defined in first.gd :
```gdscript
var test1 = First.FirstEnum.val1
```
### Expected result:
Expected to see completion for the defined class. Expected completion and code analysis results to be up to date without manually switching to Godot editor. If you change the class name in the first.gd, a warning or an error should appear for the second.gd.
### Actual result:
No completion appears until `Alt+Tab` to Godot and back to Rider and then perform any action with editor in Rider (for ex, type space). The warnings and errors also will be displayed only after opening the Godot Engine window and coming back to Rider.

### Minimal reproduction project (MRP)

N/A

https://github.com/user-attachments/assets/2d33e345-69fc-4e16-82b2-f03d590cbb1d

Contributor guide

Open the contributing guide

Research direction

No source file or test is named. Start by tracing the LSP connection and update handling used between Godot and external IDEs, then reproduce the steps with Rider or Visual Studio Code. Done means newly created or edited GDScript files produce completion, warnings, and errors without switching to the Godot window.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.