此文章来自海外技术部 - 林立源
一、整体介绍
目标读者
- Goland 转 Cursor 的开发者新入职需要使用 Cursor 的员工
重点内容
- Cursor 日常go开发工具使用Cursor AI 使用最佳实践
说明
- 持续更新学习心得欢迎交流讨论,共同提升文章基于实际开发场景总结
二、Cursor 日常go开发工具使用
这里主要是介绍我从goland替换到cursor的一些操作与go开发可能使用到的日常操作,主体与AI工作无关,想看AI工作的部分跳到第三章。
安装go插件与工具
选择go版本
1、点击右下角的go版本标识
2、查看可用版本列表,如无适合版本则选择从本地引入
3、在本地安装go后,找到对应目录并选择go可执行文件
安装插件:
Go 版本管理说明:
单版本场景
使用单一 Go 版本的项目,直接安装对应版本即可
示例:Go 1.22 + 插件版本 v0.46.1
多版本场景(存在一些问题)
多个项目使用不同 Go 版本时,VSCode 插件管理较为不便
需要频繁切换插件版本,影响开发效率
安装go工具:
ctrl+shift+p 开启快捷命令输入 tools。看到一个Go: Install/Update Tools 选择后安装即可。
设置debug配置
在项目根目录创建.vscode/launch.json文件,下面以TCF框架后台为例:
关键配置说明:
- cwd: 设置执行的项目根目录,防止切换到 ./cmdargs: 命令行参数列表env: 环境变量设置
配置测试run全局配置
在项目根目录创建.vscode/settings.json文件,添加测试相关配置:
TODO 高亮设置
使用"todo highlight"插件实现TODO注释高亮。在.vscode/settings.json中添加:
效果展示:
快速引入包命令
按Ctrl+Shift+P打开命令面板,输入"Import",在包选择页面输入需要导入的包名(如"fmt")。
字体放大
快捷键:Ctrl+Shift+"+"(放大)和Ctrl+Shift+"-"(缩小)
也可以在设置中调整fontSize参数:
设置自动换行
在.vscode/settings.json中添加:
"editor.wordWrap": "on",
git操作
查看git当前更改
点击左上角的git分支标识,可以查看具体变更,支持单个文件回退更改等功能。
切换分支、新建分支
点击左下角的分支选择入口:
提交代码
- 点击提交按钮,输入commit备注点击上方文件栏的"✓"确认提交提交后会显示同步按钮,点击执行git push
合并分支
- 切换到目标分支(如test分支)将鼠标移至左上角,点击显示的三点菜单选择"分支" → "合并" → 选择要合入的分支
Git增强功能
可安装GitLens插件获取更多Git功能:
结构体字段补全
按快捷键Ctrl+.,在弹出的选项中选择fill补充选项:
git解决冲突使用goland等三路合并工具替换cursor自带的冲突解决工具
cursor自带的冲突解决工具确实也可以使用,但是整体的面板合并后结果是在中间的让人特别不适应。
而且当冲突内容跨很多行时,很容易忘记这段代码插入后在新文档的位置,我感觉是完全不如其他三路合并工具的,大家有其他好用的轻量级三路合并工具也欢迎留言推荐,goland会慢一点。
配置git mergetool
这里参考了其他的文档关于git mergetool的使用方法,配置goland作为合并冲突解决工具:gist.github.com/rambabusara…
D:/JetBrains/GoLand 2023.3.4/bin/goland.bat 这个是我本地的路径,对应大家替换成自己的本地路径就可以了
在cursor中新建一个终端,选择 git Bash
在终端中使用命令:git mergetool
等待一会后会出现窗口,接下去使用就跟goland是一致的了,不过提交前要注意过滤掉中间文件
最后提交前过滤掉中间文件
.gitignore中增加 *.orig 过滤掉中间文件即可。
Cursor AI使用最佳实践
一般的问题询问
Cursor的强大优势之一是内置AI聊天功能,无需打开额外的GPT网站。只需点击右侧的加号,创建新的Chat对话。
工具查找与问题解决
以解决TODO高亮问题为例,展示如何通过AI解决配置问题:
描述问题获取推荐
向AI描述需求,AI会推荐合适的插件:
尝试初步配置
根据AI的推荐进行初步配置:
优化配置问题
发现高亮只显示部分内容,要求AI改进:
提供更精确的需求
提出整行高亮的具体需求:
提供问题代码示例
找到不生效的代码示例让AI分析:
问题解决
AI提供了完美解决方案:
提示:如果问题未解决,可以让AI描述解决思路,或通过@web/@file提供更多资料提升AI理解。
基于接口文档截图生成sql
原型图解析
上传原型图让AI解析内容:
创建SQL管理目录
在项目中创建目录管理变更SQL,方便后续上线(注意不要上传到gitlab):
理解并筛选内容
让AI理解图片内容并输出理解结果:
生成SQL语句
针对有用部分(如表格结构和编辑界面)生成SQL:
AI会根据已有的SQL文件格式自动调整生成的SQL风格,大部分情况下只需进行轻微调整。
日常代码生成
a、搭建代码框架
先让AI生成基本框架,实现逻辑先用占位符:
分步实现逻辑
针对每个步骤详细描述实现需求:
同步回原文件
通过右上角的Apply按钮,将AI生成的代码同步回原文件:
生成结果:可以看到整个代码的完成度是很高的。基本只需要微调
生成辅助方法
让AI生成相关的外部请求方法:
返回结果如下,这里还是遇到了一个,如果是指定一个目录的话,生成后的文件他没有先根据目录下的已有的内容先做理解,感觉也跟我的提示词与用法可能关系
优化调整代码
针对性地要求AI调整代码,保持与项目结构一致:
04
个人使用建议
模式选择
较低版本的cursor跟模型:优先选择Ask而非Edit模式
优势:
- 支持多轮对话,便于分步骤沟通可让AI查阅资料、输出理解随时纠正AI的理解偏差
高版本,如最新的1.0,可以优先使用Agent模式,推荐claude-4-sonnet模型
优势:
无需过多的上下文补充,告知需求后,让AI结合项目理解跟最佳实践进行实现就行
直接接收结果后让AI优化,可以快速达到业务效果
如果跟实现不同,则增加 联网、本地文档或者文档连接 进行纠正即可,大部分都能满足需求
建议多培养AI协作能力
当AI生成的代码有问题时,引导AI给出思考过程,纠正其思路后再次生成,开发者主要负责方案确认与代码审核。在AI生成代码的大背景下,程序员更需要锻炼语言组织能力和代码审核能力。