summaryrefslogtreecommitdiffstats
path: root/modules/mono/editor
Commit message (Collapse)AuthorAgeFilesLines
...
| * C#: Make internal properties and property accessors public (but hidden)Raul Santos2024-03-292-8/+34
| | | | | | | | | | | | Instead of making the accessors `internal` which can break binary compat, make them `public` but hide them with EB never so they don't show up in IntelliSense. Also, do the same for properties with the `PROPERTY_USAGE_INTERNAL` flag. These properties were not meant to be exposed to scripting, but since they've been public before all we can do now is hide them.
* | [.NET] Disable output embedding on macOS, move it to the advanced options on ↵bruvzg2024-04-091-1/+1
| | | | | | | | other platforms.
* | Show errors when solution file is missing in C# projectNông Văn Tình2024-04-071-0/+7
| | | | | | | | | | | | Fixes: #86591 Co-authored-by: Raul Santos <raulsntos@gmail.com>
* | Fixed "Create C# solution" dialogAyOhEe2024-04-011-2/+2
|/ | | Flipped the title and dialog text to how they should be. It seemed that the title was being put in the dialog text, and vice versa.
* Add property UsingGodotNETSdk to Godot.NET.SdkJason Hunter2024-03-181-0/+2
| | | | | | | | | | | The Godot.NET.Sdk (for C# use) should define the property `UsingGodotNETSdk` in its [SDK.props](https://github.com/godotengine/godot/blob/a07dd0d6a520723c4838fb4b65461a16b7a50f90/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props). ## Why Defining this property allows shared build configuration (e.g. Directory.Build.targets or other imported msbuild files) to detect deterministically when they are operating within the scope of a project controlled by Godot.NET.Sdk. This enables shared build configuration that may span many different projects within a folder to have Godot.NET.Sdk-specific configuration that only applies to Godot projects. ## Why named UsingGodotNETSdk This naming scheme is common practice in Microsoft Dotnet SDKs. For example, the property `UsingMicrosoftNETSdk` is defined by the default SDK, `UsingMicrosoftTraversalSdk` is defined by [Microsoft.Build.Traversal](https://github.com/microsoft/MSBuildSdks/blob/363532de5b406c9afc6e6ff0f276431c27b11347/src/Traversal/Sdk/Sdk.props#L10), `UsingMicrosoftNoTargetsSdk` by [Microsoft.Build.NoTargets](https://github.com/microsoft/MSBuildSdks/blob/363532de5b406c9afc6e6ff0f276431c27b11347/src/NoTargets/Sdk/Sdk.props#L10), and so on. The property `UsingMicrosoftNETSdk` is even used in the implementation of Godot.NET.Sdk for conditional logic of the type predicted here. Note that these "Using*" properties are _additive_ in the sense that more than one can be defined for a given project (as SDKs can effectively be built upon other SDKs, using them as components). So, it is normal and appropriate for both `UsingMicrosoftNETSdk` and `UsingGodotNETSdk` to be simultaneously defined within the same project.
* clang-tidy: Enforce `modernize-use-nullptr`Thaddeus Crews2024-03-121-1/+1
|
* C#: Fix warningsPaul Joannon2024-03-091-0/+18
| | | | | - Fix most CS0108 in generated glue - Suppress CA1001 on `Variant`
* Merge pull request #89007 from ↵Rémi Verschelde2024-03-045-1/+105
|\ | | | | | | | | | | paulloz/dotnet/fix-interpolated-string-scriptpropertydefval [.NET] Fix interpolated strings in ScriptPropertyDefVal
| * Fix interpolated strings in ScriptPropertyDefValPaul Joannon2024-03-015-1/+105
| |
* | Merge pull request #85153 from Repiteo/scons-improve-logsRémi Verschelde2024-03-041-1/+1
|\ \ | | | | | | | | | SCons: Add two new `COMSTR` environment variables
| * | Add two new COMSTR environment variablesThaddeus Crews2024-03-011-1/+1
| |/
* | Merge pull request #83504 from Repiteo/c#-generator-langword-checkRémi Verschelde2024-03-041-4/+21
|\ \ | |/ |/| | | C#: Bindings generator langword check
| * C# - bindings generator langword checkThaddeus Crews2023-10-171-4/+21
| |
* | Merge pull request #88570 from paulloz/dotnet/warnings-editorconfig-cleanupRémi Verschelde2024-02-2741-1568/+1569
|\ \ | | | | | | | | | [.NET] Better `.editorconfig` setup in `modules/mono/`
| * | Cleanup C# projects, code quality & stylePaul Joannon2024-02-2741-1568/+1569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New rules: - Do not silence CA1805 any more - Limit where we silence CA1707, CA1711, CA1720 - Enforce severity=warning for IDE0040 - Enforce Allman style braces - Enforce naming conventions (IDE1006 is still severity=suggestion) Fixes: - Fix REFL045, CS1572, CS1573 - Suppress CS0618 when generating `InvokeGodotClassMethod` - Fix indent when generating GD_constants.cs - Temporarily silence CS1734 in generated code - Fix a lot of naming rule violations Misc.: - Remove ReSharper comments for RedundantNameQualifier - Remove suppression attributes for RedundantNameQualifier - Remove severity=warnings for CA1716, CA1304 (already included in the level of analysis we run)
* | | C#: Only check for empty deprecation message if deprecatedThaddeus Crews2024-02-271-6/+6
| | |
* | | Merge pull request #88652 from RobProductions/fix-hover-marginRémi Verschelde2024-02-271-0/+1
|\ \ \ | |/ / |/| | | | | Fix editor hover style margins when Draw Extra Borders is enabled
| * | Fix hover style margin with extra borders enabledMatt Enad2024-02-211-0/+1
| | | | | | | | | | | | The content margins for FlatMenuButton and RunBarButton are now handled correctly when the "Draw Extra Borders" user option is enabled
* | | C#: Add deprecated message to generated bindingsRaul Santos2024-02-232-39/+653
|/ / | | | | | | Uses the `DocData` deprecated message in the C# `[Obsolete]` attribute added to deprecated members.
* | Merge pull request #87253 from van800/van800/analyserRémi Verschelde2024-02-2115-77/+231
|\ \ | | | | | | | | | Provide a roslyn analyzers corresponding to the GD0001 and GD0002
| * | provide analyser corresponding to the GD0001 and GD0002, add ↵Ivan Shakhov2024-02-2115-77/+231
| | | | | | | | | | | | | | | | | | | | | ClassPartialModifierAnalyzerFix, and tests Co-authored-by: Raul Santos <raulsntos@gmail.com> Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
* | | Merge pull request #88495 from paulloz/dotnet/test-and-fix-exports-diagnosticsRémi Verschelde2024-02-2119-9/+242
|\ \ \ | | | | | | | | [.NET] Test and fix exports diagnostics
| * | | Add tests and fix exports diagnosticsPaul Joannon2024-02-2019-9/+242
| | | | | | | | | | | | | | | | | | | | | | | | - Add tests for the following diagnostics: GD0101, GD0102, GD0103, GD0104, GD0105, GD0106, GD0107. - Fix GD0101 not being reported any more (was filtering static classes before reporting). - Fix GD0107 not preventing `Node` members from being exported from not-`Node` types.
* | | | Merge pull request #80343 from raulsntos/dotnet/warnings/RS2008Rémi Verschelde2024-02-203-0/+40
|\ \ \ \ | | | | | | | | | | | | | | | C#: Add analyzer release tracking
| * | | | C#: Add analyzer release trackingRaul Santos2024-02-193-0/+40
| | |/ / | |/| | | | | | | | | | Fixes diagnostic RS2008.
* | | | Merge pull request #87133 from Repiteo/dotnet/enforce-globalization-rulesRémi Verschelde2024-02-2011-51/+55
|\ \ \ \ | | | | | | | | | | C#: Enforce globalization code quality rules
| * | | | C#: Enforce Globalization code quality rulesThaddeus Crews2024-02-2011-51/+55
| | | | |
* | | | | Merge pull request #86378 from RobProductions/update-hover-stylingRémi Verschelde2024-02-201-1/+1
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | Add hover highlight to main editor buttons
| * | | | Add hover highlight to main editor buttonsMatt Enad2024-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | Updates styling of the editor run bar, plugin, bottom panel, icon buttons, and main menu buttons for accessibility.
* | | | | Bump Rider.PathLocator nuget version, which provides a fix for detecting ↵Ivan Shakhov2024-02-191-1/+1
| |_|/ / |/| | | | | | | | | | | Rider installations
* | | | C#: Various fixes to generic scriptsRaul Santos2024-02-1912-28/+126
| | | | | | | | | | | | | | | | | | | | | | | | - Report a diagnostic when there are multiple classes that match the script file name in the same script since that will result in a duplicate path key in the bimap and it's not allowed. - Fix InspectorPlugin to handle empty paths in case the project was built with a previous version of Godot that used empty paths for generic scripts. - Add tests for the new diagnostic GD0003.
* | | | Merge pull request #88469 from paulloz/dotnet/cleaner-diagnostic-rulesRémi Verschelde2024-02-1911-430/+267
|\ \ \ \ | | | | | | | | | | | | | | | [.NET] Clean diagnostic rules
| * | | | Clean diagnostic rulesPaul Joannon2024-02-1811-430/+267
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Move the following diagnostics into static readonly fields: GD0101, GD0102, GD0103, GD0104, GD0105, GD0106, GD0107, GD0201, GD0202, GD0203, GD0301, GD0302, GD0303, GD0401, GD0402. To be more consistent, the titles for the following diagnostics were modified: GD0101, GD0105, GD0106, GD0302, GD0303, GD0401, GD0402. A subsequent update of the documentation repo is needed. Tests for the following diagnostics were created: GD0201, GD0202, GD0203.
* / | | C#: Fix building OpenVisualStudio executableRaul Santos2024-02-181-0/+3
|/ / / | | | | | | | | | Since moving the TFM to .NET Core we need to add some configuration to cross-compile a Windows executable from Linux.
* | | Merge pull request #87137 from /dotnet/nullable-godot-toolsRémi Verschelde2024-02-1747-194/+349
|\ \ \
| * | | C#: Enable nullable environment for `GodotTools`Thaddeus Crews2024-02-1347-194/+349
| | | |
* | | | C#: Use SymbolEqualityComparerRaul Santos2024-02-141-2/+2
| |/ / |/| | | | | | | | Use `SymbolEqualityComparer` to compare symbols and fix `RS1024` warning.
* | | Merge pull request #88238 from shana/cs-export-fix-output-filesRémi Verschelde2024-02-121-4/+4
|\ \ \ | | | | | | | | | | | | C#: Fix processing exclusions during export
| * | | Fix processing exclusions during exportAndreia Gaita2024-02-121-4/+4
| | | |
* | | | Improve handling of generic C# typesRaul Santos2024-02-082-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Create CSharpScript for generic C# types. - `ScriptPathAttributeGenerator` registers the path for the generic type definition. - `ScriptManagerBridge` lookup uses the generic type definition that was registered by the generator. - Constructed generic types use a virtual `csharp://` path so they can be registered in the map and loaded as if there was a different file for each constructed type, even though they all share the same real path. - This allows getting the base type for a C# type that derives from a generic type. - Shows base scripts in the _Add Node_ and _Create Resource_ dialogs even when they are generic types. - `get_global_class_name` implementation was moved to C# and now always returns the base type even if the script is not a global class (this behavior matches GDScript). - Create `CSharpScript::TypeInfo` struct to hold all the type information about the C# type that corresponds to the `CSharpScript`, and use it as the parameter in `UpdateScriptClassInfo` to avoid adding more parameters.
* | | | Fix C# "out of sync" notice with external editorsPaul Joannon2024-02-075-23/+29
| | | | | | | | | | | | | | | | | | | | Change what triggers our re-evaluation of the last valid build datetime stored internally. Move that datetime in `BuildManager`.
* | | | Merge pull request #84640 from aaronfranke/gravity-getRémi Verschelde2024-02-052-8/+10
|\ \ \ \ | | | | | | | | | | | | | | | Expose a method to get gravity for any physics body
| * | | | Expose a method to get gravity for any physics bodyAaron Franke2024-01-302-8/+10
| | |/ / | |/| |
* / | | Fix incorrect condition for error filteringNông Văn Tình2024-01-311-8/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | Fixes: #87643 The original condition stopped immediately after checking for 'searchText' in the 'Message' field, resulting in premature termination of subsequent checks. This fix ensures that all relevant conditions are appropriately evaluated before determining the filtering outcome. Additionally, accompanying changes include improved code readability for better comprehension. This adjustment enhances the maintainability of the error filtering mechanism, contributing to a more robust codebase overall.
* | | Merge pull request #87679 from raulsntos/dotnet/remove-unusedRémi Verschelde2024-01-303-657/+0
|\ \ \ | | | | | | | | | | | | C#: Remove unused code
| * | | C#: Remove unused codeRaul Santos2024-01-283-657/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove `AotBuilder` that was used for MonoAOT in 3.x. - Remove `PlaySettings` that was used for IDE support in 3.x. - Remove `ApiAssembliesInfo` that was used for Project generation in 3.x. - Remove pieces of the old iOS support from 3.x.
* | | | Merge pull request #87526 from zaevi/fix_csharp_gcRémi Verschelde2024-01-261-3/+7
|\ \ \ \ | | | | | | | | | | | | | | | C#: Fix incorrect GC handle for non-instantiable types.
| * | | | C#: Fix incorrect GC handle for non-instantiable types.Zae2024-01-251-3/+7
| |/ / /
* | | | Merge pull request #87518 from paulloz/dotnet/fix-warningsRémi Verschelde2024-01-268-13/+33
|\ \ \ \ | | | | | | | | | | | | | | | Clean a number of C# warnings
| * | | | Clean a bunch of C# warningsPaul Joannon2024-01-268-13/+33
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `[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