1、接触

        本人从事java,web、python开发有10多年了,很少使用vscode。vscode不是不好,而是不够专业,他的各种功能完全依靠插件实现,看似自由度很高,却也提高了初学者的入门难度,降低了专业性(毕竟,微软的重点应该是在visual stdio)。  后来由于参加培训,主讲老师建议用vscode,所以我不得不切换了我的开发工具。说实话,vscode全能开发还是让我惊讶的,它突破了项目间的界限,避免了频繁切换的尴尬,但我总是拿它与eclipse、HBuilderX,pycharm的向导式开发方式比较,从心理上很难接收这么个靠命令面板开发的工具。

     好了,该说Trae了。在下载vscode时,我被强烈推荐了Trae。看看简介,哦,原来是vscode二次开发,那我觉得应该跟vscode差不多。因此我下载了,安装了,开始使用。

2、体验

        Trae与vscode最大不同就是,集成了Trae智能体,相比插件式的Trae功能更多,并且IDE Trae阻止GitHub Copilot的安装,我想这是为了纯净吧。

2.1 新建智能体帮手

        我想开发一个vue+spring boot项目,体验一下Trae强大功能,根据官方提示,我新建了智能体-软件开发工程师,提示词如下:

你是一位全能型软件开发工程智能体,拥有扎实的编程功底和丰富的项目实战经验,专注于通过代码解决各类技术问题、构建稳定高效的软件系统。你的核心职责是为用户提供从需求分析到代码实现、测试优化的全流程技术支持,尤其擅长运用 Java、Python、JavaScript、Vue、HTML、CSS、TypeScript 等主流编程语言及技术栈完成开发任务。
在与用户沟通时,你的语气应专业严谨且通俗易懂。面对技术问题时,要展现出清晰的逻辑和深度的专业知识,用准确的术语阐述方案;当用户提出疑问或需求不够明确时,需耐心引导,用简洁的语言解释复杂概念,避免使用晦涩难懂的表述,让不同技术层次的用户都能轻松理解。
工作流程遵循以下标准步骤:
需求拆解:收到用户需求后,首先全面梳理核心目标、功能要点及潜在约束(如性能要求、兼容性范围等),通过提问确认模糊信息,确保对需求的理解无偏差。
技术选型:根据需求特性,从 Java、Python、JavaScript 等语言及相关框架中选择最优技术组合,例如 Web 前端优先考虑 Vue+TypeScript,后端服务可选用 Java Spring Boot 或 Python Django,同时说明选型理由。
方案设计:输出清晰的架构设计思路,包括模块划分、接口定义、数据流向等,复杂场景下可提供简易流程图或伪代码框架。
代码实现:按照设计方案编写可直接运行的代码,确保代码风格规范(如 Java 遵循 Google 编码规范,Python 符合 PEP 8 标准),并添加必要注释说明关键逻辑。
测试建议:针对实现的代码,提供单元测试、集成测试的方法和示例,指出可能存在的边界情况及应对策略。
优化迭代:根据用户反馈或实际运行效果,对代码进行性能优化、bug 修复或功能扩展,持续提升软件质量。
工具偏好方面,你熟悉并优先推荐以下工具辅助开发:
版本控制:Git(含 GitHub、GitLab 操作流程)
构建工具:Maven(Java)、npm/yarn(前端)、PyPI(Python)
开发环境:当前开发工具
调试工具:Chrome DevTools(前端)、JUnit(Java 测试)、pytest(Python 测试)
在开发过程中,需严格遵循以下规范:
代码风格:统一命名规则(如 Java 采用驼峰命名法,Python 使用下划线命名法),保持缩进一致,避免冗余代码。
安全性:处理用户输入时进行严格校验,防止 SQL 注入、XSS 攻击等安全隐患;涉及敏感数据需加密存储。
可维护性:模块化设计,降低代码耦合度;关键功能添加详细注释,方便后续维护和扩展。
兼容性:前端代码需兼容主流浏览器(Chrome、Firefox、Edge 等),后端服务考虑跨平台运行需求。
当用户提出具体开发需求时,你需基于上述角色定位和规范,提供切实可行的技术方案和代码实现,并主动说明设计思路和潜在优化方向,助力用户高效完成软件开发工作。

        然后开始我的智能之旅

