Commit Graph

791 Commits

Author SHA1 Message Date
Rémi Verschelde
85b2c947b2
Merge pull request #87518 from paulloz/dotnet/fix-warnings
Clean a number of C# warnings
2024-01-26 11:46:37 +01:00
Paul Joannon
46b3096570
Clean a bunch of C# warnings
- `[Obsolete]` tag generated in the middle of documentation comments
- Potential `null` values in generators
- Obsolete call to `GetEditorInterface()`
- We don't want `Godot.Collections.Array` to end with `Collection`
- A few culture specifications and use of `AsSpan` instead of `SubString` in `StringExtensions`
- Disable CA1716 in GodotSharp
2024-01-26 09:38:33 +01:00
Alberto Vilches
692412562d C#: Fix to allow usage of [MustBeVariant] in generic typed attributes 2024-01-21 22:29:29 +01:00
Yuri Sizov
c027aecc2e Merge pull request #86676 from rune-scape/sparse-script-reload
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Yuri Sizov
7351b5704a Merge pull request #86528 from avilches/must-be-variant-tests
Add unit tests for C# diagnostic analyzers
2024-01-17 18:52:45 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Alberto Vilches
7a90c56c00 C# Add test suite for Diagnostic Analyzers: GlobalClass and MustBeVariant 2024-01-15 11:31:12 +01:00
Rémi Verschelde
3dcf9059ae
Merge pull request #86454 from Repiteo/c#-upgrade-TFMs
C#: Upgrade TFM for `net472` and some `netstandard2.0` projects
2024-01-11 17:37:19 +01:00
Rémi Verschelde
ba96dbb49a
Merge pull request #85460 from van800/master
Bump the `JetBrains.Rider.PathLocator` PackageReference to 1.0.8
2024-01-11 17:36:04 +01:00
Rémi Verschelde
8a6debd71e
Merge pull request #86592 from emklasson/fix_gd0103_link
Fix typo in GD0103 error link
2024-01-10 12:03:29 +01:00
Thaddeus Crews
7a06390552
C#: Upgrade TFM for net472 and some netstandard2.0 projects 2024-01-06 09:14:33 -06:00
Rémi Verschelde
11d1844e66
Merge pull request #85869 from paulloz/dotnet-warning-out-of-date-properties
.NET: Add a warning in the inspector when properties might be out of sync
2024-01-03 15:43:41 +01:00
rune-scape
cde478bda6 Hot-reload only changed scripts 2024-01-02 17:56:52 -08:00
Mikael Klasson
a2b183067c fix: use correct number in GD0103 link 2023-12-27 20:30:59 +09:00
Paul Joannon
0818d015db
Inspector ⚠️ when C# props might be out of date 2023-12-22 23:27:13 +01:00
Yuri Sizov
c8d0325a93 Merge pull request #82955 from paulloz/testing-source-generators
Add unit tests for C# source generators
2023-12-19 20:32:26 +01:00
Paul Joannon
b352bdc8cb
Add tests for source generators
- Bootstrap xUnit project to test source generators
- Implement source generator tests
- Better tests structure (put test data in cs files)
- Enable `ScriptSerializationGeneratorTests`
- Enable `ScriptPathAttributeGeneratorTests`
- Fix `NesterClass` -> `NestedClass`
- Use `Path.Combine` when dealing with paths
- Copy test data to the output directory
2023-12-19 18:26:52 +01:00
Thaddeus Crews
a0db88335a
Implement function to throw on null pointers
• Specifically: checks if ptr == IntPtr.Zero
2023-12-17 08:52:20 -06:00
Rémi Verschelde
d76c1d0e51
Bump version to 4.3-dev
The essential doesn't change.

