面向AI编程新范式Trae后端开发环境搭建与实践

文章目录

写在文章开头

这是笔者打算新写的一个系列的文章------面向AI编程,关于ai编程这个话题,笔者查阅了市面上各大网站和书籍,基本都是面向前端开发,对于更加强调设计且需要串联复杂数据流的后端开发并没有很好的引导,遂笔者打算专门写这样一个系列,希望能给主流后端开发程序员一些灵感。

考虑到教程的普适性以及让读者着重了解AI编程的思想理念,笔者选择了国内评价相对较好的且相对易于上手的trae,而本文将作为整个教程系列的引子,将以两个比较经典的后端项目快速指导读者搭建trae ide的后端开发环境和AI编程技巧的入门。

你好,我是 SharkChili ,禅与计算机程序设计艺术布道者,希望我的理念对您有所启发。

📝 我的公众号:写代码的SharkChili

在这里,我会分享技术干货、编程思考与开源项目实践。

🚀 我的开源项目:mini-redis

一个用于教学理解的 Redis 精简实现,欢迎 Star & Contribute:
https://github.com/shark-ctrl/mini-redis

👥 欢迎加入读者群

关注公众号,回复 【加群】 即可获取联系方式,期待与你交流技术、共同成长!

基础配置讲解

下载并安装配置Trae

第一步自然是到官网下载安装Trae,对应下载地址为:https://www.trae.cn/

完成下载安装后,读者可以按需完成:

  1. 语言配置:因为习惯的原因,且一直以来遵循"英文更容易在搜索引擎检索答案"的准则,所以配置环境时一般都会采用英文
  2. 配色选择:因为之前使用 VS Code 的时候基本都是使用深色,所以笔者在初始化配置也是选择了暗色

按照官网的说法,Trae 是作为 VS Code 的扩展的AI编程工具,所以对于 VS Code 的配置都是可以直接继承导入的,因为笔者之前通过 VS Code 搭建redis等C语言调测环境,为了方便笔者这里直接按照初始化配置的提示点击import from vs code导入基础配置信息:

vscode类似,Trae同样支持通过命令行唤起,如下初始化界面提示,选择install Trae Command,后续我们就可以通过命令终端输入trae 打开Trae IDE

安装配置验收

从上文的介绍可知,笔者在完成Trae的下载安装后完成:

  1. 语言与IDE配色配置
  2. vs code既有配置导入
  3. Trae环境变量配置

对此笔者也针对上述小点进行逐一验收和介绍,首先是环境变量的配置验收,按照初始化配置时的提示,我们已经完成的Trae命令行的配置,对应我们可以键入trae --version查看版本信息已确认环境变量配置的准确性。

以笔者的笔记本为例,输出结果如下,由此可知笔者trae Command安装是正确的,后续我们就可以直接通过trae命令唤起Trae IDE:

接下来就是存量环境配置的验收,因为笔者之前一直通过vscode调测理解redis源码,按照Trae的提示,正常情况下Trae也是可以正常跑通并运行redis源码。

和vscode操作基本类似,完成项目导入后,直接点击debug选择开始调试:

可以看到程序很顺利编译通过并以调试模式顺利断点执行,由此可知我们的Trae IDE很好的完成了基本的环境变量配置和存量配置导入:

关闭提示音

默认情况下,我们和Trae AI进行chat交流的时候会有提示音,所以笔者建议初始设置阶段直接将声明关闭, 对应操作步骤为:

  1. 点击preference找到settings选项
  2. 点击settings搜索sounds
  3. Signal Options: Volume对应The volume of the sounds in percent (0-100).设置为0

对应笔者也给出Trae进入设置选项的操作界面,读者也可以根据settings选项右边的提示快捷进入,以笔者的mac笔记本为例就是Command+,

选择sound将音量调至0:

详解java后端开发环境基本搭建与基础实践

java环境基本插件安装和配置

考虑到大部分读者主力开发语言都是java,所以笔者优先介绍一下如何在Trae IDE中快速搭建和运行spring boot程序,在此之前读者必须明确如下几点:

  1. 系统完成java环境变量配置安装
  2. 系统完成maven环境配置安装

明确上述前置检查步骤完成后,需逐一完成如下几个插件的安装:

  1. Language support for Java ™ for Visual Studio Code:VS Code内置的java语言插件,通过该插件可以做到java智能代码补全、语法高亮检查、代码导航重构等功能。
  2. Extension Pack for JavaExtension Pack for JavaVisual Studio Code 官方提供的一个扩展包,旨在为开发者提供完整的 Java 开发环境,通过一次性安装多个相关扩展,简化 Java 开发的配置流程,这其中就包含Maven for Java这个maven项目构建支持的插件,这也是笔者要求安装的原因所在。
  3. Spring Boot Extension Pack:pring Boot Extension Pack 是 Visual Studio Code 中的一个专用扩展包,由 VMware(原 Pivotal)维护,旨在为 Spring Boot 项目开发提供全方位的工具支持,简化开发流程并提升效率。

