This reverts commit a988fad9a0.
As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object.
This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary.
A few small changes also had to be made to other files, due to the changes cascading down all the includes.
These default to Ctrl + N and Ctrl + Shift + N respectively,
and will only work while the script editor is focused.
When the script editor is not focused, a new scene
(or inherited scene) will be created instead.
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
This feature is enabled by default, but it can be disabled in the editor
settings in case it interferes with other uses of the extra buttons
(such as push-to-talk in a VoIP program).
Respect client "supportsVariableType" capability
Implement "breakpointLocations" request
Implement "restart" request
Implement "evaluate" request
Fix error messages not being shown, and improved wrong path message
Removed thread option and behavior
Implemented detailed inspection of complex variables
Fix "const"ness of functions
Added a configurable timeout for requests
Implement Godot custom data request/event
Implement syncing of breakpoints
Added support for debugging native platforms