This editor plugin provides project-wide diagnostics for GDScript files.
It tracks every GDScript file in the project and gathers all errors and warnings in a global list.
Useful in larger projects, during refactoring or porting a project from Godot 3.x to 4.x.
If you like this plugin and want to support my work, consider leaving a tip on Ko-fi.
- Download the plugin
- From this repository
- From the Asset Library
- From the Beta Asset Store
- Copy the
addons/directory to your project - Enable the plugin in the project settings
- (Possibly) Restart Godot
NOTE: It is not possible to run multiple Godot instances with this addon. See also Known Issues.
The diagnostic panel appears in the bottom dock.
Double-clicking an entry opens the editor and jumps to the respective location in the script.
On the right side of the diagnostic panel are various controls:
- Auto-Refresh: Automatically refresh diagnostics when files have been modified. The plugin will only update diagnostics when the panel is visible.
NOTE: In large projects, a diagnostic update can take up to several seconds. Hence, it might be desirable to deactivate this option in larger projects or keep the panel hidden until needed. - Refresh: Manually trigger a refresh.
- Group by file: Change the sorting method to group diagnostics by their source file.
- Diagnostic Filters: Shows the amount of errors and warnings in the project. Toggling these buttons will show or hide those diagnostics from the list.
Directories with a .gdignore or .diagnostic_ignore file are ignored.
The latter is useful for ignoring certain directories without interfering with Godot behavior.
If the debug/gdscript/warnings/exclude_addons project setting is enabled, it will also ignore files in addons/.
This addon relies on the language server protocol to retrieve diagnostics from Godot.
Godot starts a language server on the port defined in the editor settings under network/language_server/remote_port.
If the port is already in use, e.g. by the LS of another Godot instance, Godot is unable to start a new LS.
Hence, this plugin is unable to connect to the correct Godot instance and report correct diagnostics in such cases.
In larger projects, refreshing diagnostics or opening the diagnostic panel (which may trigger a refresh) can cause Godot to freeze on Windows 11.
This seems to be a bug in Windows 11's TCP window scaling implementation.
The workaround is to enable Use Thread under Editor settings -> Network -> Language server.
See also #2.
