cursor 的组件以及使用

写在前面:

如果你没有使用过cursor,建议先看这篇文章:先自己随便点点,使用一下,然后再看看这些概念的东西会有一个更高效的认知。不拘泥于概念,但是又不能不了解概念。当然这些介绍也只是皮毛,在运用中才有更深的体会

认识cursor 基本布局:

cursor 的组件以及使用_第1张图片

可以通过Ctrl+I 打开最右边的cursor AI 助手的智能面板,ctrl+N 创建一个新的对话窗口

Cursor三种不同的模式

Chat:

这个功能和你在kimi 或者豆包等AI中聊天类似,但是它内嵌在cursor 中,能直接读取文件信息,提供上下文的功能,消除使用语言模型处理代码时原本需要的繁琐复制粘贴工作。

Composer:

 是一个集成在编辑器中的 AI 编码助手。跟chat 模式一样,除了可以选用不同的模型之外。它还多了两个不同的模式normal/agent 模式。Agent 的AI 程度远远高于normal 模式,想要更加智能,或者处理更加复杂的任务可以首选agent模式。

Composer 的 Normal 模式和 Agent 模式的对比:

特性

Normal 模式

Agent 模式

核心功能

提供代码探索和生成

1. 自动获取相关上下文

2.运行终端命令

3.创建和修改文件

4.语义搜索代码

5.执行文件操作

自主性

需要用户明确指定任务和上下文,自主性较低

根据任务自动理解代码库,找到相关文件,生成、修改、调试等操作。自主性较高

任务处理能力

适合处理相对简单或明确的任务

能够处理复杂任务,如代码重构、错误修复、自动化任务执行、生成完整的项目等。

上下文管理

需要用户手动指定上下文,如使用 # 文件选择和@符号组合来精确控制上下文

自动获取相关上下文,使用

@Recommended 命令可以自动调整 AI 的关注范围。

使用场景

适合代码的简单修改、探索和生成等场景

适合需要 AI 独立完成复杂任务的场景,如重构模块、修复代码错误、自动化执行批量操作等

cursor@ 功能

@ 即和我们聊天一样,具体指向某个对象,这里就是告诉AI具体的上下文信息来源

注记名称

作用

使用方法

具体例子

适用场景

@Files

传递指定代码文件的上下文

输入@Files后选择文件,文件内容注入上下文

@Files后选择 main.py文件,将main.py 的全部代码内容传入上下文

代码文件相关问题

@Code

传递指定代码块的上下文

输入@Code后选择代码块,代码块由 LSP 识别

@Code后选择

def add(a, b): return a + b

这个函数代码块

代码块相关问题

@Docs

从函数或库的官方文档获取上下文

使用@Docs从可访问的在线文档获取上下文,需线上地址

@Docs后获取numpy

库中numpy.array

函数的官方文档

函数或库使用相关问题

@Web

从搜索引擎的搜索内容获取上下文

使用@Web后先向搜索引擎搜索,从搜索结果提取上下文

@Web后搜索 "Python 最新版本",从搜索结果中提取相关信息

需要搜索信息的问题

@Folders

传递文件目录信息的上下文

使用@Folders

提供文件目录相关信息

@Folders后提供src

目录的路径信息

路径问题等与目录相关场景

@Chat

将当前聊天消息作为上下文

只能在文件内的代码生成窗口里使用

在文件内的代码生成窗口里输入@Chat后,将当前聊天消息传入上下文

文件内代码生成相关场景

@Definitions

提供变量、类型定义的上下文

类似于@Code

,但只能在文件内的代码生成窗口里使用

在文件内的代码生成窗口里输入@Definitions后,提供class Person:的定义

查看变量、类型定义相关场景

@Git

将 Git 仓库的 commit 历史作为上下文

只能在对话窗里使用,传递 commit 历史信息

在对话窗里输入@Git后,将当前 Git 仓库的 commit 历史传入上下文

代码协作查找历史提交记录等

@Codebase

在代码仓库里扫描文件传入上下文

需传递过滤条件设置过滤参数,从代码仓库中找到特定文件上下文

@Codebase

后设置过滤条件为 "文件名包含test",找到所有包含test的文件

代码仓库文件查找相关场景

chat模式和composer 模式对比

Cursor 的 Chat 模式主要用于与代码进行交互式对话,理解代码并提供解释和建议,而 Composer 模式则用于编写和编辑代码,生成新代码并将更改直接应用到文件中。所以如果你想要cursor 能更加智能的处理较为复杂的功能级的场景优先选择composer 的agent 模式

特性

Chat 模式

Composer 模式

功能定位

用于搜索和理解代码。可以探索代码库、提出问题并获取解释。更像交互式对话工具,帮助开发者与代码交互,获取代码解释和建议。

用于编写和编辑代码。提供工作区,生成新代码并将更改直接应用到文件中。更像创作者,宏观把控代码编写和修改,适合代码生成、编辑和优化。

上下文理解范围

理解内容仅限当前文件,无法跨文件理解,不能完整把握文件间调用关系。

可同时理解多个文件,更好地把握文件间调用关系和上下文。

文件处理方式

可生成文件并一次处理多个文件,但每个文件更改需逐一应用。

更改可立即应用到文件中,无需逐一应用。还可直接创建、删除或修改文件。

使用场景

适合单文件理解、片段代码问题解释等场景,更注重代码理解和解释。

适合编写新功能、修改现有代码等场景,更注重代码生成和编辑。

Bug Finder:

Bug Finder 模式是一个代码扫描工具,顾名思义主要是检错功能。 但Bug Finder 功能还处于 Beta 实验阶段,推理收费。功能听上去还挺强大,可以浅浅期待一下:

  • 代码变更分析:分析当前分支和远程代码库中主分支之间的代码变更,以便在开发初期发现潜在问题。
  • 错误检测:自动检测代码中的潜在错误,并为每个发现的错误提供置信度评级和概述。
  • 修复建议:提供修复建议,并允许一键修复编辑器中的错误

Cursor使用模型

以下是 Cursor 支持的大型语言模型的对比表格:

性能与智能程度:GPT-4 和 Claude-3.5-Sonnet 等大型模型在性能和智能程度上较高,能够更好地理解和生成复杂的代码,适用于对代码质量要求较高的场景。而 cursor-small 等轻量级模型虽然智能程度相对较低,但响应速度快,适合对速度要求较高的场景, cursor-small可以免费无限次数使用。

模型名称

开发者

特点

优势

适用场景

GPT-4

OpenAI

高级自然语言理解和生成能力,擅长根据自然语言描述生成代码

处理复杂逻辑和算法,构建大型项目架构代码表现优异

复杂业务逻辑的后端项目开发

Claude-3.5-Sonnet

Anysphere

代码补全、代码优化、跨文件协同编辑表现出色,有 OpenAI 资金支持

创造性思维,代码优化调整,模块间代码整合优化

大型开源项目或企业级项目不同模块间代码整合优化

cursor-small

Cursor

自定义模型,速度更快,用户无限制访问

响应速度快,适合对速度要求较高的场景

对速度要求较高的编程场景

GPT-4o

OpenAI

GPT-4 的变种

与 GPT-4 类似,但可能有特定的优化或限制

类似于 GPT-4 的使用场景,具体取决于优化方向

其他模型

Google、Azure等

通过配置 API Key 使用

根据具体平台模型的特性,可能在某些方面有独特优势

根据具体平台模型的适用场景

你可能感兴趣的:(人工智能)