
Trae AI 插件全称 TRAE AI: Coding Assistant,在 JetBrains 插件市场可直接搜索安装,支持 IntelliJ IDEA、PyCharm、Goland、WebStorm 等全系列 IDE,最低兼容版本 2022.3。
标准安装路径:
Ctrl+Alt+S)Trae AITRAE AI: Coding Assistant,点击 Install网络受限环境手动安装:
https://plugins.trae.ai/update-center.json插件安装包体积约 15MB,安装后本地缓存目录位于 ~/.trae/(Linux/macOS)或 %USERPROFILE%\.trae\(Windows),存放模型配置、规则文件和对话历史。
安装完成后需要登录激活,国内版支持手机号、微信、GitHub 三种登录方式。
激活流程:
许可证采用 OAuth 2.0 体系,本地存储路径为 ~/.config/TraeAI/license.dat,文件损坏时可通过菜单栏 Tools → Trae AI → Reload License 强制刷新。
配置入口:File → Settings → Tools → Trae AI
配置项 | 说明 | 推荐值 |
|---|---|---|
默认模型 | 对话和代码生成默认使用的模型 | Doubao-Seed-2.0-Code Beta |
代码补全开关 | 控制 CUE 自动补全是否启用 | 开启 |
补全触发延迟 | 输入停止后多少毫秒触发补全 | 300ms |
单行/多行补全 | 补全建议的最大长度 | 多行 |
自动导入 | 补全代码时自动添加 import | 开启 |
遥测数据 | 是否上传使用统计 | 按需关闭 |
个人经验:补全延迟不要低于 200ms,否则打字过程中频繁触发会干扰输入节奏;300-500ms 是手感最佳区间。
1.7.0.0 版本内置了 6 个厂商的 13 款模型,覆盖代码专用、通用推理、多模态三大类。这是 Trae 相比其他插件最大的优势——不需要分别申请各家 API Key,一个插件内无缝切换。
Doubao-Seed-2.0-Code Beta
Doubao-Seed-1.8
Doubao-Seed-Code
MiniMax-M2.7 Beta
MiniMax-M2.5
GLM-5.1 Beta
GLM-5V-Turbo Beta
GLM-5 Beta
DeepSeek-V4-Pro Beta
DeepSeek-V4-Flash Beta
Kimi-K2.6
Kimi-K2.5
Qwen3.6-Plus
不同场景选不同模型,不要一个模型用到死。这是我用了三个月总结出来的选型表:
开发场景 | 首选模型 | 备选模型 | 选型理由 |
|---|---|---|---|
Java 业务开发 | Doubao-Seed-2.0-Code Beta | GLM-5.1 Beta | 中文理解准,Spring 生态熟 |
算法/数据结构 | GLM-5.1 Beta | DeepSeek-V4-Pro Beta | 逻辑推理强,实现规范 |
疑难 Bug 排查 | DeepSeek-V4-Pro Beta | Kimi-K2.6 | 深度思考,根因分析到位 |
大型项目阅读 | MiniMax-M2.7 Beta | Kimi-K2.6 | 超长上下文,关联分析强 |
实时代码补全 | Doubao-Seed-Code | DeepSeek-V4-Flash Beta | 响应快,不卡输入 |
前端页面开发 | Doubao-Seed-2.0-Code Beta | Kimi-K2.6 | 视觉还原度高,样式规范 |
截图/图片转代码 | GLM-5V-Turbo Beta | - | 唯一内置多模态代码模型 |
生成文档/注释 | MiniMax-M2.5 | Qwen3.6-Plus | 格式规整,表述清晰 |
快速简单问答 | DeepSeek-V4-Flash Beta | Doubao-Seed-1.8 | 速度最快,节省等待时间 |
个人经验:日常编码时补全用轻量模型(Doubao-Seed-Code),对话问复杂问题时切换到重型模型(Doubao-Seed-2.0-Code 或 GLM-5.1)。插件支持对话过程中随时切换模型,不需要退出重开。
CUE(Context Understanding Engine)是 Trae 的代码补全引擎,也是日常编码最高频使用的功能。它不是简单的语法匹配,而是基于项目级上下文的语义预测。
换行触发:在代码行末尾按回车,AI 自动续写后续逻辑。这是最自然的触发方式,写代码的节奏不会被打断。
示例:输入到方法签名后回车
public UserDTO convertToDTO(User user) {
// 光标在这里回车,AI 自动补全转换逻辑
}
注释触发:写一行注释然后回车,AI 根据注释生成对应代码。这是最高效的用法,相当于用自然语言编程。
示例:
// 校验用户年龄是否满18岁,不满则抛出参数异常
// 回车后自动生成:
if (user.getAge() == null || user.getAge() < 18) {
throw new IllegalArgumentException("用户年龄必须满18岁");
}
1.7.0.0 新增的 Code Completion Pro 功能,快捷键 Ctrl+Shift+Enter(Windows)/ Control+Shift+Enter(macOS)。
普通补全是「续写接下来的代码」,Pro 模式是「预测你下一步要改什么」。比如你刚改完一个方法的参数,Pro 模式会自动找出所有调用该方法的地方并给出修改建议,相当于一步完成重构。
个人经验:做方法签名变更、字段重命名这类重构时,Pro 模式能省掉至少一半的查找修改工作,准确率在 85% 左右。
Tab:全部接受,一次性插入所有建议代码Ctrl + →:逐词接受,一个单词一个单词地确认,适合微调Esc:全部拒绝,清除补全建议很多人说 AI 补全不准,其实大部分是上下文给得不够。根据我的实测,补全准确率和以下因素正相关:
快捷键 Ctrl + U(Windows)/ Command + U(macOS)唤起右侧对话面板。这是 Trae 的交互主入口,所有复杂任务都在这里完成。
上下文引用:输入 # 号可以快速引用项目中的文件、类、方法、选中代码片段。这是 Trae 对话系统的核心设计——不是空泛聊天,而是基于真实代码上下文的精准问答。
常用引用语法:
#文件名:引用整个文件内容#类名:引用指定类的完整定义#selection:引用当前选中的代码块#error:引用控制台最近的报错信息#git diff:引用本次修改的代码差异示例对话输入:
#UserService.java 帮我检查这个类有没有线程安全问题
系统会自动把 UserService.java 的完整内容传入模型,然后基于真实代码给出分析。
多模态输入:支持直接粘贴截图,配合 GLM-5V-Turbo 模型可以做图片理解。比如截一张报错弹窗,直接贴进去问怎么解决。
代码差异预览:AI 返回的代码修改建议,会以 diff 形式展示,绿色新增、红色删除,和 IDEA 的 Git diff 观感一致。确认修改后点击「应用」直接写入文件,不需要手动复制粘贴。
对话面板顶部可以切换 Agent,不同 Agent 有不同的系统提示词和工具权限:
个人经验:日常改代码、问问题用 Chat 就够了;从零搭一个 Demo 项目用 Builder;复杂的全功能模块开发可以试试 SOLO,但要盯着过程,全自动容易跑偏。
选中代码后右键,Trae AI 菜单下提供了一组高频代码操作,不需要打开对话面板,一键完成。
功能 | 说明 | 适用场景 |
|---|---|---|
Generate Code | 基于选中内容生成代码 | 写一半的方法、注释转代码 |
Explain Code | 解释代码逻辑 | 读别人写的代码、复杂逻辑 |
Optimize Code | 优化代码结构和性能 | 代码审查、重构 |
Find Bugs | 检查代码缺陷和隐患 | 自测、代码审查 |
Generate Comments | 生成代码注释 | 补文档、提高可读性 |
Generate Unit Test | 生成单元测试用例 | 提测前补单测 |
Refactor | 代码重构建议 | 坏味道代码改造 |
Translate | 代码注释中英文互译 | 国际化项目 |
所有右键操作都会在弹窗内展示结果,可以直接预览并选择是否应用到编辑器。
选中方法或类,右键 → Trae AI → Generate Comments,自动生成 Javadoc 格式的注释。
生成质量:
个人经验:写业务代码时方法写完直接一键生成注释,比自己写快 5 倍,而且格式统一。复杂业务逻辑建议生成后人工补一下业务背景说明。
选中方法,右键 → Trae AI → Generate Unit Test,自动生成 JUnit 5 测试用例。
生成的单测包含:
实测表现:简单方法的单测生成质量很高,可以直接用;复杂业务逻辑生成的用例需要人工补充业务场景。建议作为单测草稿,再自己补业务用例。
Rules 是 Trae 最容易被忽略但价值最高的功能。简单说,Rules 就是你给 AI 定的规矩——代码风格、技术选型、安全规范、团队约定,全部写进规则里,AI 生成代码时会自动遵守。
规则分为两个层级:
冲突时项目规则优先级高于全局规则。
配置入口:设置 → Trae AI → Rules → 全局规则
直接在输入框里写规则,每条规则一行,支持自然语言描述。
推荐全局规则模板(Java 方向):
代码风格遵循阿里巴巴 Java 开发规范
变量和方法使用小驼峰命名,类名使用大驼峰
所有 public 方法必须有 JavaDoc 注释
异常处理禁止捕获后只打印不抛出
集合初始化时指定初始容量
使用 try-with-resources 处理可关闭资源
禁止使用 @Autowired 字段注入,必须使用构造器注入
日志使用 SLF4J + Logback,禁止 System.out.println
项目规则支持更丰富的语法,可以按文件类型匹配不同规则。在项目根目录创建 .trae/rules/ 目录,下面放 .md 格式的规则文件。
项目规则文件示例:
# 项目技术栈
- 后端框架:Spring Boot 3.2.x
- ORM 框架:MyBatis-Plus 3.5.x
- 数据库:MySQL 8.0
- 缓存:Redis + Spring Data Redis
- 工具类:Hutool 优先,其次 Guava
# 代码规范
- 所有 Controller 层返回统一 Result 包装类
- Service 层异常使用自定义业务异常,由全局异常处理器统一捕获
- DTO/VO 类必须实现 Serializable 接口
- 日期类型统一使用 LocalDateTime,禁止使用 Date
- 数值计算使用 BigDecimal,禁止使用 double/float
# 安全规范
- SQL 必须使用参数化查询,禁止字符串拼接
- 用户输入必须做参数校验,使用 Jakarta Validation
- 敏感信息日志必须脱敏
- 接口必须做权限校验
# 匹配规则
glob: **/*.java
alwaysApply: true
很多人写了规则但不确定有没有生效。教你一个验证方法:
在对话里问:「你现在遵循哪些代码规范?列出来我看看」,如果 AI 能复述出你写的规则,说明已经正确加载。
个人经验:规则不是写得越多越好,控制在 10-20 条核心规范最佳。写太多了 AI 记不住,反而都不遵守。重点抓那些违反了会出问题的硬约束,比如安全规范、技术栈选型,格式类的交给格式化工具就好。
内置 Agent 满足不了需求时,可以创建自定义 Agent。本质是定制系统提示词 + 指定工具集 + 绑定特定模型,打造专岗专用的 AI 助手。
系统提示词:
你是一名资深 Java 代码审查专家,严格按照阿里巴巴 Java 开发规范进行审查。
审查代码时重点关注:
1. 线程安全问题:并发场景下的竞态条件、死锁风险
2. 性能问题:N+1 查询、不必要的对象创建、循环内耗时操作
3. 安全问题:SQL 注入、XSS、敏感信息泄露、权限绕过
4. 资源泄露:流未关闭、连接未释放、线程池配置不当
5. 代码可读性:命名不规范、注释缺失、方法过长、嵌套过深
输出格式:
- 问题等级:严重/重要/建议
- 问题位置:具体到行
- 问题描述:说明是什么问题、为什么不好
- 修复建议:给出可以直接替换的修正代码
指定工具:Read, Glob, Grep推荐模型:DeepSeek-V4-Pro Beta
系统提示词:
你是 Java 性能优化专家,擅长分析代码瓶颈并给出优化方案。
分析时从以下维度入手:
- 时间复杂度:算法是否最优,有没有 O(n^2) 可以降为 O(n) 的场景
- 空间复杂度:有没有不必要的大对象、内存泄漏风险
- IO 操作:有没有可以批量的 IO、能不能异步化
- 数据库操作:有没有 N+1 查询、索引是否合理、能不能加缓存
- 并发优化:能不能并行化、锁粒度能不能减小
输出先给结论,再给具体优化点,每个优化点附修改前后的代码对比。
指定工具:Read, Bash推荐模型:DeepSeek-V4-Pro Beta
系统提示词:
你是数据库设计专家,基于 MySQL 8.0 进行表结构设计。
设计原则:
- 表名、字段名使用小写字母+下划线
- 所有表必须有主键 id、create_time、update_time、is_deleted
- 字符串字段合理设置长度,状态类字段用 tinyint
- 必须设置合理的索引,区分主键索引、唯一索引、普通索引
- 大表考虑分表策略
- 字段加注释,说明业务含义和枚举值
输出包含:建表 SQL、索引说明、设计思路三部分。
指定工具:Read推荐模型:GLM-5.1 Beta
个人经验:自定义 Agent 适合处理高频重复的专项任务,比如代码审查、单测编写、SQL 优化。每个 Agent 专注一件事,效果比通用对话好很多。我自己日常用得最多的是代码审查 Agent,提交代码前跑一遍,能拦住不少低级错误。
理论讲完了,上干货。下面是我日常开发中高频使用的 8 个实战场景,每个都附操作步骤和实际效果。
需求:有一张用户表,生成对应的实体类、Mapper、Service、Controller 全套代码。
操作步骤:
基于 MySQL 8.0 的用户表,生成 Spring Boot + MyBatis-Plus 的全套代码。
表结构:
- id bigint 主键
- username varchar(32) 用户名 唯一
- password varchar(64) 密码
- nickname varchar(64) 昵称
- phone varchar(16) 手机号
- email varchar(64) 邮箱
- status tinyint 状态 0禁用 1启用
- create_time datetime 创建时间
- update_time datetime 更新时间
- is_deleted tinyint 逻辑删除
要求:
- 实体类放在 entity 包
- Mapper 放在 mapper 包,继承 BaseMapper
- Service 接口放 service 包,实现类放 service/impl
- Controller 放 controller 包,提供增删改查接口
- 统一返回 Result 包装类
- 参数校验使用 Jakarta Validation
生成质量评估:
需求:给已有的 getUserById 方法加 Redis 缓存。
操作步骤:
生成效果示例:
@Override
public User getUserById(Long id) {
String cacheKey = "user:id:" + id;
User user = redisTemplate.opsForValue().get(cacheKey);
if (user != null) {
return user;
}
user = userMapper.selectById(id);
if (user != null) {
redisTemplate.opsForValue().set(cacheKey, user, 30, TimeUnit.MINUTES);
}
return user;
}
个人经验:这种模式化的改造,AI 生成质量非常高,几乎不用改。注意检查一下缓存 key 的命名规范和过期时间单位是否符合项目约定。
需求:控制台报 NullPointerException,定位并修复。
操作步骤:
#error 会自动带入最近的异常AI 输出内容通常包含:
个人经验:简单的 NPE 一眼就能看出来,但复杂调用链上的 NPE,AI 能帮你快速梳理调用关系,定位根因的速度比自己翻代码快很多。
需求:项目里所有 Date 类型替换成 LocalDateTime。
操作步骤:
扫描整个项目的 Java 文件,把所有 java.util.Date 类型替换为 java.time.LocalDateTime。
包括:
- 字段类型声明
- 方法参数和返回值
- 导入语句
- 相关的日期格式化代码
注意:
- Date 转 LocalDateTime 使用系统默认时区
- SimpleDateFormat 替换为 DateTimeFormatter
- 涉及 Date 的工具方法也要对应改造
个人经验:这种全项目范围的批量重构,AI 可以帮你找出所有改动点,但不建议全自动应用。一定要逐个文件 review,尤其是涉及业务计算的日期逻辑,时区、精度问题很容易出 Bug。
需求:给 Controller 生成 Swagger 注解和接口说明文档。
操作步骤:
生成效果:
@RestController
@RequestMapping("/api/users")
@Tag(name = "用户管理", description = "用户增删改查相关接口")
public class UserController {
@GetMapping("/{id}")
@Operation(summary = "根据ID查询用户", description = "通过用户ID获取用户详细信息")
@Parameter(name = "id", description = "用户ID", required = true)
public Result<UserVO> getUserById(@PathVariable Long id) {
// ...
}
}
需求:实现一个订单创建的业务方法,包含参数校验、库存扣减、优惠券核销、订单生成、积分增加一系列操作。
操作步骤:
/**
* 创建订单
* 1. 参数校验:商品、收货地址、优惠券合法性
* 2. 校验商品库存并扣减
* 3. 核销优惠券(如果使用了)
* 4. 生成订单和订单明细
* 5. 增加用户积分(按订单金额 1% 计算)
* 6. 整个操作在同一个事务中
* @param request 创建订单请求
* @return 订单ID
*/
public Long createOrder(CreateOrderRequest request) {
// 光标在这里回车,让 AI 补全
}
个人经验:业务越复杂,越要把注释写清楚。不要只写个方法名就让 AI 猜,业务逻辑的细节必须在注释里说明白。写注释的过程其实也是梳理需求的过程,注释写清楚了,生成的代码八九不离十。
需求:用策略模式重构一段 if-else 成堆的支付逻辑。
操作步骤:
重构后结构:
个人经验:AI 对设计模式的标准实现非常熟悉,只要说清楚模式名称,基本都能生成标准结构。重点是要告诉 AI 业务上下文,不然生成的就是教科书式的空架子,落不了地。
需求:提交代码前自己先做一轮审查,找出明显问题。
操作步骤:
#git diff 引用本次修改的所有代码个人经验:这是我每天提交代码前的固定流程。AI 不会累,不会放过低级错误,比如变量名拼错、忘记判空、异常吞掉这种问题,一抓一个准。别指望 AI 能发现深层业务问题,但基础的编码规范和明显缺陷,它查得比人仔细。
target/、generated/、.git/ 等目录,避免索引无用文件拖慢速度。排查顺序:
原因:模型输出格式不稳定,或者缩进、换行不符合项目规范。
解决:
Ctrl+Alt+L 格式化一下,很快原因:文件编码不是 UTF-8。
解决:
原因:引用了大文件或者大量文件,Prompt 组装耗时。
解决:
误区1:完全依赖 AI,自己不看代码AI 生成的代码正确率再高也不是 100%,业务逻辑必须自己过一遍。尤其是涉及金额、权限、并发的代码,出问题就是线上事故。AI 是工具,不是背锅侠。
误区2:提示词写得太简略只写「帮我写个用户登录接口」,生成的代码大概率不符合你的项目规范。技术栈、返回格式、异常处理、校验规则,写得越详细,生成质量越高。
误区3:什么都想用 AI 做简单的几行代码自己手写比调用 AI 快。AI 适合处理重复的、模式化的、需要记忆大量语法的工作。三五行代码还要喊 AI,纯属浪费时间。
误区4:一个模型用到死不同模型擅长的事情不一样。写业务用豆包,查问题用 DeepSeek,做算法用 GLM,看大项目用 MiniMax。灵活切换,效率翻倍。
我长期同时安装 3-4 款 AI 插件轮换用,各有优劣。简单对比一下,供选型参考:
对比项 | Trae AI 1.7.0 | GitHub Copilot | 通义灵码 | 讯飞智文 |
|---|---|---|---|---|
内置模型数量 | 13款 | 1款(GPT-4o) | 2款 | 3款 |
模型生态 | 国内主流全覆盖 | 仅 OpenAI | 仅通义 | 仅讯飞 |
Java 适配度 | 优秀 | 良好 | 良好 | 一般 |
代码补全速度 | 快 | 最快 | 较快 | 一般 |
对话能力 | 强 | 一般 | 良好 | 良好 |
自定义规则 | 支持(Rules) | 不支持 | 有限支持 | 不支持 |
自定义 Agent | 支持 | 不支持 | 不支持 | 不支持 |
多模态支持 | 支持 | 支持 | 支持 | 不支持 |
国内访问稳定性 | 优秀 | 一般 | 优秀 | 优秀 |
免费额度 | 有 | 无(付费) | 有免费版 | 有免费版 |
总结一下:
Trae AI 1.7.0.0 这个版本,最核心的价值不是某一个功能有多强,而是「全」——模型全、功能全、场景全。一个插件里集齐国内主流大模型,从代码补全到对话开发,从规则定制到自定义 Agent,日常开发的 AI 需求基本都能覆盖,不用在多个工具之间来回切。
最后给几条实操建议:
AI 编程工具发展到今天,已经从「玩具」变成了「生产力工具」。用得好的人,效率提升是实打实的。但工具终究是工具,真正决定代码质量的,还是背后那个人的技术功底和工程思维。AI 帮你省下来的时间,建议多花在架构设计、业务理解和技术深度上——这些才是不可替代的核心竞争力。