我正在参加Trae「超级体验官」创意实践征文, 本文所使用的 Trae 免费下载链接: www.trae.ai/?utm_source…
背景
不知道你有没有和我一样的感受,有时候觉得什么都没干,一天就过去了。一直想找个软件来记录一下自己一天都干了啥,市面上用来记录日常的工具很多,但是或多或少都有些不能满足我的诉求:
- 唤醒不方便。 记录的时候不希望打断我现有的工作流,所以能用快捷键唤醒就显得尤为重要。且作为一个工具应该是随用随来,不用即走的状态。
- 数据不能导入导出。 如果用了一段时间发现要收费想换软件就很麻烦,说不定用了一段时间开发者跑路了,那之前的数据基本就全没了。
- 页面复杂,有广告。 这个就不多说了,大家都是要吃饭的,或多或少就会收费或者加一些广告上去,就算是无偿的也不会花精力一直去维护。
基于上述考虑,作为程序员的我一直想自己写一个自己用的工具,但是碍于开发成本,一直没来得及动手,一方面是需要自己设计 ui,这是我不擅长的,心里想的是能用都行,但也不能太丑,还是要有一些基本的设计。再者就是这个我也不确定最后自己做出来能是个什么样子,万一投入了一两周之后做出一个自己根本不会用的东西,那就是浪费时间。
要是有个人无偿的根据我的要求快速做出一个 MVP 版本的东西出来就好了。
从雷霆战机初识Trae
第一次知道Trae是看到有人分享用它写了个雷霆战机,觉得很酷炫。诶?这不就是我需要的"人"吗? 于是便找了个寂静的晚上,我就开始了我自己的开发之旅。
在正式介绍工具开发之前还得介绍下
utools,它是我最常用的软件它之一,它本身自带很多非常好用的工具,比如 json 格式化,颜色选择,剪贴板管理等,而且都是免费的。最主要的是他可以在全局通过 opt+空格来唤醒,这满足了唤醒方便的关键的需求。而且他还提供插件的方式供开发者开发自己的插件,这个工具也理所当然的建立在 utools 的插件之上。
我常用的 utools 工具
| json工具,可以通过js 语句过滤这个功能强推 | 颜色选择工具 | 剪贴板管理工具 |
开始开发
项目初始化与架构改造
在准备好开发环境之后,我给 trae 下达了第一行命令
这是一个 utools 插件的初始化工程,现在麻烦帮忙把这个工程改造一下:
1. 我要写的是一个类似于 todolist 的插件,请帮忙写个demo,并把原来多余的文件删了
2. 工程要支持 typescript.将项目中的 jsx都改造成 tsx.
可以看到他会先查看当前项目的文件结构,以确定需要删除和修改的文件。然后就真的把整个项目都变成了我需要的,原来不需要的 demo 文件也已经删干净了,原来是 vite+react+js 也变成了 vite+react+ts。
| 改造前 | 改造后 |
然后用 utool 来看看效果。额...不能说有点丑,只能说很丑,这就是我上面所说的 ui 问题,要设计一个顺眼的 ui 还是有一定难度的。
UI优化与体验升级
先让他帮忙优化一下看看
帮忙优化一下 todo 样式
哇,一下子顺眼多了,但是还没有适配深色模式,且功能有些简单,于是我尝试让他适配深色模式,且加上时间戳。
把每日待办变成当日的时间,比如 2025-02-09,适配一下深色模式,每个 todo下都加上创建的时间戳
| 深色模式 | 浅色模式 |
数据持久化与扩展
上面的 ui 完成的非常好。有种让人眼前一亮的感觉,于是我尝试给他加个更加复杂的需求,上面我还有个需求,就是数据能够持久化,且数据能够导入导出。
把数据进行持久化,
utools的持久化文档:https://www.u-tools.cn/docs/developer/api-reference/db/local-db.html, 且增加个历史记录查看的页面,能查看每天记录的todo,并且加上数据导入导出的功能,格式为json
好像报了个错,直接把错误复制给它,让它帮忙解决。
也能顺利的帮忙解决,核心功能都正常,虽然 ui 还是有些问题,根据上面的经验,待会直接让他修复就是了。值得一提的是 utools 的持久化 api并不是像 localStorage 一样是一个通用的 api,它靠着我给他的文档就能够实现持久化的功能。
| 历史记录页面 | 主页 |
代码修复与重构
到目前为止,还没有看过一行它生成的代码。一瞅,果不其然有个报错,用 AI 修复试试
也能够正确修复。
另外我发现 Todolist页面和 HistoryList页面都有一个 Todo接口,为了可维护性,这明显可以把它抽离出来
Trae中输入#就可以选择文件目录或者代码段,这里选择
HistoryList.tsx 和 TodoList.tsx 文件,并让它做接口抽离的工作。
效果:
剩下的也不想代码也不想一个个看了,让他自己先优化一波吧
| 自动重构项目 | 优化后的目录结构 |
目前这个插件已经上架到插件市场,如果和我有一样需求的朋友可以去下载使用,未来我也会加上 ai 总结或者番茄钟之类的功能。或者直接用 Trae 自己写一个也行。
感想
虽然 ai 爆发已经有两年了,但是 Trae 这种类型的工具首次让我感觉到生产力有着巨大的提升。如果说目前大部分 chat 类型的 ai 是一个只动嘴皮子的全能导师,那 Trae 就是那个能够能够真正的帮我干活的人。虽然现在还有一些小 bug,但是相信它会越来越好。