Goland转Cursor日常使用推荐

727 阅读6分钟

此文章来自海外技术部 - 林立源

一、整体介绍

目标读者

  • 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: 设置执行的项目根目录,防止切换到 ./cmd
  • args: 命令行参数列表
  • 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分支标识,可以查看具体变更,支持单个文件回退更改等功能。

切换分支、新建分支

点击左下角的分支选择入口:

提交代码
  1. 点击提交按钮,输入commit备注
  2. 点击上方文件栏的"✓"确认提交
  3. 提交后会显示同步按钮,点击执行git push

合并分支
  1. 切换到目标分支(如test分支)
  2. 将鼠标移至左上角,点击显示的三点菜单
  3. 选择"分支" → "合并" → 选择要合入的分支

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生成代码的大背景下,程序员更需要锻炼语言组织能力和代码审核能力。