Commit Graph

784 Commits

Author SHA1 Message Date
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Rémi Verschelde 2e71e5516e
Merge pull request #80632 from Repiteo/C#-editor-docstring
C#: Dereference editor types in core documentation
2023-09-02 14:28:35 +02:00
Thaddeus Crews cbf17b5ac1
C#: Dereference editor types in core documentation 2023-09-01 15:17:13 -05:00
Rémi Verschelde 07f6fa8ff9
Merge pull request #80629 from Repiteo/C#-CS0419
C#: Include argument types in generated methods
2023-09-01 16:01:24 +02:00
Raul Santos cde9dc6c3c
C#: Replace usage of deprecated `project_settings_changed` signal
Replace usage of `EditorPlugin::project_settings_changed` signal with `ProjectSettings::settings_changed`.
2023-08-30 19:45:41 +02:00
Rémi Verschelde 1d852cb75e
Merge pull request #80631 from Repiteo/C#-delegate-docstring
C#: Fixed delegate docstring logic
2023-08-16 09:15:50 +02:00
Rémi Verschelde db1a5dc41a
Merge pull request #80630 from Repiteo/C#-paramref
C#: paramref now properly tagged in documentation
2023-08-16 09:15:27 +02:00
Thaddeus Crews f735aa1fc2
C#: Include argument types in generated methods
• Prevents warnings over ambiguous references with Compat.cs
• Fix typo in Compat.cs causing AddCodeCompletionOption documentation to inherit itself
2023-08-14 16:15:49 -05:00
Thaddeus Crews 10cc46196b
C#: paramref now properly tagged in documentation
• If part of a signal, the old documentation style is used, as it points to a delegate & doesn't have actual parameters to reference
2023-08-14 15:16:52 -05:00
Thaddeus Crews 4d7c07a132
C#: Fixed delegate docstring logic
• No longer produces double-summaries
2023-08-14 11:17:47 -05:00
Thaddeus Crews 51154a86a1
Implement proxy_name for EnumInterface
• Fixes generated CS1574 warnings
2023-08-14 10:47:14 -05:00
William Scalf 41cf94e8b6 Allow readonly and writeonly C# properties to be accessed from GDScript 2023-08-13 18:35:10 -04:00
Yuri Sizov 951ea2415b Make EditorInterface accessible as a singleton
- EditorPlugin.get_editor_interface() is removed as redundant.
2023-08-09 16:01:31 +02:00
Rémi Verschelde 750f1a66b6
Merge pull request #80303 from raulsntos/dotnet/warnings/CS1572
C#: Fix typo in parameter name in documentation
2023-08-07 14:53:58 +02:00
Rémi Verschelde 8018b478ca
Merge pull request #79470 from raulsntos/dotnet/singleton-can-be-instances-too
C#: Generate instance types for singletons
2023-08-07 14:47:51 +02:00
Rémi Verschelde faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Raul Santos 23f7f24e8a
C#: Add hard-coded singletons to avoid breaking compat
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2023-08-06 19:02:53 +02:00
Raul Santos 6b713b1682
C#: Generate instance types for singletons 2023-08-06 00:48:22 +02:00
Raul Santos 958a6cd953
C#: Fix typo in parameter name in documentation 2023-08-05 20:00:49 +02:00
Yuri Sizov c244903c3d
Merge pull request #78846 from raulsntos/dotnet/data_dir_name_now_with_more_platform
C#: Add platform name to the exported data directory
2023-08-04 21:01:38 +02:00
Rémi Verschelde c236503b75
Merge pull request #79958 from van800/master-rider-path-locator-fleet
Delegate opening files for Rider to the RiderPathLocator NuGet package
2023-08-04 16:59:23 +02:00
Ivan Shakhov 7f8e3ab5cd Delegate opening files for Rider to the RiderPathLocator NuGet package, fix https://github.com/godotengine/godot/pull/78832#issuecomment-1633330344 2023-08-04 10:31:33 +02:00
Raul Santos 03598062fd
C#: Move build button to EditorRunBar
- Move C# build button to `EditorRunBar`.
- Add C# build icon.
- Add shortcut macros to `GodotTools`.
- Move C# build shortcuts to C#.
2023-08-03 17:55:52 +02:00
Raul Santos b9f1136d03
C#: Add platform name to the exported data directory 2023-08-03 13:12:45 +02:00
Yuri Sizov 0a9006a5aa Merge pull request #79501 from raulsntos/dotnet/warnings/NU5128
C#: Suppress NU5128 warning
2023-08-02 21:36:51 +02:00
Rémi Verschelde 2132638937
Merge pull request #79404 from raulsntos/dotnet/lines-open-in-external-editor
C#: Fix line in OpenInExternalEditor
2023-08-02 12:17:31 +02:00
Rémi Verschelde ed301a4078
Merge pull request #79249 from raulsntos/dotnet/dont-ignore-call-error
C#: Print error when MethodBind/Callable call fails
2023-08-02 12:16:15 +02:00
Ignacio Roldán Etcheverry 54ba3cf768
Merge pull request #73257 from RedworkDE/net-android-support
C#: Support exporting for Android
2023-07-31 17:07:48 +02:00
Raul Santos 77e5e195f5
C#: Print error when MethodBind/Callable call fails 2023-07-28 19:18:08 +02:00
Yuri Sizov b78fe83ed4 Merge pull request #79239 from raulsntos/dotnet/document-generated-members
C#: Document generated members
2023-07-25 21:51:20 +02:00
Yuri Sizov f8f06d3d38
Merge pull request #78264 from magian1127/4.0StringName
C#: Add `PropertyHint.Enum` support to `Array<StringName>`
2023-07-18 12:19:37 +02:00
Raul Santos 132a1daf1a
C#: Fix line in OpenInExternalEditor 2023-07-17 18:44:17 +02:00
Raul Santos f2e9cbf9e8
C#: Suppress NU5128 warning
Suppress dependencies of SourceGenerators package to fix NU5128.
2023-07-15 15:25:37 +02:00
Yuri Sizov bb6879e7cc Merge pull request #79007 from 398utubzyt/dotnet/globalclass-analyzer
C#: Add a Roslyn analyzer for global classes
2023-07-14 18:49:16 +02:00
Raul Santos 12e4aa93b3
C#: Document generated members
Documents generated members and tries to discourage users from calling/overriding internal methods that only exist to be used by the engine.
2023-07-09 14:26:15 +02:00
Rémi Verschelde 4a3c6629be
Merge pull request #78832 from van800/path_locator_4x
Update the RiderPathLocator to support the JetBrains Toolbox 2.0
2023-07-08 18:19:01 +02:00
398utubzyt 8e56c807cc C#: Add a Roslyn analyzer for global classes
Co-Authored-By: Raul Santos <raulsntos@gmail.com>
2023-07-07 16:37:16 -07:00
Rémi Verschelde 26a58976e7
Merge pull request #79094 from raulsntos/dotnet/fix-symbol-comparison
C#: Compare symbol names without null flow state
2023-07-07 08:35:20 +02:00
Raul Santos 671a5b4ea5
C#: Compare symbol names without null flow state 2023-07-06 16:10:14 +02:00
Rémi Verschelde 8a847d82a8
Merge pull request #78722 from RedworkDE/net-auto-version-defines
C#: Automatically generate version defines
2023-07-05 22:15:47 +02:00
Rémi Verschelde 346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Ivan Shakhov bf3af9fd48 Update the RiderPathLocator to support the JetBrains Toolbox 2.0 2023-07-02 20:55:26 +02:00
Ignacio Roldán Etcheverry 22aad32c69 C#: Fix NodePaths completion error for not calling from main thread
The node API we use for code completion changed and no longer allows
being called from threads other than the main one.
2023-07-02 03:48:15 +02:00
RedworkDE f759cc00a3 C#: Enable exporting for Android 2023-06-28 22:34:14 +02:00
RedworkDE 777d959e05 C#: Add option to embed dotnet build outputs into the data file 2023-06-28 22:04:51 +02:00
RedworkDE fe7c27b086 C#: Automatically generate version defines 2023-06-28 21:45:58 +02:00
Paul Joannon dbdbe5b042
Fix condition blocking .NET project build
Since #73015, the build commands are called on project files instead of solution ones.
2023-06-21 20:13:32 +02:00
Raul Santos 8f6166bd14
C#: Remove whitespace from define constants
Co-authored-by: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
2023-06-20 14:33:45 +02:00
Raul Santos 48e20c628a
C#: Set `PropertyInfo.class_name` for method parameters 2023-06-16 23:19:38 +02:00
Rémi Verschelde 7f5ef953b7
Merge pull request #78249 from RedworkDE/net-version-define
C#: Add version defines to help users deal with breaking changes
2023-06-15 15:26:31 +02:00
Rémi Verschelde 25b2f1780a
Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
RedworkDE 1b466c6298 C#: Add version defines to help users deal with breaking changes 2023-06-15 13:18:04 +02:00
Magian e8aeb6baa0 C# Array<StringName> support PropertyHint.Enum 2023-06-15 16:01:42 +08:00
RedworkDE 92f13ba9ea C#: Unify project name handling and fix issues with the handling of some special characters
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-06-14 21:07:58 +02:00
Mikael Hermansson 1c1d1a1e2e Fix crash when using base types of extension-based types from C# 2023-06-12 18:29:52 +02:00
Rémi Verschelde 5047892939
Merge pull request #73939 from raulsntos/dotnet/export-symbols
C#: Add option to disable exporting debug symbols
2023-06-09 12:14:15 +02:00
Rémi Verschelde aa5dfff3f0
Merge pull request #77410 from dsnopek/object-pointer-pointer-encoding
Standardize Object ptrcall encoding on `Object **`
2023-06-07 13:31:49 +02:00
RedworkDE e0efa3c357 C#: Always decode `dotnet` output as UTF-8 2023-06-07 10:58:34 +02:00
Raul Santos 0484993121
C#: Add `[Obsolete]` attribute to deprecated members 2023-06-06 12:23:23 +02:00
Raul Santos 0aa1f3440e
C#: Add option to disable exporting debug symbols
- Add export option to configure if the exported game should include debug symbols (PDB).
- Remove unused `outputDir` local variable.
- Replace `Process.GetCurrentProcess().Id` with `System.Environment.ProcessId` (CA1837).
2023-06-02 16:37:59 +02:00
Raul Santos a1f454fee3
C#: Add global class support
Co-authored-by: willnationsdev <willnationsdev@gmail.com>
2023-05-29 19:04:02 +02:00
David Snopek 77733faede Attempt to standardize Object ptrcall encoding on `Object **` 2023-05-25 21:46:22 -05:00
Paul Joannon 178cd046bb
Link the right build property to REAL_T_IS_DOUBLE 2023-05-18 13:37:34 +02:00
RedworkDE 45659ce2d9 Fix C# glue generation for enums with negative values 2023-05-12 21:53:42 +02:00
Raul Santos a34207b812
Reorder PropertyHint enum to avoid breaking compat
Also syncs the Core enum with the C# enum for the source generators.
2023-05-12 01:48:07 +02:00
Rémi Verschelde 8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02:00
RedworkDE 692ad70fd7 C#: Do not use DocCache when generating glue code 2023-04-20 15:35:14 +02:00
Yuri Sizov 8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
RedworkDE 34b4128004 C#: Make include scripts contents an export option 2023-04-18 14:27:15 +02:00
Kevin Simpson c2b97ec1f7 Add the ability to set a custom C# editor
This allows users to still use the built-in Godot editor for GDScript.
2023-04-18 13:55:08 +02:00
RedworkDE 27124ed8e5 C#: Discontinue `GodotNuGetFallbackFolder` 2023-04-07 19:22:43 +02:00
Yuri Sizov 8f6ce4c8f9
Merge pull request #71049 from alexdlm/dotnet-generator-selective-disable
Add fine-grained disabling of SourceGenerators
2023-03-31 12:56:03 +02:00
Alex de la Mare 8ab3295e57 Add fine-grained disabling of SourceGenerators
This allows manual testing and/or alternate source generators to
provide functionality without conflict.
2023-03-25 13:46:12 +11:00
RedworkDE 42cf684837 C#: Do not print errors about missing references to intentionally ignored members 2023-03-24 20:21:55 +01:00
RedworkDE 6019f497b8 C#: Fix building projects for MSBuild before 17.3 2023-03-06 17:58:20 +01:00
Rémi Verschelde 5dccc940e7
Merge pull request #74375 from raulsntos/dotnet/ignore-explicit-interface-implementations
C#: Ignore explicit interface implementations
2023-03-05 13:39:45 +01:00
Rémi Verschelde afc9d381d5
Merge pull request #74312 from raulsntos/dotnet/godot-project-dir-base64
C#: Encode GodotProjectDir as Base64 to prevent issues with special characters
2023-03-05 13:28:14 +01:00
Raul Santos f949e94991
C#: Encode GodotProjectDir as Base64 to prevent issues with special characters 2023-03-04 23:33:30 +01:00
Raul Santos 0372bd56b6
C#: Ignore explicit interface implementations 2023-03-04 19:16:48 +01:00
RedworkDE 16a2a164fe C#: Get singleton instances using the Core name 2023-03-03 16:30:18 +01:00
Rémi Verschelde 526f115752
Merge pull request #73904 from raulsntos/dotnet/tools-popup
C#: Always show "Create C# solution" option
2023-03-02 11:22:59 +01:00
Rémi Verschelde 1c1524a651
Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
Raul Santos a1a2fc2255
C#: Always show "Create C# solution" option
Prevents ending up with an empty C# menu.
The option to create the C# solution no longer disappears, to avoid confusing users.
If an user tries to use it when a C# solution already exists they are warned that it will override their sln and csproj files.
2023-02-26 02:56:34 +01:00
Raul Santos 3730d8e343
C#: Check if a class is a singleton using the Core name
Use the name of the class in Core, rather than the C# rename, when checking if a class is registered as a singleton.
2023-02-24 18:02:31 +01:00
RedworkDE 756a48023f C#: Fix line position when opening file in VSCode 2023-02-19 12:43:15 +01:00
Rémi Verschelde 2527d4ce9b
Merge pull request #73458 from paulloz/csharp/actually-clean-solution
.NET: Clicking "Clean solution" should clean, not build
2023-02-17 00:30:55 +01:00
Paul Joannon 5e3d114829
Clicking "Clean solution" should clean, not build 2023-02-16 11:45:33 +01:00
Raul Santos d57cb460e2
C#: Open the solution directory when using VSCode
The solution directory used to be the same as the project
directory (`res://`). We now allow specifying a different
path for the solution and the other external editors already
use that (which seems more convenient for multi-project
scenarios).
2023-02-15 20:13:40 +01:00
Raul Santos 2a1523d751
Build C# csproj instead of the solution 2023-02-10 03:19:30 +01:00
Rémi Verschelde b53c4dda62
Merge pull request #72849 from RedworkDE/net-export-settings
C#: Rename export settings `mono` -> `dotnet` and remove unused AOT settings
2023-02-08 09:32:41 +01:00
RedworkDE bf47b62203 C#: Rename export settings `mono` -> `dotnet` and remove unused AOT settings 2023-02-07 18:20:23 +01:00
Paul Joannon c70c82b0fb
Try and match MSBuild and Godot UI languages 2023-02-07 16:48:23 +01:00
Paul Joannon 9bf2a0bcda
Add new settings about MSBuild
- toggle creation of binary logs
- manage log verbosity
- toggle logging in console
2023-02-07 16:48:23 +01:00
Paul Joannon 7cf42dbdee
Add button to open the msbuild logs folder 2023-02-07 16:48:23 +01:00
Paul Joannon e51a20b714
Rename existing editor settings `mono` -> `dotnet` 2023-02-07 16:48:18 +01:00
Rémi Verschelde c5c6f2db89
Merge pull request #72553 from RedworkDE/net-output-directory
C#: Preserve directories in output during export
2023-02-02 13:59:05 +01:00
RedworkDE 70ebb6378c C#: Preserve directories in output during export 2023-02-01 00:37:12 +01:00
Treer 086ce855a8
Update modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/GodotPluginsInitializerGenerator.cs
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2023-02-01 07:56:20 +11:00
Treer 273df44e1d Qualify Console's namespace to avoid mixup with plugin's objects
Avoid error when a plugin contains a class called "Console":
Godot.SourceGenerators\Godot.SourceGenerators.GodotPluginsInitializerGenerator\GodotPlugins.Game.generated.cs(32,25): error CS0117: 'Console' does not contain a definition for 'Error'
2023-01-31 16:23:17 +11:00
Rémi Verschelde 2b55ac445b
Merge pull request #72111 from raulsntos/method-info-metadata
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-27 15:41:38 +01:00