codecamp

TRAE IDE 规则设置:个性化 AI 助手行为,提升开发体验

你可以通过制定规则来规范 AI 在 TRAE IDE 内的行为,包括代码风格、语言与框架、交互方式等,使 AI 的输出更符合你的个人偏好和项目要求。

应用场景

规则的主要应用场景如下:

  • 提升效率

将个人经验和项目要求转化为可复用的规则,一次配置可长期生效,减少与 AI 的沟通成本以及人工审校时间。

  • 统一标准

将团队规范、项目标准结构化为规则,使所有成员所负责的内容在风格、结构和质量上保持一致,避免偏差。

  • 保障质量

让 AI 明确项目的核心约束(架构设计、命名规范、代码风格等),避免常见错误。

规则类型

你可以配置两类规则:个人规则、项目规则。

规则类型 说明
个人规则 个人规则是基于个人使用习惯和需求为 AI 定制的规则,旨在让 AI 的输出更符合用户的个性化要求。个人规则在所有项目中生效。
以下为应用场景示例: 
· 语言风格:偏好简洁/严谨/幽默等表达方式。 
· 操作系统:提供针对 Windows 或 macOS 操作系统的回答。 
· 内容深度:是否需要详细解释、示例或仅需结论。 
· 交互方式:如倾向于直接答案,还是引导式提问。
项目规则 项目规则是针对当前项目 AI 需要遵循的规则,仅在所配置的项目中生效。
以下为应用场景示例: 
· 代码风格:缩进(空格/制表符)、命名规范(驼峰式/snake_case)等。 
· 语言与框架:优先使用的编程语言(如 Python/JavaScript)或框架(如 React/Django)。 
· API 限定:勿使用某些 API。

创建个人规则

根据个人习惯,创建一条或多条个人规则。AI 会在所有项目中遵守你创建的个人规则。

  1. 在 IDE 模式界面中,点击界面右上角的 设置 图标,进入设置中心。

    在 SOLO 模式界面中,点击对话面板右上角的 设置 图标,进入设置中心。

  2. 在左侧导航栏中,选择 规则和技能 ,进入 规则和技能 面板。

  3. 个人规则 部分,点击 + 创建 按钮。

  4. 在规则输入框中,输入一条个人规则,然后点击 保存 按钮。
    你所添加的个人规则将以列表的形式被展示:

创建项目规则

项目规则使用 Markdown 语法编写,规则文件位于项目的 .trae/rules 目录,仅在其被创建的项目中生效。

在创建项目规则时,你可以指定规则的生效方式。根据生效方式的不同,系统会自动修改规则的 alwaysApply 属性,你还需要根据生效方式为规则配置 descriptionglobs 属性。

创建项目规则的步骤如下:

  1. 打开一个项目。
  2. 在 IDE 模式界面中,点击界面右上角的 设置 图标,进入设置中心。

    在 SOLO 模式界面中,点击对话面板右上角的 设置 图标,进入设置中心。

  3. 在左侧导航栏中,选择 规则和技能,进入 规则和技能 面板。
  4. 项目规则 区域,点击 + 创建 按钮。
  5. 创建项目规则 弹窗中,输入规则名称,然后点击 确认 按钮。

    系统自动在该项目的目录中创建 .trae/rules 文件夹,在该文件夹内创建你所命名的规则文件,并在编辑器中打开该规则文件的编辑窗口。

  6. 设置规则的 生效方式

    生效方式 描述
    始终生效 该规则在当前项目下的所有 AI 对话中生效。
    指定文件生效 该规则仅在匹配到 globs 字段中指定的文件时生效。当你在对话输入框中提及的文件与 globs 设置匹配时,该规则会自动生效。
    智能生效 根据你在 description 字段中为该规则添加的适用场景,由 AI 在对话中判断相关性并决定是否使用该规则。
    手动触发生效 仅当在对话中使用 #Rule 提及某个规则时,该规则才生效。

  7. 根据规则的生效方式,在表单中设置相关属性。

    生效方式 属性设置
    始终生效 下方的 alwaysApply 字段已被自动设置为 true
    指定文件生效 · alwaysApply 字段已被自动设置为 false。 
    · 在 文件匹配模式 处,使用通配符指定规则所作用的文件(例如 *.jssrc/**/*.ts),可以配置多个通配符,中间用 , 分隔。该设置会被自动同步至下方的 globs 字段。
    智能生效 · alwaysApply 字段已被自动设置为 false。 
    · 在 描述 处,填写该规则的适用场景,例如:编写 React 组件的测试代码时,使用该规则。 该设置会被自动同步至下方的 description 字段。
    手动触发生效 下方的 alwaysApply 字段已被自动设置为 false

  8. 在 --- 下方,使用 Markdown 语法添加规则的内容。
  9. 点击 保存 按钮。

