这几天“字节内部禁止使用Cursor 等AI 编程工具” 的新闻挂上了热搜, 字节自己的AI 编程工具 Trae 也趁机开始了收费模式,这两个新闻同时出现,字节还是挺会炒作的。
随着Trae 的收费,我对Trae 长达半年的白嫖也算是到头了, 不过好在公司每月给报销Cursor的费用,不然现在没有AI让我手敲代码我还真有点不习惯。现在我几乎所有代码都让AI先写一遍自己再微调,甚至连一条SQL都懒得敲。
有了AI的帮忙,写代码确实比以前爽了不少, 老板们也是懂行的,给你报销Cursor 的费用可不是为了让你爽,现在团队里除了C端的项目需要前端程序员写外,其他都是后端程序员来写了。我这两个月除了写Go项目,还写过lua和python的脚本,用React 写过项目的管理后台,除了Go项目之外,其他的任务没有AI我是一点也不出来。
这篇文章我给大家介绍一下用Cursor 或者 Trae 开发和运行调试项目时要做提前做哪些工作。后面我们开始慢慢分享一些怎么才能让AI写出你想要的代码技巧。
用Cursor 怎么开发Go项目
Cursor 和 Trae 有了AI的加持确实很强大,但是如果拿它们来开发Go项目的话,还是不能像 GoLand 那样下载打开即用,几乎零配置(这里就不得不骂一句Jetbrains 不争气,AI编程插件搞得难用的一批)。
接下来我们一起来看一下 Cursor 和 Trae 用于开发Go项目时的安装和配置步骤。
Cursor 下载链接:https://www.cursor.com/cn
Trae 下载链接:https://www.trae.ai/
它们两个的安装和配置步骤几乎一样,所以这里就只拿Cursor做演示了。
下载安装完成Cursor 后, 用它先打开一个项目,会发现界面有点熟悉。

怎么这么像VsCode,唯一的差别就是右边多了一个能和AI对话的Chat框。 觉得像就对了,Cursor 和 Trae 都是在VsCode 的基础上做了二开,IDE 集成环境这些本质上还是VsCode,只不过增加了AI 辅助编程的插件。
如果你不登录Cursor的账号的话,你就可以直接把它当VsCode用了(多新鲜啊),如果你还没有用过Cursor 可以先不用着急付费, 新用户注册后的免费额度,也够用一段时间。

Cursor 和 Trae 开发Go项目的基础配置
上面说了Cursor 和 Trae 都是在VsCode的基础上做的二开,所以如何配置Cursor 或者 Trae 让他们能开发Go项目的本质就是在VsCode里开发Go项目时要做哪些配置。如果你是VsCode深度用户,后面的文章可以先跳过了, 因为这些步骤跟你在VsCode 中配置的步骤没有差别, 对 Cursor AI编程功能的讲解为会放到后面的文章里。
安装Go扩展
首先我们需要安装的就是Go语言的官方扩展,这样才能让IDE能够识别 Go 语言的语法,以及支持Go项目中代码的定位和跳转。

安装gopls 工具
开发Go项目主要依赖 gopls 这个工具,该工具现在最新版最低要求1.18 版本的Go。我们在IDE里按住快捷键:CMD + SHIFT + P 弹出下面安装窗口输入:Go:install/Update Tools
安装完上面的插件和工具后记得要重启一下编辑器才能生效。
设置代码更改自动保存
GoLand 打开的项目如果对代码做了更改,GoLand是可以帮你自动保存的,然而在VsCode这个功能需要单独设置才行,那么Cursor 肯定也是有这个问题啦,我曾经还因为代码没自动保存踩过坑。
代码自动保存的设置步骤如下:

我在 Auto Save 中设置的是 onFocusChange--切换焦点的时候保存,比如修改代码后去其他文件窗口或者是去命令行输入命令时代码都会自动保存,这个我觉得比设置成延迟 n 秒更保险一些。
设置 Go项目的运行和调试
在VsCode系列的IDE中打开项目后,可以按F5 运行项目,不过首次肯定会运行失败,提示我们配置launch.json 来自定义我们的运行和调试。 该文件位于项目根目录的.vscode文件夹下。
基础的配置模版如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}
如果你的项目运行需要指定运行参数, 或者是项目中包含多个启动程序,可以参考下面的模版进行配置
{
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "app",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/app/app.go",
"cwd": "${workspaceFolder}",
"env": {},
"args": [
"-c": "./conf/app.yaml"
"-db": "./conf/mysql.yml"
]
},
{
"name": "admin",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/admin/admin.go",
"cwd": "${workspaceFolder}",
"env": {},
"args": [
"-f1", "./conf/admin.yaml",
"-db": "./conf/mysql.yml"
]
}
]
}
launch.json 配置完成后,我们在Cursor的运行 Tab 中就能找到我们刚才配置好的运行指令。

如果是存在多个启动文件的项目,配置完成后可以在这里分别选中要运行的指令。

点击运行启动项目后,我们可以看到IDE里出现了悬停窗,在这里可以进行重启、停止,以及Debug模式的Step Over、Step Into 和 Step Out 操作。

可以看到GoLand 运行和调试项目的功能在这里都有,只不过用起来不如GoLand方便,当然也有可能是我之前一直用GoLand用习惯了, 慢慢Cursor 或者 Trae 用的多了也就习惯了。。。已经在犹豫GoLand到期后要不要继续续费了。
好了本期的分享就到这里,后面我们开始慢慢分享一些AI辅助编程的技巧,跟大家说说怎么才能让AI写出你想要的代码。
结尾推荐一下我的专栏课程,如果你想了解怎么用Go做好项目的开发和设计,搭建出一个实用、适合自己的Go项目的基础框架、怎么在写业务代码时做好项目的分层和解耦,欢迎扫下方二维码订阅专栏。

《Go项目搭建和整洁开发实战》专栏分为五大部分,重点章节如下

第一部分介绍让框架变得好用的诸多实战技巧,比如通过自定义日志门面让项目日志更简单易用、支持自动记录请求的追踪信息和程序位置信息、通过自定义Error在实现Go error接口的同时支持给给错误添加错误链,方便追溯错误源头。
第二部分:讲解项目分层架构的设计和划分业务模块的方法和标准,让你以后无论遇到什么项目都能按这套标准自己划分出模块和逻辑分层。后面几个部分均是该部分所讲内容的实践。
第三部分:设计实现一个套支持多平台登录,Token泄露检测、同平台多设备登录互踢功能的用户认证体系,这套用户认证体系既可以在你未来开发产品时直接应用
第四部分:商城app C端接口功能的实现,强化分层架构实现的讲解,这里还会讲解用责任链、策略和模版等设计模式去解决订单结算促销、支付方式支付场景等多种多样的实际问题。
第五部分:单元测试、项目Docker镜像、K8s部署和服务保障相关的一些基础内容和注意事项。
扫描上方二维码或者访问 https://xiaobot.net/p/golang 即刻订阅
此外想更详细地了解专栏内容,咨询专栏优惠,都可以添加下面我的微信