【Cursor】Cursor的基本使用方式

前言

安装 Cursor 有一段时间了,一直没有用起来,最近项目也准备探索借助AI工具提效,借此机会学习一下Cursor的基本使用。没有安装过Cursor的小伙伴可以参考之前的安装文稿:【Cursor】安装注册

Cursor版本

当前使用 Cursor 版本为 0.44.9

常用快捷键

Cursor 中有4个最常用的快捷键:

  • Tab:接受自动补全内容
  • Ctrl/Cmd+K:文件内聊天
  • Ctrl/Cmd+L:侧边栏聊天
  • Ctrl/Cmd+I:侧边栏Composer聊天,具有编辑整个项目内容的能力

代码补全

编辑代码时 Cursor 会自动检查当前语言环境,预测补全代码并使用灰色字体显示建议补全的内容

在这里插入图片描述

在这里插入图片描述

针对代码的接受和拒绝我们可以尝试使用快捷键:

  • 接受提示:直接使用 Tab 键确认接受
  • 拒绝提示:不接受可以使用 ESC 键拒绝
  • 逐字接受:逐字部分接受建议,使用快捷键【Ctrl/Command+→】,在新版本中需要在Cursor设置的【Features】中开启选项

在这里插入图片描述

代码修复

在这里插入图片描述

鼠标悬停在问题代码上 Cursor 会给出对应修复提示,修复方式有 Fix in Composer 和 Fix in Chat 2种方式:

  • Fix in Composer:在composer中进行提问,composer会修复问题并给出修复建议代码,可以选择接受或者拒绝,接受代码可以整体接受也可以局部接受,选择接受代码会直接插入文件
  • Fix in Chat:在chat中进行提问,chat会给出修复问题的答案,需要手动合并代码

在这里插入图片描述

在这里插入图片描述

代码注释

选中代码块使用快捷键【Cmd+K】唤起内联聊天窗口直接输入提示词要求为代码块使用中文生成 JSDoc 规范注释

在这里插入图片描述

点击【Submit Edit】稍等片刻即可看到生成的代码注释

在这里插入图片描述

代码解释

随便找一段代码,选中代码块使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词:

使用中文帮我逐行解释这段代码的作用

在这里插入图片描述

一开始使用的是 cursor-fast 模型效果很差,还得是 claude-3.5-sonnet,使用 cursor-fast 根本没这个效果

在这里插入图片描述

内容纠错

选中文本使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词要求Cursor帮我们检查文本内容中的错误

在这里插入图片描述

可以看到Cursor帮我检查到文本内容的异常并给出了正确的修改建议

在这里插入图片描述

多语言翻译

选中文本使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词要求Cursor帮我们把文本内容翻译成英文和繁体字版本

在这里插入图片描述

Cursor虽然完成了翻译任务,但是繁体字版本中文本内容的错误并没有完全纠正,只纠正对了一个“版本”

在这里插入图片描述

内联聊天

快捷键:Cmd + K
功能:单文件中聊天或者选中内容聊天

Cursor 支持在文件内聊天与修改内容,将光标定位到文件内,使用快捷键【Cmd + K】唤起文件内聊天面板输入提示词

在这里插入图片描述

如果只针对部分代码进行提问,可以选中代码块,使用快捷键【Cmd + K】唤起文件内聊天面板输入提示词进行提问

在这里插入图片描述

选中代码点击【Edit】或者使用快捷键【Cmd + K】唤起内联聊天窗口

在这里插入图片描述

运行代码 python tmp.py 看到 hello 以打字效果打印出来。

终端聊天

在终端中使用快捷键【Cmd+K】唤起聊天窗口,输出提示词,Cursor将在终端中直接填充所需的Shell指令。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Chat(侧边栏聊天)

  • 快捷键:Cmd + L 或 Cmd+Shift+L\
  • 功能: 以侧边栏chat形式进行代码提示、修复、解释代码等

在这里插入图片描述

在这里插入图片描述

Cursor为我们生成了对应代码,点击代码右上角的【Apply】效果如下

在这里插入图片描述

如需要接受代码可以手动选择接受也可以点击代码块右上角的【✔️】全部接受。接受代码后预览效果如下:

在这里插入图片描述

Composer

  • 侧边栏快捷键:Cmd + I
  • 面板快捷键:Cmd + Shift + K
  • 功能:针对整个项目的跨文件理解及处理

在这里插入图片描述

使用快捷键【Cmd + I】唤起Composer对话框,输入提示词等待Cursor回复

在这里插入图片描述

Composer会自动修改目标文件并提示对应的修改内容对比,可择Composer对话框上方的【Accept all】接受所有更改,【Reject all】拒绝所有更改

在这里插入图片描述

接受代码后,查看效果如下:

在这里插入图片描述

初步使用体验

项目扫描

在这里插入图片描述

  • Cursor的 Chat Submit 模式无法扫描整个项目结构,Codebase 模式可以
  • Cursor的 Composer 模式能够扫描整个项目的代码库,并提取出相关内容作为向大模型询问的上下文,能够充分考虑整个代码库的结构和逻辑

编程能力

  • Curosr在 Claude-3.5-Sonnet 模型的加持下在上下文理解、跨文件处理及编码能力上有着不错的表现,可以满足绝大多数编码场景。
  • 对代码解释、代码修复、代码纠错方面表现也是相当不错的

续写&纠错&翻译

Curosr在 Claude-3.5-Sonnet 模型的加持下对日常的内容续写、纠错和和翻译方面也有着不错的表现,但目前仍有待完善

业务场景

Curosr在业务场景的使用还有待提高,实际使用发现Cursor会在修改布局或者添加功能时覆盖原有代码功能,而不是基于现有功能代码进行更改(非实时上下文,需常用@codebase),所以在业务场景使用时最好做好稳定代码的版本管理,防止代码报废。

友情提示

见原文:【Cursor】Cursor的基本使用方式

### 关于 Cursor Apply No Change Made 的分析 在处理 `cursor` 属性时,如果应用样式后出现 `'no change made'` 或者未生效的情况,通常可能涉及以下几个方面的原因: #### 1. **CSS 特性优先级** 某些情况下,其他 CSS 规则可能会覆盖当前设置的 `cursor` 值。例如,可能存在更高优先级的选择器或者内联样式影响了目标元素的行为[^1]。 ```css /* 示例:低优先级 */ .my-element { cursor: pointer; } /* 高优先级覆盖 */ body .my-element { cursor: default !important; /* 使用了更高的权重 */ } ``` 为了验证这一点,可以通过开发者工具检查实际应用于该元素的有效样式,并确认是否存在冲突规则。 --- #### 2. **动态内容加载** 如果页面中的部分内容是通过 JavaScript 动态生成或修改,则初始定义的 `cursor` 可能会被后续脚本重置。确保在 DOM 更新完成后重新绑定所需的样式属性。 ```javascript // 确保动态更新后的元素也具有正确的 cursor 设置 document.querySelectorAll('.dynamic-elements').forEach(el => { el.style.cursor = 'pointer'; }); ``` 上述代码片段展示了如何遍历特定类名下的所有节点并强制指定其光标行为。 --- #### 3. **浏览器兼容性和默认行为** 尽管现代主流浏览器普遍支持标准的 CSS `cursor` 定义,但在特殊场景下仍需注意潜在差异。特别是当尝试实现高度定制化的滚动条功能时(如引用所提到的内容),部分操作可能导致预期外的结果。 对于跨浏览器一致性问题,建议测试不同环境下的表现,并利用标准化库辅助开发过程。例如借助第三方框架简化复杂交互逻辑的同时保持良好体验。 --- #### 4. **事件监听机制干扰** 有时即使视觉上的鼠标指针形状调整正常完成,但由于附加到相同区域内的其他事件处理器阻止了默认动作,也可能让用户感知不到任何变化发生。此时应排查是否有 preventDefault() 调用或其他类似限制存在[^2]。 ```javascript // 错误示范:意外禁用了链接跳转等功能 document.querySelector('a.custom-link').addEventListener('click', function(event){ event.preventDefault(); // 这里会抑制原有行为 }); ``` 务必仔细审查相关代码段落,避免不必要的干预措施破坏用户体验流畅度。 --- ### 综合解决方案 针对以上可能性逐一排查定位根本原因之后采取相应对策即可有效解决问题。具体实施步骤如下所示但不限于这些方法论范畴之内——优化现有架构设计思路从而达到理想效果呈现目的为止! ```html <!-- HTML 结构 --> <div class="example"> Hover me! </div> ``` ```css /* 正确声明样式的例子 */ .example { width: 200px; height: 100px; background-color: lightblue; text-align: center; line-height: 100px; border: 1px solid darkgray; /* 明确设定游标的外观形式 */ cursor: grab; /* 或者 hand、crosshair 等选项依据需求而定 */ } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值