2.2 构建项目

        我没有使用智能体创建项目,因为我有自己的规划。所以我使用向导创建了SpringBoot项目框架(非常不友好的向导)。懒着配置它,所以交给了智能体:

现在我们来配置这个项目:

1.启动端口改为8090,上下文改为courepilot

2.增加jpa驱动

3.使用druid作为连接池

4.本地mysql的用户名密码为root/windows982

5.设置静态默认目录

6.增加最新的spring security作为安全框架,

7.使用hutool工具作为jwt 验证工具,

8.增加redis配置,用户session共享

9.该项目是前后端分离程序的后端服务,所以你需要完成一个模拟登录请求的controller,登录成功后返回 jwtcode

        它非常棒,就像一个任劳任怨的员工,一丝不苟的执行着任务。但你别指望他的成果完全正确,最终还需要不断的进行校验修正。当我对它结果进行校验并给出修正建议时,他会不断的进行检查,然后匹配最佳选项。Trace,这个真的很棒。

        当我创建vue项目时,没找到相应的向导,于是我求助了智能体:

1:使用vue3+elementplus技术栈开发

2:安装必要的插件,例如路由、状态管理、axios等

3:支持ts语言

        它做了比我想象的要多得多工作,尤其是当他完成登录页面设计时,我终于明白了那句“前端已死”的含金量。

        至此,我喝着果汁的时间里,项目搭建完事了。

2.3 编程体验

        我着手编写代码,简单的工作完全交给智能体,例如新建bean,增加持久层等,只要智能体的提示词准确,它可以完美的完成,这完全是沉浸式编程体验。但相对复杂的,例如完成jwt的校验、tsconfig的个性配置等工作,还得我出手(看来AI取代程序员还得有一段路要走啊)。

        在写代码的过程中,Trace可以根据你输入的内容给出建议代码,按Tab就可以采纳,这很棒。对于出现警告、报错信息,可以通过ctrl+u加入到聊天对话框,让智能体帮你修复。这对于我习惯了翻各种资料的我来说,简直是颠覆式的体验。

3、改进建议和Bug

        体验不多说了,只有真正上手才能感觉到,接下来我要说下,我非常期待改进的地方,希望Trae官方重视

3.1、向专业开发工具演进

        看的出来,Trae是官方打造出来的利器,应该是期望其能占领更为广阔的市场。所以我希望Trae应该将一些合并到工具里来,逐渐与vscode做出区分。吸收各个专业工具(eclipse、pycharm、hbuilderx)的专长,使用向导方式完成项目建立。(我为什么这么喜欢向导式开发呢?因为我是老师,课堂教学需要明确的,明晰的演示界面、步骤等,使用智能体建立项目,由于大模型幻觉的存在,可能导致演示效果的不一致性)

3.2、尽快修复ts校验问题

        在编码过程发现,ts语法校验非常的不准确

        当修复我错误时,那个提示还存在,除非将Trae重启,否则这个错误会一直存在。

        经过测试我发现,这种现象在ts文件存在警告信息时特别普遍。

3.3、智能体强行修改我的代码

        下边的视频里展示了这一现象。首先我将代码修改成正确的样子(经过验证的),然后保存,重启Trae,这时,会发现,代码被智能体修改,他还会贴心的问你是否接受,即使不接受,代码也会被改,这种现象一直循环(不清楚,对话历史清空后会不会还出现这个情况,但我其实是不想清空对话历史的)。

这是正确代码

重启后:

从智能体对话框里,可以看到我没有输入任何命令。

bug

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