All these examples are recorded using Visual Studio Code as a client for the language server. As everything is implemented using endpoints from the Language Server Protocol (LSP) these features are available to all editors that support the needed API.
Diagnostics get updated on the fly as you type
Hovering over variables and modules takes documentation that is written as comments into account
Hovering is also implemented for system functions and variables:
Code completion that tells you where variables come from, what type they are, array dimensions and much more
Get signature help for calling external modules, including the documentation of the module and the parameter with their documentation.
Go-to definition for modules, variables and subroutines
Find references for variables and modules (modules being in prototype state)
Renaming of variables and subroutines
Many builtin diagnostics already include quickfixes
Some of them do more than one modification:
Which Natural developer never forgot to add a using when copy pasting code?
Define snippets which depend on variables of usings which get added on the fly (if not already present)
Get a quick overview of a module with the outline
Quickly navigate through symbols in the current module
Quickly find modules by their referable name