在对话中引用规则

  • 对于 “始终生效” 类型的规则,每个对话中都会默认引用,且会在对话输入框左上角展示。

  • 对于 “手动触发生效” 类型的规则,需在对话输入框中通过 #Rule 来引用。

    💡提示
    规则引用方式中,#Rule 的优先级最高。对于生效方式为 “ ” 或 ” “ 的项目规则,若你在对话中通过 #Rule 提及这些规则,AI 也会在本次对话中使用它们。

编辑/删除规则

  1. 在设置中心的 规则 列表中,找到目标规则。
  2. 点右侧的 设置 图标。
  3. 在菜单中选择 编辑删除

  4. 完成相应操作。

最佳实践

  • 控制单条规则的内容粒度,避免在一条规则中包含过多信息,使其保持清晰、聚焦、易于理解。
  • 各条规则之间不得彼此冲突或相互覆盖。
  • 在指定文件路径时,使用相对于项目根目录的相对路径,以确保 AI 能准确定位文件。
  • 引用规则时,优先选择与当前对话或任务强相关的规则。
  • 新建或修改规则后,建议开启全新的对话再使用,以避免历史上下文与新规则产生冲突。
  • 若项目中已有大量不符合规范的代码,模型可能会沿用现有代码风格而非遵循新规则。此时建议:
    • 明确向模型说明当前任务为“重构”;
    • 在特定场景中强制要求 AI 严格遵循新规则;
    • 启动专门的重构项目,逐步提升整体代码质量。

示例

基础交互 通用编码 重构 代码可读性 性能优化
· 所有回答都使用中文表述。
· 如需提供代码,为关键逻辑和可能造成理解困难的部分添加简明的中文注释。
· 当生成的代码超过 20 行时,优先考虑是否可以进行适当的抽象或聚合。
· 避免不必要的对象复制或克隆。
· 避免多层嵌套,提前返回。
· 使用适当的并发控制机制。
1. 小步重构:
 · 每次只做一个小改动,然后测试。
 · 频繁提交,保持代码随时可工作。
2. 测试保障:
 · 重构前确保有足够的测试。
 · 每次修改后运行测试,确保行为不变。
3. 代码审查:
 · 重构后进行代码审查,确保质量。
1. 命名约定:
 · 使用有意义的、描述性的名称。
 · 遵循项目或语言的命名规范。
 · 避免缩写和单字母变量(除非是约定俗成的,如循环中的 i)。
2. 代码组织:
 · 相关代码放在一起。
 · 函数只做一件事。
 · 保持适当的抽象层次。
3. 注释与文档:
 · 注释应该解释为什么,而不是做什么。
 · 为公共 API 提供清晰的文档。
 · 更新注释以反映代码变化。
1. 内存优化:
 · 避免不必要的对象创建。
 · 及时释放不再需要的资源。
 · 注意内存泄漏问题。
2. 计算优化:
 · 避免重复计算。
 · 使用适当的数据结构和算法。
 · 延迟计算直到必要时。
3. 并行优化:
 · 识别可并行化的任务。
 · 避免不必要的同步。
 · 注意线程安全问题。
TRAE SOLO 技能
TRAE 上下文记忆
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }