Skip to content

Commit

Permalink
vault backup: 2024-11-14 21:31:17
Browse files Browse the repository at this point in the history
  • Loading branch information
sdasd22q committed Nov 14, 2024
1 parent 6e09246 commit ac6572a
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 40 deletions.
4 changes: 4 additions & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ export default {
text: "浏览器",
link: "/blog/frontend/browser/cache",
},
{
text: "AI",
link: "/blog/ai/cursor-guide",
},
{
text: "工具链及实践",
link: "/blog/frontend/tool/webpack-basic",
Expand Down
93 changes: 53 additions & 40 deletions docs/blog/ai/cursor-guide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Cursor 不完全上手指北

介绍Cursor AI IDE的最新上手指南,包括下载安装、基础操作、高级用法和技巧
介绍 Cursor AI IDE 的最新上手指南,包括下载安装、基础操作、高级用法和技巧

## 下载并安装 Cursor

Expand All @@ -18,106 +18,119 @@ Cursor 可以选择导入 VS Code 已有的配置。左侧显示文件结构,
- 代码索引: 该功能会为你的代码库建立索引,以提供上下文相关的建议和查询。它对于理解大型项目非常有用,尤其是那些难以全面把握的代码库
- 文件排除: 可以将敏感或无关文件排除在 AI 索引之外,以保护隐私并减少不必要的建议干扰
- composer:
- composer 是用于代码创作和编辑的功能模块,它可以帮助开发者更高效地编写和改进代码。在这个模式下,cusor 更加关注代码生成、重构、补全和解释等方面的任务
- 开发者可以通过 composer 来撰写新的代码、改进现有代码、或者请求特定的代码片段生成。composer 会理解代码上下文,帮助提供符合项目和代码风格的建议
- composer 是用于代码创作和编辑的功能模块,它可以帮助开发者更高效地编写和改进代码。在这个模式下,cusor 更加关注代码生成、重构、补全和解释等方面的任务
- 开发者可以通过 composer 来撰写新的代码、改进现有代码、或者请求特定的代码片段生成。composer 会理解代码上下文,帮助提供符合项目和代码风格的建议
- chat:
- chat 功能则更像是一个对话助手,用户可以与之交流代码的问题、请教实现细节、或者了解某些编程概念。
- 在 chat 模式下,Cursor 更专注于帮助用户解决疑问,解释代码,讨论技术选项,或者回答理论性的问题。`chat` 功能也适合用来进行代码审查,或者对代码进行整体性的建议。
- chat 功能则更像是一个对话助手,用户可以与之交流代码的问题、请教实现细节、或者了解某些编程概念。
- 在 chat 模式下,Cursor 更专注于帮助用户解决疑问,解释代码,讨论技术选项,或者回答理论性的问题。`chat` 功能也适合用来进行代码审查,或者对代码进行整体性的建议。

## 常用快捷键

### Edit

- Ctrl/⌘ + K:允许在编辑器窗口中生成新代码或编辑现有代码

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731580944126-b356d3b5-85b5-4c0a-b560-2717559c7173.png)
![](https://codertzm.oss-cn-chengdu.aliyuncs.com/image.png)

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731580921427-7c043461-6e7f-4a94-b7ea-9c125d82b3bb.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(1).png>)

### Chat
### chat

- Ctrl/⌘ + L: 打开聊天
- Ctrl/⌘ + Alt/Option + L: 打开聊天历史(需要在打开聊天面板的情况下使用)

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731581506319-43593e8f-251c-44f9-a86a-85510e253344.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(2).png>)

### Composer
### composer

- Ctrl/⌘ + I,打开 composer 面板
- Composer 是Cursor 的特色功能,它的功能是在一个对话窗口里同时对多个文件进行修改
- composer 是 Cursor 的特色功能,它的功能是在一个对话窗口里同时对多个文件进行修改

### Fix

- Ctrl/⌘ + Shift + E:对 linter 错误进行 AI 修复

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731581668290-532824d9-c805-4ac3-96c8-154c1a4b3b32.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(3).png>)

## 实用技巧

### 1. 解析当前项目,优化程序:
提示词:请分析项目、整理问题、并给出改进建议
### 2. 设置 Rules for AI:
1. 配置rules让cursor更加智能
2. 给编辑器配置rules:
### 1. 解析当前项目,优化程序

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731584761795-ea19cea0-0851-4df2-871c-e994224dd254.png)
提示词:请分析项目、整理问题、并给出改进建议

3. 在项目根目录下,创建.cursorrules文件
4. 具体rules规则可参考:[https://github.com/PatrickJS/awesome-cursorrules](https://github.com/PatrickJS/awesome-cursorrules)
### 2. 设置 Rules for AI

### 3. 同步代码索引:
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(4).png>)

1. 配置 rules 让 cursor 更加智能
2. 给编辑器配置 rules:
- 在项目根目录下,创建.cursorrules 文件
- 具体 rules 规则可参考:[https://github.com/PatrickJS/awesome-cursorrules](https://github.com/PatrickJS/awesome-cursorrules)

### 3. 同步代码索引

为了得到准确的回答,记得开启这两项

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731584868208-7f35ddde-bef0-4d0f-a410-d2d73d2a1bf4.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(5).png>)

其中:

codebase indexing 是将本地代码库分割成小块的语言数据,然后将每个小块发送给cursor服务器,使用open AI 的 embeding API 进行嵌入,并且将文件的相对路径一起存储到远程的矢量数据库中,既保证了代码的安全性,又能利用索引提高回答质量
codebase indexing 是将本地代码库分割成小块的语言数据,然后将每个小块发送给 cursor 服务器,使用 open AI 的 embeding API 进行嵌入,并且将文件的相对路径一起存储到远程的矢量数据库中,既保证了代码的安全性,又能利用索引提高回答质量

如果你不希望核心代码或者与项目无关的代码(日志文件、第三方工具、环境变量、打包后的文件)被索引,也可以设置忽略文件或目录(已经存在的ignore文件记得备份,不然会被覆盖):
如果你不希望核心代码或者与项目无关的代码(日志文件、第三方工具、环境变量、打包后的文件)被索引,也可以设置忽略文件或目录(已经存在的 ignore 文件记得备份,不然会被覆盖):

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731585079891-bdc165b2-3787-403c-8696-a1e94cd8829f.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(6).png>)

4. Chat vs Composer:
### 4. chat vs composer

在 cursor 中,有两处是可以用来对话的:

![](https://cdn.nlark.com/yuque/0/2024/png/21456068/1731585417801-40b95eb9-bd96-47d0-b126-bd207048f162.png)
![](<https://codertzm.oss-cn-chengdu.aliyuncs.com/image%20(7).png>)

什么时候用 ChatComposer
什么时候用 chatcomposer

Chat用于思考层面,Composer用于快速编辑
chat 用于思考层面,composer 用于快速编辑

- Chat
- chat

- 当你对需要实现的功能不太确定,所涉及的逻辑又十分复杂,并且这个逻辑又涉及到多个文件的时候,不妨在 Chat里询问清楚
- 当你对需要实现的功能不太确定,所涉及的逻辑又十分复杂,并且这个逻辑又涉及到多个文件的时候,不妨在 chat 里询问清楚
- 把自己想到的创意的点子说出来,让 chat 为你提供一些有参考价值的建议

- Composer
- composer

- 当思路被理清楚,分解成指令
- 你认为这个任务很简单
- 你任务要实现的功能非常明确

5. 乱改代码的问题
### 5. 乱改代码的问题

给 cursor 提出问题前,为了防止他出现非常离谱的回答

- 可以让他先复述一遍你的需求
- 添加一句:不要影响其他功能和界面布局样式

6. 日志输出
### 6. 日志输出

给项目加上日志,提示词:在 【功能】的执行过程中,输出关键信息

8. README文档:让 cursor 对 项目README文档进行更新和维护,这样重新回到项目的时候,也可以让 cursor 读取这个README文档
9. 增加注释:让 cursor 生成代码的时候增加注释,帮助自己理解实现的逻辑
10. 调试时 save all:使用 Composer 时,当处于在项目测试和改bug阶段,先选择 save all,此时代码处于运行的状态,如果满意,选择 accept all,如果不满意,选择 reject all
11. 多用 @codebase:使用 Composer 和 Chat 功能时,尽量多用 @codebase,否则 cursor 经常不知道项目内容是什么
### 7. README 文档

让 cursor 对 项目 README 文档进行更新和维护,这样重新回到项目的时候,也可以让 cursor 读取这个 README 文档

### 8. 增加注释

让 cursor 生成代码的时候增加注释,帮助自己理解实现的逻辑

### 9. 调试时 save all

使用 composer 时,当处于在项目测试和改 bug 阶段,先选择 save all,此时代码处于运行的状态,如果满意,选择 accept all,如果不满意,选择 reject all

### 10. 多用 @codebase

使用 composer 和 chat 功能时,尽量多用 @codebase,否则 cursor 经常不知道项目内容是什么

参考:

- [Cursor - Build Software Faster](https://docs.cursor.com/get-started)
- [Cursor十大使用技巧:免费无限量使用Cursor Pro会员指南_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1YAtReqEkH/?spm_id_from=333.337.search-card.all.click&vd_source=ec61df0d63e147463c27541f414a804d)
- [实用的Cursor使用技巧分享_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1RBm2YJEb9/?spm_id_from=333.337.search-card.all.click&vd_source=ec61df0d63e147463c27541f414a804d)
- [Cursor 十大使用技巧:免费无限量使用 Cursor Pro 会员指南\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1YAtReqEkH/?spm_id_from=333.337.search-card.all.click&vd_source=ec61df0d63e147463c27541f414a804d)
- [实用的 Cursor 使用技巧分享\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1RBm2YJEb9/?spm_id_from=333.337.search-card.all.click&vd_source=ec61df0d63e147463c27541f414a804d)

0 comments on commit ac6572a

Please sign in to comment.