指导如何在 Project Graph 项目中创建新的设置项。当用户需要添加新的设置项、配置选项或需要了解设置系统的实现方式时使用此技能。
本技能指导如何在 Project Graph 项目中创建新的设置项。
创建新设置项需要完成以下 5 个步骤:
在 app/src/core/service/Settings.tsx 文件的 settingsSchema 对象中添加新的设置项定义。
支持的 Zod 类型:
z.boolean().default(false) - 布尔值开关z.number().min(x).max(y).default(z) - 数字(可添加 .int() 限制为整数)z.string().default("") - 字符串z.union([z.literal("option1"), z.literal("option2")]).default("option1") - 枚举选择z.tuple([z.number(), z.number(), z.number(), z.number()]).default([0,0,0,0]) - 元组(如颜色 RGBA)示例:
// 布尔值设置
enableNewFeature: z.boolean().default(false),
// 数字范围设置(带滑块)
newSliderValue: z.number().min(0).max(100).int().default(50),
// 枚举选择设置
newMode: z.union([z.literal("mode1"), z.literal("mode2")]).default("mode1"),
在 app/src/core/service/SettingsIcons.tsx 文件的 settingsIcons 对象中添加对应的图标。
步骤:
lucide-react 导入合适的图标组件settingsIcons 对象中添加映射:settingKey: IconComponent示例:
import { NewIcon } from "lucide-react";
export const settingsIcons = {
// ... 其他设置项
enableNewFeature: NewIcon,
};
在所有语言文件中添加翻译:
app/src/locales/zh_CN.yml - 简体中文app/src/locales/zh_TW.yml - 繁体中文app/src/locales/en.yml - 英文app/src/locales/zh_TWC.yml - 接地气繁体中文app/src/locales/id.yml - 印度尼西亚语翻译结构:
使用 Arthas 的 watch/trace 获取 EagleEye traceId / 获取请求的 traceId