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
Raul Santos
1aceacaa6b
C#: Rename Object
to GodotObject
2023-01-27 02:04:18 +01:00
Raul Santos
a968e51414
C#: Renames to follow .NET naming conventions
...
Renamed C# types and members to use PascalCase and follow .NET naming conventions.
2023-01-27 02:04:17 +01:00
Raul Santos
4788cb35c1
C#: Add global namespace to grouping property info
2023-01-27 01:15:19 +01:00
Rémi Verschelde
0d1b5f8832
Merge pull request #71356 from raulsntos/dotnet/get
...
C#: Lookup signals and methods in Get method
2023-01-27 00:13:13 +01:00
Rémi Verschelde
4f572d1587
Merge pull request #71535 from raulsntos/dotnet/pointers-are-yabai
...
C#: Skip methods with pointer parameters
2023-01-26 23:44:28 +01:00
Rémi Verschelde
63b5adf8a8
Merge pull request #72057 from raulsntos/dotnet/fix-must-be-variant
...
C#: Annotate API with `[MustBeVariant]`
2023-01-26 23:00:30 +01:00
Rémi Verschelde
2aa532ad6c
Merge pull request #65529 from magian1127/4.0FixDocTag
...
C# Improve the "Tag" conversion of documents
2023-01-26 22:58:26 +01:00
Raul Santos
cac7a784d6
Add GodotTypeInfo::Metadata
to MethodInfo
2023-01-26 15:51:34 +01:00
Raul Santos
256632a07e
C#: Skip documentation syntax in MustBeVariant analyzer
2023-01-25 17:29:08 +01:00
Aaron Franke
2a65f6812b
Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for script
...
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24 16:37:50 -06:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
Magian
35bfce2afd
C# Improve the "Tag" conversion of documents
...
[codeblocks] for Keep only the [CSharp] part.
[param] is changed to <c>.
[b] for bold text.
[i] for italic text.
4.0 now uses variant, so [variant] to <see cref="Godot.Variant"/>.
since Rider does not support [u], only comments have been modified.
2023-01-24 18:40:48 +08:00
Raul Santos
3425d43fed
C#: Move GLOBAL_DEF
s to CSharpLanguage ctor
...
Also documents the .NET project settings.
2023-01-18 21:53:58 +01:00
Raul Santos
62106fe5e3
C#: Implement ExportPlugin::_get_name
2023-01-18 18:17:38 +01:00
Raul Santos
ab5e532f1a
C#: Skip methods with pointer parameters
2023-01-17 04:32:05 +01:00
Raul Santos
47e355f965
C#: Make property accessors internal
2023-01-16 15:15:26 +01:00
Raul Santos
a6ba914f15
C#: Lookup signals and methods in Get method
...
Allows to retrieve `Callable`s and `Signal`s using `Get` like it works in GDScript.
2023-01-13 22:19:25 +01:00
Rémi Verschelde
64f2b970d8
Merge pull request #71114 from reduz/cleanup-property-hints
...
Removed unused property hints and `Object::get_translatable_strings()`
2023-01-09 16:57:31 +01:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and Object::get_translatable_strings()
...
* Remove unused `EditorPropertyMember` and related hints, previouly used by
VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
`get_translatable_strings()`, which is a legacy function not used anywhere.
So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.
Fixes #30203 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Raul Santos
59e8fc1edf
C#: Add [Flags]
attribute to core bitfield enums
2023-01-09 16:13:28 +01:00
Juan Linietsky
47592927b3
Use BitField<> hint for ArrayFormat
...
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Raul Santos
a43e8285a7
C#: Avoid generic types in the script path attribute generator
...
- Avoid generic types in `ScriptPathAttributeGenerator`, this
means they won't be added to the `[AssemblyHasScripts]` attribute
and a `[ScriptPath]` attribute won't be added to the class.
Since generic classes can't be used as scripts they shouldn't use
those attributes, this also makes CSharpScript consider those types
invalid since they won't be added to the script/type map.
- Avoid generic types in `ScriptManagerBridge.LookupScriptsInAssembly`.
- Set `outMethodsDest` in `ScriptManagerBridge.UpdateScriptClassInfo`.
2022-12-28 23:20:02 +01:00
Ignacio Roldán Etcheverry
5784bf1be0
Merge pull request #70486 from raulsntos/dotnet/convert-to
...
C#: Rename `ConvertToX` methods
2022-12-23 21:15:24 +01:00
Raul Santos
24e4ac9167
C#: Rename ConvertToX
methods
...
- Renamed `ConvertToX` to `ConvertToNativeX`.
- Renamed `ConvertToXObject` to `ConvertToX`.
- Renamed `ConvertToXManaged` to `ConvertToX`.
- Fix `Signal` name in bindings generator and csharp script.
2022-12-23 19:40:32 +01:00
Raul Santos
03c26d6618
C#: Disallow init-only properties
...
ReadOnly properties are currently not allowed because the generated code
needs to set them, this also apply to `init` properties because they
need to be set after initialization.
2022-12-23 19:04:14 +01:00
Silc Renew
a52479f770
Fix out of sync PropertyUsageFlags for cs
2022-12-16 06:27:04 +09:00
Rémi Verschelde
346efd29e0
Fix typos with codespell
2022-12-15 12:24:08 +01:00
Rémi Verschelde
b8e1d6585c
Merge pull request #69971 from neikeq/csharp-vararg-ret-premature-free
...
C#: Fix premature free of returned Variant in vararg methods
2022-12-14 23:27:40 +01:00
Ignacio Roldán Etcheverry
833b252ce7
C#: Fix premature free of returned Variant in vararg methods
...
Notably, this fixes obscure issues after calling `script.New()` when
the returned instance is a `RefCounted`.
2022-12-12 17:54:28 +01:00
Raul Santos
1a4c8856ec
C#: Rename SignalInfo to Signal and make awaitable
2022-12-12 17:30:14 +01:00