Cursor这几个天花板级别的技巧,让你轻松成为Cursor高手!

世间好多遗憾

所有都有替代

cursor 无疑已经成为了 AI 编辑器之王,以至于很多公司招聘都要求需要使用过 cursor。如果你完全没接触过 AI 工具,似乎已经与世界脱节了!并且 AI 更新的速度如此之快,掌握像 cursor 这样的工具已经成为一种必需。

下面就来说说使用 cursor 的一些好用的技巧。

第一个,快捷键

cursor虽然是一个AI工具,但是学会它的常用快捷键也能明显提高效率。

AI法器的快捷键

picture.image

编辑器快捷键

picture.image

编辑神器

picture.image

当然最频繁的快捷键还是tab。

第二个,文档管理

AI最需要我们的就是关于问题的信息,信息可大可小,如果信息是用文档组织的,那么cursor也提供了添加文档的功能。

picture.image

但是也别把所有文档一下子全给cursor,不然cursor也会对这些杂乱无章的信息所从下手,只能给出一个很糟糕的结果。

如下是使用文档的几个小的最佳实践

  • 别直接复制大段文档,而是用 @ 来引用配置好的文档

  • 文档要精简,重点突出,去掉不重要的部分可以让cursor更加准确

  • 如果可以,最好是自己写文档,这样更容易被理解

picture.image

文档配置方法

picture.image

如果是一个链接,cursor还能读取里面的子页面。

对于本地文档,cursor做的不如url文档好,目前需要手动把本地文档拖到cursor里面,然后@这个本地文档。

picture.image

第三个,扩大上下文窗口

对大型项目重构、跨模块调用分析有大帮助,小项目不建议开启,因为上下文窗口越大,你的money流失的越快。

picture.image

第四个,为每个项目创建 .cursorrules 文件

Cursor 规则(.cursorrules 文件)是为 Cursor 中的 AI 助手设置的自定义指令,指导其在解释代码、生成建议和回答查询时的行为。

其实这就是有经验的编程人员和新手小白使用 cursor的差距体现,因为有经验的人就会把他们的开发规范写入到rules,减少与cursor的磨合。

这些规则允许您根据自己的编码风格和项目需求定制 cursor 的行为。其实,.cursorrules 文件就是每个项目的提示词配置。

rules分为全局的和项目的。

  • 全局规则:在 Cursor 设置中的 General > Rules for AI 下设置。

  • 项目特定规则:在项目根目录的 .cursorrules 文件中定义。

全局配置如下

picture.image

通过2种rule的区别,可以对它们进行不同的使用,比如,你可以在 AI 规则中设置通用的代码风格偏好,而在 .cursorrules 中定义具体项目的特殊要求。

picture.image

下面来看看规则文件的位置

picture.image

通用规范

  
# Golang 通用开发规范  
description: Golang 基础开发规则与最佳实践  
globs: "**/*.go"  
alwaysApply: true  
  
## 基础规则  
- **代码组织**:遵循 Go 标准项目布局:cite[2]  
- **模块管理**:使用 Go Modules,确保 `go.mod` 文件准确反映依赖  
- **包设计**:包名简洁、有意义,使用小写字母  
- **错误处理**:错误必须处理,不能使用 `_` 忽略错误,优先返回错误而非 panic  
- **资源管理**:使用 `defer` 及时关闭文件、连接等资源  
  
## 并发规范  
- **Goroutine 生命周期**:明确 Goroutine 的启动和终止条件,避免泄漏:cite[8]  
- **通道使用**:优先使用无缓冲通道明确并发关系,关闭通道由发送方负责  
- **同步原语**:正确使用 `sync.Mutex`、`sync.WaitGroup` 等同步机制  
  
## 性能关键  
- **内存分配**:减少不必要的内存分配,尤其在热路径上  
- **字符串处理**:优先使用 `strings.Builder` 而非 `+` 拼接字符串  
- **JSON 处理**:对于频繁调用的代码,考虑使用 `jsoniter` 等高性能库

代码风格规则

  
# Golang 代码风格规范  
description: Golang 编码风格与格式化规则  
globs: "**/*.go"  
alwaysApply: true  
  
## 格式化与命名  
- **gofmt**:所有代码必须使用 `gofmt` 格式化  
- **命名约定**:  
  - 包名:小写字母,简洁明了  
  - 变量/函数名:使用 camelCase  
  - 接口名:以 -er 结尾(如 Reader, Writer)  
  - 公开函数/类型:使用 PascalCase  
  
## 代码结构  
- **函数长度**:函数应简短,原则上不超过 50 行:cite[10]  
- **参数数量**:函数参数不宜过多,可考虑使用结构体封装  
- **返回值**:多返回值时,最后一个是 error 类型  
- **注释规范**:  
  - 公共API必须提供有效注释  
  - 注释应该是完整的句子  
  - 使用 `//` 而非 `/* */`  
  
## 控制结构  
- **错误处理**:使用 `if err != nil { return err }` 而非嵌套结构  
- **初始化**:变量初始化使用短声明 `:=`  
- **循环**:使用 for 循环,Go 没有 while 循环

API设计规则

  
# Golang API 设计规范  
description: Web API 与微服务开发规则  
globs: "**/api/**/*.go","**/handler/**/*.go","**/controller/**/*.go"  
alwaysApply: false  # 针对API相关代码应用  
  
## RESTful 设计  
- **路由命名**:使用复数名词表示资源(如 `/api/users`)  
- **HTTP方法**:正确使用 GET(查)、POST(增)、PUT(改)、DELETE(删)  
- **状态码**:返回恰当的 HTTP 状态码  
  
## 响应格式  
- **统一响应**:使用统一响应格式封装返回结果  
- **错误响应**:错误信息应包含错误代码和描述信息  
- **分页响应**:列表接口支持分页  
  
## 中间件使用  
- **身份验证**:使用中间件处理身份验证和授权  
- **日志记录**:记录请求和响应日志  
- **超时控制**:设置合理的请求超时时间

第五个,忽略文件

cursor默认会读取所有的文件,但是如果你有些重要的配置文件,不希望暴露给cursor,就可以配置一个.cursorignore 文件。原理和语法类似.gitignore。

例子

  
# Ignore all files in the `dist` directory  
dist/  
  
# Ignore all `.log` files  
*.log  
  
# Ignore specific file `config.json`  
config.json
0
0
0
0
评论
未登录
暂无评论