mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-13 06:04:30 +08:00
docs(source-generators): 添加源代码生成器文档和抽象包项目
- 新增完整的 GFramework.SourceGenerators 文档,涵盖所有生成器功能 - 添加 Log 属性生成器、ContextAware 属性生成器、Config Schema 生成器等详细说明 - 包含 Godot 专用生成器如 GetNode、BindNodeSignal、AutoUiPage 等使用指南 - 提供诊断信息、性能优势、使用示例和最佳实践章节 - 创建 Core.SourceGenerators.Abstractions 项目文件和配置 - 集成 Meziantou.Analyzer 和 Meziantou.Polyfill 包引用 - 配置项目构建属性和命名空间引入设置
This commit is contained in:
parent
0cf4945e78
commit
9f9a421b6c
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<!-- 引入必要的命名空间 -->
|
<!-- 引入必要的命名空间 -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Using Include="GFramework.SourceGenerators.Abstractions"/>
|
<Using Include="GFramework.Core.SourceGenerators.Abstractions"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Update="Meziantou.Analyzer" Version="3.0.46">
|
<PackageReference Update="Meziantou.Analyzer" Version="3.0.46">
|
||||||
|
|||||||
@ -167,7 +167,7 @@ Config Schema 生成器会扫描 `*.schema.json` 文件,并生成:
|
|||||||
### 基础使用
|
### 基础使用
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||||
|
|
||||||
[Log]
|
[Log]
|
||||||
public partial class PlayerController
|
public partial class PlayerController
|
||||||
@ -246,7 +246,7 @@ public static partial class MathHelper
|
|||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.Core.Abstractions.Controller;
|
using GFramework.Core.Abstractions.Controller;
|
||||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||||
|
|
||||||
[ContextAware]
|
[ContextAware]
|
||||||
public partial class PlayerController : IController
|
public partial class PlayerController : IController
|
||||||
@ -354,8 +354,8 @@ public async Task TestPlayerController()
|
|||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.Core.Abstractions.Controller;
|
using GFramework.Core.Abstractions.Controller;
|
||||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||||
|
|
||||||
[Log]
|
[Log]
|
||||||
[ContextAware]
|
[ContextAware]
|
||||||
@ -381,7 +381,7 @@ public partial class AdvancedController : IController
|
|||||||
### 基础使用
|
### 基础使用
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.SourceGenerators.Abstractions.Enums;
|
using GFramework.Core.SourceGenerators.Abstractions.Enums;
|
||||||
|
|
||||||
[GenerateEnumExtensions]
|
[GenerateEnumExtensions]
|
||||||
public enum GameState
|
public enum GameState
|
||||||
@ -560,7 +560,7 @@ AutoRegisterModule 生成器面向 GFramework 模块安装场景,为类上的
|
|||||||
### 基础示例
|
### 基础示例
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.SourceGenerators.Abstractions.Architectures;
|
using GFramework.Core.SourceGenerators.Abstractions.Architectures;
|
||||||
|
|
||||||
[AutoRegisterModule]
|
[AutoRegisterModule]
|
||||||
[RegisterModel(typeof(RunStateModel))]
|
[RegisterModel(typeof(RunStateModel))]
|
||||||
@ -863,8 +863,8 @@ public class InefficientController : IController
|
|||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
using GFramework.Core.Abstractions.Controller;
|
using GFramework.Core.Abstractions.Controller;
|
||||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||||
|
|
||||||
[Log]
|
[Log]
|
||||||
[ContextAware]
|
[ContextAware]
|
||||||
@ -953,8 +953,8 @@ public enum CharacterState
|
|||||||
}
|
}
|
||||||
|
|
||||||
using GFramework.Core.Abstractions.Controller;
|
using GFramework.Core.Abstractions.Controller;
|
||||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||||
|
|
||||||
[Log]
|
[Log]
|
||||||
[ContextAware]
|
[ContextAware]
|
||||||
@ -1235,7 +1235,7 @@ public partial class ServiceComponent : IService
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph TD
|
graph TD
|
||||||
A[GFramework.SourceGenerators] --> B[GFramework.SourceGenerators.Abstractions]
|
A[GFramework.SourceGenerators] --> B[GFramework.Core.SourceGenerators.Abstractions]
|
||||||
A --> C[GFramework.SourceGenerators.Common]
|
A --> C[GFramework.SourceGenerators.Common]
|
||||||
A --> D[GFramework.Core.Abstractions]
|
A --> D[GFramework.Core.Abstractions]
|
||||||
A --> E[Microsoft.CodeAnalysis.CSharp]
|
A --> E[Microsoft.CodeAnalysis.CSharp]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user