mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 更新 meta-package 与安装入口,明确聚合范围、当前运行时基线和首页选包路径 - 补充 Game 配置工具文档与导航,把 VS Code config workflow 纳入 reader-facing 采用链路 - 修正文档与实现不一致的 source-generator 与 CQRS 契约说明,补充 support module 边界 - 记录 RP-038 批处理恢复点、委派结论和本轮验证结果
3.0 KiB
3.0 KiB
GFramework Config Tool
VS Code extension for the GFramework AI-First config workflow.
Purpose
This extension is the editor-side companion for the GFramework.Game config pipeline:
config/**/*.yamlschemas/**/*.schema.json- source-generated config types and tables
It is intended to speed up browsing, validation, lightweight form editing, and domain-level maintenance inside VS Code. It is not a replacement for the runtime or generator packages, and it does not attempt to be a full JSON Schema editor.
Recommended Workspace Layout
By default, the extension expects:
GameProject/
├─ config/
│ ├─ monster/
│ │ ├─ slime.yaml
│ │ └─ goblin.yaml
│ └─ item/
│ └─ potion.yaml
└─ schemas/
├─ monster.schema.json
└─ item.schema.json
What It Adds
Explorer View
- Browse config files from the workspace
config/directory - Group files by config domain
- Open matching schema files from
schemas/
File-Level Actions
- Open raw YAML
- Open the matching schema
- Open a lightweight form preview
Domain-Level Actions
- Batch edit one config domain across multiple files for top-level scalar and scalar-array fields
- Run validation across the current workspace config surface
Form / Validation Support
- Localize extension UI text in English and Simplified Chinese, including the form preview, prompts, and notifications
- Render existing YAML comments in the form preview and edit per-field YAML comments directly from the form
- Jump from reference fields to the referenced schema, config domain, or direct config file when a reference value is present
- Initialize empty config files from schema-derived example YAML
- Surface schema metadata such as
title,description,default,enum, andx-gframework-ref-tablein the lightweight editors
Validation Coverage
The extension currently validates the repository's stable config-schema subset:
- required properties in nested objects
- unknown properties in nested objects
- scalar compatibility for
integer,number,boolean, andstring - scalar arrays with scalar item type checks
- arrays of objects whose items use the same supported subset recursively
- scalar
enumconstraints and scalar-array itemenumconstraints
Workspace Settings
{
"gframeworkConfig.configPath": "config",
"gframeworkConfig.schemasPath": "schemas"
}
Current Constraints
- Multi-root workspaces use the first workspace folder
- Validation only covers the repository's current schema subset
- Form preview supports object-array editing, but nested object arrays inside array items still fall back to raw YAML
- Batch editing remains limited to top-level scalar fields and top-level scalar arrays
Local Testing
cd tools/gframework-config-tool
bun install
bun run test
Packaging And Publishing
cd tools/gframework-config-tool
bun install
bun run package:vsix
VSCE_PAT=your_marketplace_pat bun run publish:marketplace