Cursor 指令使用指南与实例

483 阅读4分钟

工具概览

Cursor 提供了一系列强大的工具来帮助开发者提高工作效率。本指南将通过具体实例来展示这些工具的使用方法。

1. 目录文件操作

1.1 查看目录内容 (list_dir)

使用 list_dir 命令可以查看指定目录下的文件结构:

示例:

list_dir logic          # 查看 logic 目录内容
list_dir services       # 查看 services 目录内容
list_dir tests         # 查看测试目录内容

实际使用案例:

  • 查看项目整体结构
  • 定位特定类型文件
  • 了解模块组织方式

image.png

1.2 读取文件内容 (read_file)

使用 read_file 可以查看文件具体内容:

  • 用途:读取指定文件的内容
  • 使用场景:查看代码实现、检查配置文件、分析日志等
  • 特点:可以指定行号范围,支持部分读取

示例:

read_file logic/user_logic.go                 # 读取整个文件
read_file services/auth.go 10 50              # 读取第10-50行
read_file repository/model/user.go 1 100      # 读取前100行

2. 代码搜索功能

2.1 语义化搜索 (codebase_search)

codebase_search 支持语义化的代码搜索:

语法:codebase_search A [B]

  • A:搜索内容
  • B:(可选)搜索范围

示例:

codebase_search "用户认证相关的代码"
codebase_search "数据库连接池配置" "repository"
codebase_search "错误处理逻辑" "controller"

使用场景:

  • 查找特定功能实现
  • 寻找相似代码片段
  • 理解代码结构

image.png

2.2 精确搜索 (grep_search)

使用 grep_search 进行精确文本匹配:

  • 用途:查找精确的文本或正则表达式匹配
  • 使用场景:查找函数调用、变量使用、特定字符串等
  • 特点:支持正则表达式,可以指定文件类型

示例:

grep_search "func NewUserService"              # 搜索函数定义
grep_search "db.Query" "*.go"                 # 在Go文件中搜索数据库查询
grep_search "ERROR:" "*.log"                  # 在日志文件中搜索错误

2.3 文件搜索 (file_search)

  • 用途:基于文件名进行模糊搜索
  • 使用场景:快速定位文件位置,不确定完整路径时
  • 特点:支持模糊匹配,搜索速度快

示例:

file_search user_service           # 搜索包含user_service的文件
file_search test.go               # 搜索所有test.go文件
file_search config.yaml           # 搜索配置文件

3. 代码编辑操作

3.1 修改文件 (edit_file)

  • 用途:修改文件内容
  • 使用场景:代码修改、bug修复、功能增强等
  • 特点:支持精确定位,可以指定修改范围

示例:

edit_file services/user_service.go            # 编辑用户服务文件
edit_file repository/model/user.go            # 编辑用户模型文件
edit_file controller/auth_controller.go       # 编辑认证控制器

3.2 重新应用修改 (reapply)

  • 用途:重新应用上一次的编辑操作
  • 使用场景:当edit_file的修改结果不符合预期时
  • 特点:智能重试,提高修改成功率

示例:

reapply services/user_service.go              # 重新应用对用户服务的修改
reapply controller/auth_controller.go         # 重新应用对控制器的修改

4. 实用场景示例

4.1 代码重构

  1. 使用 codebase_search 找到相关代码
  2. 用 grep_search 确认所有调用点
  3. 用 read_file 详细检查
  4. 用 edit_file 进行修改
  5. 用 run_terminal_cmd 运行测试

4.2 问题排查

  1. 用 file_search 定位相关文件
  2. 用 grep_search 查找错误信息
  3. 用 read_file 分析代码
  4. 用 codebase_search 寻找类似问题

5. 注意事项

5.1 工具选择建议

  • 语义搜索 vs 精确搜索
    • 需要理解功能时用 codebase_search
    • 需要精确查找时用 grep_search
  • 文件操作
    • 查看内容用 read_file
    • 修改内容用 edit_file
    • 目录浏览用 list_dir

5.2 常见问题

Q: 如何选择合适的搜索工具? A: 根据需求选择:

  • 了解功能实现:codebase_search
  • 查找具体使用:grep_search
  • 定位文件:file_search

Q: 修改失败怎么办? A: 可以:

  • 使用 reapply 重试
  • 调整修改内容
  • 确认文件权限

6. 最佳实践

  1. 信息收集

    • 先用 list_dir 了解结构
    • 用 file_search 定位文件
    • 用 codebase_search 查找实现
  2. 代码分析

    • 用 read_file 查看实现
    • 用 grep_search 查找依赖
    • 用 codebase_search 找相似代码
  3. 修改实现

    • 用 edit_file 修改代码
    • 必要时用 reapply
    • 用 run_terminal_cmd 测试
  4. 验证修改

    • 用 read_file 确认修改
    • 用 grep_search 检查影响
    • 运行相关测试