通过对上述插件的完整安装,我们的Trae IDE就会一次洗获得如下的java系列插件,自此我们就可以在Trae IDE中创建spring boot程序并运行:

快速搭建项目并运行

通过上述的配置步骤我们的Trae已经具备运行spring boot程序的基本要求了,这里笔者通过提示词的方式基于Trae的builder模式快速生成一个spring boot的基础程序,对应项目结构如下图所示:

完成项目创建基本初始化创建之后,我们就需要按照Trae(本质上是vscode的规范)在项目根目录下创建.vscode文件夹并添加调试文件launch.json,然后针对该文件完成程序调试的基本配置信息。

这里笔者也给出自己的配置模板,如下所示,关于配置的基本含义笔者都在配置项右边加以注释表名,这里笔者特别说明一下stopOnEntry这个选项,笔者在这里设置为true是为了调测Trae调试是否生效,若生效则项目启动后会在入口main方法中停止,等待用户步进:

java 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java", // 调试器类型
            "name": "调试DemoApplication", // 配置名称
            "request": "launch", // 请求类型
            "mainClass": "com.example.demo.DemoApplication", // 主类的完整路径
            "projectName": "demo", // 项目名称
            "args": "", // 命令行参数
            "env": { // 环境变量配置
                "JAVA_HOME": "/Users/sharkchili/dev-tool/jdk8/Contents/Home", // JDK路径
                "MAVEN_OPTS": "-s /Users/sharkchili/dev-tool/maven/conf/settings.xml" // Maven settings.xml路径
            },
            "vmArgs": "", // JVM参数
            "stopOnEntry": true, // 是否在入口处停止
            "console": "integratedTerminal" // 控制台类型:integratedTerminal(集成终端)、externalTerminal(外部终端)、internalConsole(内部控制台)
        }
    ]
}

完成上述准备之后,我们点击debug选项选择刚刚的配置项,然后点击右边的绿色的debug按键:

若看到项目启动成功并在入口处停住,就说明我们本次的Trae IDE关于java的基本开发环境搭建基本成功:

基于hello接口快速上手cue模式

按照trae官方的说法:

CUE 是一款旨在提升开发效率的智能编程工具,支持代码补全、Cue-Pro、智能导入等功能。

为了更好的演示这个功能,笔者在项目初始化阶段构建了一个hello接口,现在希望将其进行如下改造:

  1. 传入字符串类型的用户名
  2. 判断用户名是否为空,若为空则报错,若非空则进入步骤3
  3. 返回hello+用户名拼接字符串

这里笔者先给出接口初始化的样子:

java 复制代码
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, this is Spring Boot project and created by Trae!";
    }

}

所以在笔者键入@符号后,cue很快就推理出笔者的意图给出name参数,但是看起来还是多了一个defaultValue,没关系,我们tab全量接受后手工调整一下即可:

同理笔者不断键入if、throw、return上个逻辑意图关键字,cue很快的帮我们完成了如下逻辑填充:

  1. if:name非空判断
  2. throw:抛出非法参数异常
  3. return:返回hello+用户姓名

对应笔者也贴出案例的代码段,看起来推理能力是非常出色的:

同时cue模式也是支持通过感知上下文,完成代码修改和补全,例如笔者希望将字符串判空操作用hutool工具类,也直接通过声明注释的方式驱动cue模式感知和修改:

对应我们在终端键入:

bash 复制代码
curl "http://localhost:8080/hello?name=John"

可以看到键入name后结果正常输出,由此我们完成cue模式的基本实践:

详解go语言基本环境安搭建与AI自动化编程实践

基础插件安装

以笔者一直维护的一个开源学习项目mini-redis为例,该项目采用go语言编写,对应我们也需要在Trae中集成go语言相关插件,和vs code操作步骤类似,在插件市场搜索go,找到排在最前面的插件点击安装,等待片刻后我们就完成了Trae IDEgo语言环境的基本搭建了:

拉取项目并运行

随后我们就可以拉取mini-redis并尝试在Trae中运行,对应的mini-redis地址为:https://github.com/shkctl/mini-redis.git

完成后我们直接打开项目,创建一个.vscode文件夹并添加launch.json文件(点击直接点击调试根据提示创建文件):

