Cursor 编辑器使用指南

admin1个月前 (10-19)AI编程94

一、简介

Cursor 是一款基于 VS Code 构建的 AI 编程编辑器,由 Anysphere 团队开发。它将大型语言模型(如 GPT-4、Claude)深度集成到开发环境中,提供智能代码补全、对话式代码生成、上下文感知、项目理解等功能,旨在提升开发效率、降低学习门槛。


二、安装与配置

2.1 下载与安装

  • 官网https://cursor.com

  • 支持平台:Windows、macOS、Linux(基于 VS Code 构建,支持大部分 VS Code 插件和设置)

2.2 初次启动与配置

  • 首次启动:安装后启动 Cursor,登录或注册账号。

  • 设置中文界面File > Preferences > Extensions,搜索并安装 Chinese (Simplified) Language Pack。


三、核心功能

3.1 Tab 智能补全

  • 功能:按下 Tab 键,Cursor 会根据上下文自动补全代码。

  • 场景:适用于快速编写函数、类、条件语句等。

3.2 Cmd+K 一键 AI 助手

  • 功能:按下 Cmd+K(或 Ctrl+K),启动 AI 助手,进行代码生成、重构、审查等操作。

  • 示例:输入“生成一个 Node.js + Express 的用户管理 API”,AI 会自动生成相应代码。

3.3 Chat 对话式编程

  • 功能:在编辑器中与 AI 进行对话,获取代码建议、解释、优化等。

  • 场景:适用于调试、学习新技术、理解复杂代码等。

3.4 Agent 模式

  • 功能:AI 会自动分析项目结构,理解上下文,提供更精准的建议。

  • 场景:适用于大型项目、复杂系统的开发和维护。


四、上下文与规则系统

4.1 上下文功能

  • @Files:引用特定文件,AI 会根据这些文件提供更准确的建议和分析。

  • @Folders:引用特定文件夹,帮助 AI 理解项目结构并提供相关上下文信息。

  • @Code:引用代码段,在对话中直接引用代码段,用于代码解释、优化和修改建议。

  • @Docs:引用文档,快速引用项目相关文档,帮助 AI 获取更多上下文信息。

  • @Git:版本控制,与版本控制系统交互,查看提交记录和分支信息。

  • @Web:网页搜索,可以在 Cursor 命令中动态添加最新的在线信息和文档作为上下文。

4.2 规则系统

  • .cursorrules:在项目根目录创建 .cursorrules 文件,定义项目的开发规则、代码风格、依赖库等,帮助 AI 更好地理解项目要求。

  • .cursorignore:在项目根目录创建 .cursorignore 文件,指定 AI 在分析项目时忽略的文件或目录,避免不必要的干扰。


五、快捷键与命令

5.1 常用快捷键

快捷键功能描述
Tab智能代码补全
Cmd+K启动 AI 助手
Ctrl+L启动 Chat 对话式编程
Ctrl+I启动 Agent 模式

5.2 常用命令

  • cursor-agent:启动 Agent 模式。

  • cursor-agent -p "<prompt>":执行一次性任务。

  • cursor-agent --resume <session-id>:恢复指定会话。


六、实战案例:构建 AI 驱动的博客系统

6.1 项目结构

ai-blog/
├── backend/                # 后端代码
│   ├── api/
│   ├── service/
│   ├── model/
│   ├── database/
│   └── main.go
├── frontend/               # 前端代码
│   ├── components/
│   ├── pages/
│   └── utils/
├── tests/                  # 测试代码
│   ├── backend/
│   └── frontend/
├── docker/                 # 容器构建文件
│   └── Dockerfile
├── scripts/                # 自动化脚本
│   └── migrate.sh
├── requirements.md         # 需求文档
├── .rules.md               # Cursor 开发规则
└── README.md               # 项目总览

6.2 需求文档(requirements.md)

# AI 驱动博客系统需求文档

## 项目目标

构建一个支持 AI 自动生成内容、前后端分离的博客系统。

## 功能模块

- 用户注册与登录
- 博客文章的增删改查
- 评论与点赞
- 后台管理(用户管理、内容审核)
- AI 助手(根据主题自动生成文章内容)

## 技术栈

- 后端:Go(Gin 框架)、PostgreSQL
- 前端:Next.js、Tailwind CSS
- AI 接口:OpenAI GPT-4
- 容器:Docker + Devbox(开发环境)

