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.
Especially useful when working on large-scale changes, e.g. refactoring or porting a project from Godot 3.x to 4.x.
Compatible with Godot 4.2+.
- Download the plugin from this repository or from the Asset Library
- 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.