bash 复制代码
{
    "version": "0.2.0", //VS Code 的调试配置文件版本,目前使用的是 0.2.0 版本
    "configurations": [
        {
            "name": "Launch Package",// 调试配置的名称,这里是 "Launch Package"
            "type": "go",// 调试器类型,这里是 "go",表示使用 Go 语言的调试器
            "request": "launch",// 请求类型,这里是 "launch",表示启动调试会话
            "mode": "auto",// 调试模式,这里是 "auto",表示自动选择调试模式
            "program": "${workspaceFolder}",// 要调试的程序路径,这里是当前工作空间文件夹
            "dlvFlags": ["--check-go-version=false"]// 传递给 dlv 调试器的额外标志,这里禁用了 Go 版本检查
        }
    ]
}

完成上述的配置后点击debug,此时我们就可以愉快的调试代码了,自此我们完成了后端开发环境最基本的配置工作:

基于chat和builder快速完成mini-redis功能测试与回归

完成了基本的环境搭建之后,我们再来介绍一下trae中强大的chat和builder模式,按照trae官方的给出的说法,两者的通俗意义上的定义和工作理念上的区别为:

  1. chat:代码级的实时协助,即AI结对编程搭档。
  2. builder:项目级别的全自动生成,自动性会更强,会自动完成一些命令交互、项目依赖配置、构建等综合性工作,可以理解为AI项目经理。

了解chat和builder的基本概念后,笔者将针对自己独立开发维护的开源项目mini-redis对应列表操作底层的数据结构进行单元测试和逻辑梳理,整体的工作思路为:

  1. 通过chat模式完成精确级的代码逻辑沟通对齐
  2. 明确思路后,要求AI以KITE提示框架生成单元测试逻辑的提示词
  3. 基于步骤2的提示词,通过builder模式完成测试单元落地

明确思路后我们就开始本次的编码工作,我们首先通过@选项将模式切换为chat模式:

切换chat模式后,我通过#文件的方式引用本次需要生成单元测试代码段,确保AI能够精准定位本次的工作内容,从而辅助完成提示词的优化,对应操作演示如下图:

如下便是笔者需要AI辅助完成优化的提示词,可以看到笔者明确按照KITE原则编写提示词,即:

  1. 背景说明
  2. 任务描述
  3. 预期目标
  4. 限定条件
bash 复制代码
你是一名资深的提示词工程师,能够编写出符合KITE提示词框架规范的优秀提示词让AI高效完成工作,下面是我后续准备通过trae builder模式进行辅助编程的提示词,请你仔细阅读理解,帮我完成提示词的优化和改进,以下是我编写的提示词:

## 背景说明
你是一名具备5年开发经验go语言开发工程师,同时熟练掌握C语言,最近深入阅读redis(3.2.12)的源码,深入理解其列表指令rpush、lpop、lrange指令及其底层链表数据结构的设计与实现,为了更好的验证自己的学习成果,你用go语言复刻列表指令底层的数据结构和指令

## 任务描述
请阅读adlist.go和command.go下rpushCommand、lpopCommand、lrangeCommand、lindexCommand等参考redis编写的逻辑,完成如下几个测试用例的编写并确保所有单元测试通过:
1. 测试连续三次调用rpushCommand添加元素aa、bb、cc后,链表长度为3
2. 测试lindex传值为0,输出的结果为aa
3. 测试lindex传值为1,输出结果为bb
4. 测试lindex传值为2,输出结果为cc
5. 测试调用lpop后,输出的值为aa
6. 测试再次调用lpop后,链表长度为1

完成上述单元测试的编码工作后,主动运行单元测试且所有用例都运行通过

## 预期目标

所有单元测试都是绿灯通过

## 执行限定

1. 不要修改adlist.go和command.go两个文件
2. 生成一个command_test.go文件编写单元测试
3. 单元测试需给出必要的注释,注释必须是中文
4. 上述逻辑都写在一个单元测试上,函数名为listCommonTest
5. 确保所有单元测试都能够编译通过具备可执行的基础
6. 如果运行单元发现错误,优先考虑自己单元测试的问题,明确单元测试编写无误后,再去排查adlist.go和command.go两个文件逻辑是否存在问题,如果有请指出但不要修改,让我确认后再动手

对应调整后,笔者提示词被trae优化为如下文本,对此笔者将其保存到项目路径下,感兴趣的读者可以移步笔者的开发项目mini-redis了解详情:https://github.com/shark-ctrl/mini-redis

自此我们一切准备就绪,直接将trae切换为builder模式让AI着手工作:

最终AI如预期所示保质保量的完成的单元测试的开发和验收,这里笔者也给出Trae落地的测试代码,可以看到在提示词良好的情况下,编码质量非常不错逻辑清晰,注释也非常到位:

go 复制代码
// listCommonTest 测试链表相关命令的功能
// 包含以下测试用例:
// 1. 测试连续三次添加元素aa、bb、cc后,链表长度为3
// 2. 测试索引0的元素为aa
// 3. 测试索引1的元素为bb
// 4. 测试索引2的元素为cc
// 5. 测试弹出第一个元素后,链表头为bb
// 6. 测试再次弹出元素后,链表长度为1
func listCommonTest(t *testing.T) {
	// 初始化测试环境
	setupTest()

	// 测试1: 连续三次添加元素aa、bb、cc后,链表长度为3
	t.Log("测试1: 连续三次添加元素aa、bb、cc后,链表长度为3")

	// 创建链表对象
	listObj := createListObject()

	// 添加元素aa
	val1 := "aa"
	obj1 := createStringObject(&val1, len(val1))
	listTypePush(listObj, obj1, REDIS_TAIL)

	// 添加元素bb
	val2 := "bb"
	obj2 := createStringObject(&val2, len(val2))
	listTypePush(listObj, obj2, REDIS_TAIL)

	// 添加元素cc
	val3 := "cc"
	obj3 := createStringObject(&val3, len(val3))
	listTypePush(listObj, obj3, REDIS_TAIL)

	// 检查链表长度是否为3
	length := listTypeLength(listObj)
	if length != 3 {
		t.Fatalf("链表长度应为3,实际为%d", length)
	}
	t.Logf("测试1通过: 链表长度为%d", length)


	//......

	t.Log("所有测试用例通过!")
}

小结

本文通过两个经典的后端工程案例演示了Trae IDE下项目搭建和运行的基本配置流程,同时基于一个接口改造的例子演示的cue这个自动化代码补全的功能特性,随后我们更进一步以提示词驱动的方式协同AI完成编码自动化构建和测试闭环。对此我们不妨来小结一下本文面向AI编程的一些小技巧:

  1. 通过注释驱动AI完成代码修改和补全
  2. 巧妙利用chat进行精确代码级功能梳理、方案对齐和片段代码功能落地
  3. 实用KITE提示词框架规范沟通流程,通过chat模式优化对齐提示词,用builder完成完整功能模块开发落地和调测

你好,我是 SharkChili ,禅与计算机程序设计艺术布道者,希望我的理念对您有所启发。

📝 我的公众号:写代码的SharkChili

在这里,我会分享技术干货、编程思考与开源项目实践。

🚀 我的开源项目:mini-redis

一个用于教学理解的 Redis 精简实现,欢迎 Star & Contribute:
https://github.com/shark-ctrl/mini-redis

👥 欢迎加入读者群

关注公众号,回复 【加群】 即可获取联系方式,期待与你交流技术、共同成长!

参考

安装和配置 Visual Studio Code 以用于 Go 语言开发:

https://learn.microsoft.com/zh-cn/azure/developer/go/configure-visual-studio-code

Trae官方文档:https://docs.trae.cn/ide/what-is-trae?_lang=zh

【亲测有效】vscode关闭声音提示:https://zhuanlan.zhihu.com/p/700708519

Spring Boot in Visual Studio Code

:https://code.visualstudio.com/docs/java/java-spring-boot

VS Code运行Spring Boot项目全攻略 从环境配置到一键启动解决常见报错问题

:https://www.oryoy.com/news/vs-code-yun-xing-spring-boot-xiang-mu-quan-gong-lve-cong-huan-jing-pei-zhi-dao-yi-jian-qi-dong-jie-j.html

《ai原生应用开发 提示词工程原理与实战》

《【直播回放】TRAE 用户使用技巧分享专场 2025年09月25日18点场》

相关推荐
Ftsom5 小时前
【1】Kilo Code 项目整体结构设计
ai编程·kilo code
Kitfox AI8 小时前
【100% AI编程一】KitfoxPay:让 NewAPI 无缝接入 Jeepay 的开源支付适配网关
开源·ai编程·oneapi·newapi·jeepay
程序员陆通11 小时前
Antigravity AI编程工具添加和使用Skill完整教程
ai编程
颢珂智库Haokir Insights11 小时前
如何把 MCP 接入到文档 / Issue / CI,形成可复用的工程外脑
服务器·人工智能·ai编程·vllm·vibecoding
光影少年13 小时前
前端如何实现一个高精准定时器和延时器
前端·javascript·react.js·web·ai编程
一见1 天前
AI编程中的Skill、Rule、Prompt和知识库Kb定位的区别
prompt·ai编程
悟道|养家1 天前
Cursor IDE 入门到高阶使用指南
ai编程
卡尔AI工坊1 天前
Andrej Karpathy:过去一年大模型的六个关键转折
人工智能·经验分享·深度学习·机器学习·ai编程
康康的AI博客1 天前
阿里云通义灵码深度解析:AI编程时代的技术革命与实践探索
ai编程