持续更新:当前最好用的AI 编程工具,Cursor 编程指南

本文持续更新,敬请期待更多内容。

文章目录

这一次,AI真懂你的代码

如果你偶尔关注一些AI编程相关的内容,想必你已经对Cursor有所耳闻。

比如OpenAi的联合创始人Andrej Karpathy最近在X中提到,他正在使用Cursor来取代Github Copilot来作为主要编程的辅助方式。

这是目前自己最喜欢并且几乎已经离不开的一款AI编程工具。

Cursor是一款独立开发的AI驱动代码编辑器,在使用上它提供了与VSCode类似的用户体验。

这意味着如果你熟悉VSCode,使用Cursor几乎没有学习曲线。你可以轻松地将现有的主题、快捷键和设置迁移到Cursor中,保持你熟悉的工作环境。

其次,相比于跳转到网页端去提问ChatGPT或者Claude等模型,Cursor内部支持多种模型。这样就可以在一个界面内持续思考和编程,更加沉浸,不需要跳来跳去打断思路。

当然,最重要的是,对于代码的理解和解释更加精准,可以针对整个代码库的文件进行索引。尤其是对于工程项目,对于复杂的调用关系,文件关系,普通的AI模型几乎没有对这类场景进行有效的提问。

但这些对于Cursor来说,都是基础操作。在这里,你可以非常方便地添加文件、文件夹甚至整个代码库,作为你的上下文进行提问。尤其是对于工程类的项目,想要结合全局,解释一段代码,或者单纯的希望帮你找到某一段代码,修复某个问题,都将会非常好用。

比如我现在是一个初步接触项目代码的新人,我希望快速搞明白关于某个业务的逻辑。那么就可以输入问题之后,直接选用整个代码库作为上下文。

然后可以看到Cursor在回答具体的问题之前,先进行代码库的扫描。

然后进行回答。更方便的是,由于对整个代码库的文件进行了索引,回答中的文件或者代码,点击可以直接跳转到对应的文件。

关注该关注的,忽略该忽略的

不过在某些场景下,我们并不需要对全部文件进行索引,比如当项目中包含大量生成文件、日志文件或非核心代码文件时,索引它们不仅浪费时间,还可能让检索结果不够精确。而Cursor 也刚好考虑到了这一点,可以排除不必要的文件或目录。

具体的操作过程可以见演示视频。

创建.cursorignore文件

首先你需要在项目的根目录中使用一个 .cursorignore 文件,它的工作方式与 .gitignore 在 git 中的工作方式相同,可以排除特定文件或目录,如日志文件或临时文件,或者只包含特定类型的文件。

1、忽略特定文件。

例如,想忽略日志文件或特定目录时,你只需在 .cursorignore 文件中添加相应的路径规则。

对于一个新上手的项目,此时可以先参考 .gitignore 文件,因为它已经列出了许多不需要纳入版本控制的文件,例如构建文件、日志、依赖项等。

bash 复制代码
# 忽略 `dist` 目录中的所有文件
dist/

# 忽略所有 `.log` 文件
*.log

# 忽略特定文件 `config.json`
config.json

比如我并不希望回答从framework目录中作为参考,那么在 .cursorignore 文件中添加framework/,就可以达到目的。

2、仅包含特定文件

还有一些场景,你仅仅需要包含某一类特定的文件。

相关语法:

  • *:忽略所有文件。

  • !:在忽略所有文件的情况下,使用 ! 例外规则指定某些文件或目录不被忽略。

假设你希望在仅关注 app 目录中包含的Python 文件(.py),而忽略其他文件类型,可以使用以下 .cursorignore 文件配置:

bash 复制代码
# 忽略所有文件
*
# 不忽略 app 目录
!app/
# 不忽略 app 目录中的子目录
!app/*/
!app/**/*/
# 不忽略 .py 文件
!*.py

在这个例子中:

  • *:此规则忽略项目中的所有文件和目录。
  • !app/:使 app 目录不被忽略,表示此目录将被包含。
  • !app/*/!app/**/*/:确保 app 目录下的所有子目录也不会被忽略。
  • !*.py:明确指示 Python 文件(.py)不被忽略,允许这些文件被包含进来。

通过这种方式,你能确保 Cursor 仅索引 app 目录及其子目录中的 .py 文件,其他文件(如 .txt.log 文件)则被排除。这个规则特别适合在大项目中仅索引关键代码文件,而忽略其他无关内容。

重新索引代码库

左上角,点击Cursor,选择首选项,进入Cursor Settings

选择Features,来到Codebase Indexing设置。

注意,大部分情况下,代码库索引会自动与最新的代码库更改同步。但是如果手动修改了.cursorignore 文件配置,最好是手动执行一下,点击"Resync Index"即可。这样,如果你的项目中有任何内容文件是 AI 绝对不需要读取的,忽略这些文件可能会提高答案的准确性。

参考资料

Cursor官方文档:https://docs.cursor.com/get-started/migrate-from-vscode

相关推荐
冬奇Lab4 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab4 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP8 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年8 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼8 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS9 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区10 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈10 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang10 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk112 小时前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能