mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +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>
|
||||
<Using Include="GFramework.SourceGenerators.Abstractions"/>
|
||||
<Using Include="GFramework.Core.SourceGenerators.Abstractions"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Update="Meziantou.Analyzer" Version="3.0.46">
|
||||
|
||||
@ -167,7 +167,7 @@ Config Schema 生成器会扫描 `*.schema.json` 文件,并生成:
|
||||
### 基础使用
|
||||
|
||||
```csharp
|
||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||
|
||||
[Log]
|
||||
public partial class PlayerController
|
||||
@ -246,7 +246,7 @@ public static partial class MathHelper
|
||||
|
||||
```csharp
|
||||
using GFramework.Core.Abstractions.Controller;
|
||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||
|
||||
[ContextAware]
|
||||
public partial class PlayerController : IController
|
||||
@ -354,8 +354,8 @@ public async Task TestPlayerController()
|
||||
|
||||
```csharp
|
||||
using GFramework.Core.Abstractions.Controller;
|
||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||
|
||||
[Log]
|
||||
[ContextAware]
|
||||
@ -381,7 +381,7 @@ public partial class AdvancedController : IController
|
||||
### 基础使用
|
||||
|
||||
```csharp
|
||||
using GFramework.SourceGenerators.Abstractions.Enums;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Enums;
|
||||
|
||||
[GenerateEnumExtensions]
|
||||
public enum GameState
|
||||
@ -560,7 +560,7 @@ AutoRegisterModule 生成器面向 GFramework 模块安装场景,为类上的
|
||||
### 基础示例
|
||||
|
||||
```csharp
|
||||
using GFramework.SourceGenerators.Abstractions.Architectures;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Architectures;
|
||||
|
||||
[AutoRegisterModule]
|
||||
[RegisterModel(typeof(RunStateModel))]
|
||||
@ -863,8 +863,8 @@ public class InefficientController : IController
|
||||
|
||||
```csharp
|
||||
using GFramework.Core.Abstractions.Controller;
|
||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||
|
||||
[Log]
|
||||
[ContextAware]
|
||||
@ -953,8 +953,8 @@ public enum CharacterState
|
||||
}
|
||||
|
||||
using GFramework.Core.Abstractions.Controller;
|
||||
using GFramework.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.SourceGenerators.Abstractions.Rule;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Logging;
|
||||
using GFramework.Core.SourceGenerators.Abstractions.Rule;
|
||||
|
||||
[Log]
|
||||
[ContextAware]
|
||||
@ -1235,7 +1235,7 @@ public partial class ServiceComponent : IService
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[GFramework.SourceGenerators] --> B[GFramework.SourceGenerators.Abstractions]
|
||||
A[GFramework.SourceGenerators] --> B[GFramework.Core.SourceGenerators.Abstractions]
|
||||
A --> C[GFramework.SourceGenerators.Common]
|
||||
A --> D[GFramework.Core.Abstractions]
|
||||
A --> E[Microsoft.CodeAnalysis.CSharp]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user