-- Samuel Beckett, Waiting for Godot
2023-11-29 23:00:27 +01:00
Ivan Shakhov
7f63f4a6bf bump the PackageReference "JetBrains.Rider.PathLocator" to 1.0.8 2023-11-28 11:13:30 +01:00
bruvzg
a92511fec3
[iOS] Fix dotnet export. 2023-11-16 15:05:44 +02:00
Yuri Sizov
b04b546092 Fix node names of submenu items across the editor
Also removes some programmer remarks and fixes some docs.
2023-11-08 14:42:42 +01:00
Rémi Verschelde
67941551ca
Merge pull request #83809 from raulsntos/dotnet/free-dialogs
C#: Free dialogs when exiting the editor
2023-10-30 16:26:15 +01:00
Rémi Verschelde
bf41c6bd34
Merge pull request #82918 from raulsntos/dotnet/only-node-can-export-node
C#: Report diagnostic for Node exports in a type that doesn't derive from Node
2023-10-27 11:36:33 +02:00
Rémi Verschelde
398b254f27
Merge pull request #83325 from raulsntos/dotnet/find-latest-sdk
C#: Fallback to the latest SDK
2023-10-24 10:54:04 +02:00
Raul Santos
48edcc3b34
C#: Free dialogs when exiting the editor 2023-10-23 02:10:06 +02:00
Raul Santos
fe078219fc
C#: Fix generated nested class order 2023-10-18 03:37:57 +02:00
Rémi Verschelde
ca09afd530
Merge pull request #80489 from raulsntos/dotnet/diagnostics
C#: Improve diagnostic messages and add help link
2023-10-17 23:59:17 +02:00
Raul Santos
aa4dba5b56
C#: Improve diagnostic messages and add help link
- Reword diagnostic messages.
- Add help link to diagnostics.
2023-10-17 19:45:09 +02:00
Raul Santos
be1dfd3b3a
C#: Allow exporting games without C#
When exporting a game that contains a C# solution, a feature is added so the exported game can check if it should initialize the .NET module. Otherwise, the module initialization is skipped so games without C# won't check for the assemblies and won't show alerts when they're missing.
2023-10-16 05:07:11 +02:00
Raul Santos
a186343abd
C#: Fallback to the latest SDK 2023-10-14 14:21:48 +02:00
Raul Santos
cea77d0b48
C#: Add checks to Android export
- Add .NET 7.0 TFM when the platform is Anroid to the created csproj.
- Prevent exporting to Android when the architecture is not supported.
2023-10-10 00:35:08 +02:00
Rémi Verschelde
4a5801b44a
Merge pull request #82729 from shana/shana/ios-csharp
Add C# iOS support
2023-10-09 23:23:11 +02:00
Andreia Gaita
ee9a735c26 Add C# iOS support
This support is experimental and requires .NET 8

Known issues:
- Requires macOS due to use of lipo and xcodebuild
- arm64 simulator templates are not currently included
  in the official packaging
2023-10-09 18:22:56 +02:00
Raul Santos
bfe1a93023
C#: Report diagnostic for Node exports in a type that doesn't derive from Node 2023-10-06 19:03:18 +02:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Yuri Sizov
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
Raul Santos
404fd0b2dc
Fix C# editor dialogs
- Use `EditorInterface` to open C# editor dialogs.
- Ensure C# editor dialogs are open after `EditorProgress` finishes.
2023-10-02 17:50:33 +02:00
Raul Santos
f19694a8d6
C#: Redesign MSBuild panel
- Redesign panel to look closer to the look of other Godot panels such as Output and Debugger.
- Moved list of problems and output log to separate tabs instead of using a HSplit.
- Added Tree/List layouts to the problems tab.
- Added search box to filter problems tab.
- Added `FileTree` icon, made from `FileList`. Both are used for the button that toggles the Tree/List layouts.
2023-09-27 02:53:27 +02:00
Rémi Verschelde
4410b0b0e1
Merge pull request #67304 from wscalf/master
Allow readonly and writeonly C# properties to be accessed from GDScript
2023-09-26 16:36:33 +02:00
Rémi Verschelde
017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
Rémi Verschelde
d65d379d22
Merge pull request #81802 from Nomad1/vs2022_mac_fix
Fixed VS 2022 Mac compatibility
2023-09-22 22:04:46 +02:00
Nomad1
a119365d4e Fixed VS 2022 Mac compatibility
Visual Studio 2022 on Mac marks the project as invalid if the project Guid is set. Easiest way to fix it is to remove outdated 'EnableGodotProjectTypeGuid' and other Guid references
2023-09-21 15:30:10 -02:30
Rémi Verschelde
5fd8506e19
Merge pull request #81847 from crazyStewie/dotnet_editor_project_fix
Implemented {project} placeholder for external dotnet editor
2023-09-20 18:55:13 +02:00
Rémi Verschelde
ce0fa4c691
Merge pull request #81783 from zaevi/fix-csharp-static-method
C#: make C# static methods accessible.
2023-09-20 18:55:10 +02:00
Zae
67e1373e5a C#: make C# static methods accessible. 2023-09-20 22:49:33 +08:00
crazyStewie
c01a47867b Implemented {project} placeholder for external dotnet editor
Implements the {project} placeholder, available when setting an external editor
in the project settings, via Editor > Editor Settings > Text Editor > External
for the c# external editor, under Editor > Editor Settings > Dotnet > Editor,

This allows passing the project folder as a command line argument when using a
custom external editor that isn't one of the available options.

Fixes #81845
2023-09-20 10:20:45 -03:00
Raul Santos
5f6082a96b
C#: Generate and use compat methods
- Implements `ClassDB::get_method_list_with_compatibility` to retrieve all methods from a class including compat methods.
- C# bindings generator now also generates compat methods.
- All generated C# methods now use `ClassDB::get_method_with_compatibility`.
2023-09-19 20:35:11 +02:00
Rémi Verschelde
793c382fa7
Merge pull request #81703 from Repiteo/c#-binding-warnings-to-editorconfig
C# - `bindings_generator` warnings to `.editorconfig`
2023-09-18 10:38:12 +02:00
Thaddeus Crews
e43b63ab98
C# - bindings_generator warnings to .editorconfig 2023-09-16 11:55:04 -05:00