6.3 开发规则(.rules.md)

# Cursor 开发规则

## 技术与架构

- 后端必须使用 Go(Gin 框架),禁止使用外部 ORM。
- 数据库使用 PostgreSQL,表结构按 SQL 标准。
- 前端使用 Next.js,采用 Tailwind CSS 样式。
- 所有 API 接口必须返回标准 JSON 格式。
- AI 接口通过 GPT-4 调用,封装为单独服务层。

## 代码规范

- 命名使用驼峰风格(camelCase)。
- 单文件长度不超过 300 行。
- 单元测试覆盖率不低于 80%。

## 其他约束

- 必须提供 Dockerfile,支持容器化部署。
- 前后端完全分离,通过 REST API 通信。

6.4 示例对话

开发者输入:

基于需求文档,帮我生成 Go 的 RESTful API 后端框架,包括:

- /api/article 增删改查接口
- 数据库 PostgreSQL 建表 SQL
- 使用 Gin 框架
- 符合 .rules.md 中的约束

AI 响应:

// 生成 Go 后端目录及主要代码:

// main.go
package main

import (
    "github.com/gin-gonic/gin"
    "ai-blog/api"
)

func main() {
    r := gin.Default()
    api.RegisterRoutes(r)
    r.Run(":8080")
}

// api/article.go
package api

import (
    "github.com/gin-gonic/gin"
    "ai-blog/service"
)

func RegisterRoutes(r *gin.Engine) {
    r.GET("/api/article", service.GetArticles)
    r.POST("/api/article", service.CreateArticle)
    r.PUT("/api/article/:id", service.UpdateArticle)
    r.DELETE("/api/article/:id", service.DeleteArticle)
}

// service/article.go
package service

import (
    "ai-blog/model"
    "github.com/gin-gonic/gin"
    "net/http"
)

func GetArticles(c *gin.Context) {
    // 获取文章列表的逻辑
}

func CreateArticle(c *gin.Context) {
    // 创建文章的逻辑
}

func UpdateArticle(c *gin.Context) {
    // 更新文章的逻辑
}

func DeleteArticle(c *gin.Context) {
    // 删除文章的逻辑
}

开发者输入:

生成 Next.js 前端页面:

- 博客文章列表(/pages/articles)
- 博客详情(/pages/articles/[id])
- 样式用 Tailwind
- 遵循 .rules.md 约束

AI 响应:

// pages/articles/index.js
import React from 'react'

const Articles = () => {
    // 获取文章列表的逻辑
    return (
        <div className="container mx-auto">
            <h1 className="text-3xl font-bold">博客文章列表</h1>
            {/* 文章列表 */}
        </div>
    )
}

export default Articles

// pages/articles/[id].js
import React from 'react'

const ArticleDetail = () => {
    // 获取文章详情的逻辑
    return (
        <div className="container mx-auto">
            <h1 className="text-3xl font-bold">文章详情</h1>
            {/* 文章内容 */}
        </div>
    )
}

export default ArticleDetail

开发者输入:

生成 PostgreSQL 建表 SQL

AI 响应:

-- 创建文章表
CREATE TABLE articles (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

七、最佳实践与团队建议

  • 统一规则与记忆文件:在团队项目中,建议统一建立项目级记忆文件(如 AGENTS.md.rules.md),记录项目架构、规范、约定,供 AI 参考。

  • 权限控制:在敏感或生产环境中使用 AI 自动改动前,务必备份代码,并设置权限控制,避免误操作。

  • 脚本化调用:在 CI/CD 流程中使用非交互模式,并为关键任务设置超时、失败回退机制,确保稳定性


相关文章

Qoder CLI 使用指南(入门版)

Qoder CLI 使用指南(入门版)

引言在现代软件开发流程中,越来越多团队开始采用命令行工具和 AI 辅助来提升效率。 Qoder CLI 是 Qoder 平台推出的一款命令行界面工具,旨在让开发者直接在终端环境中使用自然语言生成代码、...

Claude Code CLI 使用指南

一、简介Claude Code CLI 是由 Anthropic 推出的命令行工具,专为开发者设计,使你能够在终端环境中调用 Claude 系列模型进行“编程助手机器人”式的辅助:代码生成、分析、审查...