当前位置: 首页 > web >正文

Cursor三大核心AI功能

一:Tab键:智能小助手

1.1 单行/多行代码补全

在代码中写出要实现的功能,第一次按Tab生成代码,第二次按Tab接受代码。
在这里插入图片描述

1.2 智能代码重写

对已有代码重新编写。
写个注释告诉AI重构方法,然后鼠标点到方法内部,会自动提示可以重构的代码,输入Tab接受即可。
对于没有导入的包import,只需要将鼠标放入到文件最上面导入的位置,按Tab即可自动导入。
在这里插入图片描述

1.3 多行协同优化

1.4 光标位置预测 Tab to jump here

预测下次光标可能出现的位置,如有多个方法,每个方法都没有注释,需要为每个方法都添加注释,当为第一个方法添加完注释后,下个光标可能出现在下面没有注释的方法。
在这里插入图片描述

1.5 全部接受、接受部分、拒绝

  • Tab:全部接受
  • 拒绝:Esc、或者继续书写
  • 部分接受:Ctrl + ->,部分接受是一次接受一个单词,部分接受默认是关闭的,需要单独开启。
    在这里插入图片描述

1.6 Tab相关配置说明

在这里插入图片描述

  • Cursor Tab:Tab的总体开关。同时在IDE最下面的状态栏中也有开关。
  • Partial Accepts:部分接受开关,按照单词一个词一个词的接受。
  • Suggestions While Commenting:在写注释的时候是否提示。
  • Whitespace-Only Suggestions:使用Tab进行调整空格换行格式化代码时是否触发提示建议
  • Imports:自动导入TypeScript
  • Auto Import for Python:Python是否自动导包。

二:Chat:对话模式 Ctrl + L

在这里插入图片描述

  • 修改代码
  • 重构代码
  • 根据需求从零搭建项目、创建目录结构、安装依赖、编写初始代码等
  • 修改错误

Chat的三种模式

  • Agent代理模式:主动识别项目结构,允许Cursor学习和理解我们的项目代码,并且代表我们可以直接对项目进行更改。
    • Model:使用什么模型
    • Keybinding:该模式对应的快捷键
    • Auto-run:是否自动执行命令,关闭的话在chat中的操作都需要手动点击执行,建议打开
    • Auto-fix errors:是否自动修复错误
  • Ask 对话模式:主动识别项目结构,不会直接修改代码。需要点击Apply应用,然后再接受Accept✔️
    • Search codebase:
  • Manual 手动模式:不会主动识别项目结构,也不会直接修改代码。需要通过 @文件名 来指定对哪些上下文文件信息修改。需要点击Apply应用,然后再接受Accept✔️

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Chat模式其他细节

代码编辑选项

  • Review changes:查看更改的内容,进行文件对比
  • Apply:在ask/manual模式下,使用应用按钮显示应用更改
  • Accept/Reject(接受/拒绝):在agent模式下,决定保留还是放弃更改

Restore checkpoint

回滚到当前检查点之前的内容。

+ 或者 Close All Chats

当写完一个内容之后再写其它内容时,要以新的会话再重新开始。
如果第二个功能和前面的功能完全不相干,但是又在同一个会话中,可能第二个功能会受第一个功能影响。
在这里插入图片描述

Show Chat History

如果关闭了会话,又想回到之前的某个历史会话,可以在重新选择某个历史会话。
在这里插入图片描述

Chat其它配置

  • Default Mode:默认的模式,一般都是Agent
  • Text Size:调整chat会话框字体大小
  • Auto-Clear Chat :开启新会话时,不记忆清除上次的内容
  • Auto-Run Mode:自动执行,一般勾选
  • Command Allowlist:允许自动执行的命令,白名单
  • Command Denylist:不允许执行的命令,黑名单,如一些危险的操作delete

三:Ctrl + K:内联只能修改

内联生成

直接在光标位置调出Prompt Bar 来操作代码,相对于右边的聊天框,不需要选择上下文,也不需要指定具体的地方,更加精准

内联编辑

修改光标下面的代码。

http://www.xdnf.cn/news/15428.html

相关文章:

  • 详解缓存淘汰策略:LFU
  • JS红宝书pdf完整版
  • mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题
  • SCTP协议网络编程
  • 【算法】贪心算法:柠檬水找零C++
  • Redis 命令总结
  • SpringBoot3-Flowable7初体验
  • Java 内部类详解:从基础到实战,掌握嵌套类、匿名类与局部类的使用技巧
  • Vivado ILA抓DDR信号(各种IO信号:差分、ISERDES、IOBUFDS等)
  • MYSQL笔记2
  • 4. MyISAM vs InnoDB:深入解析MySQL两大存储引擎
  • 39.Sentinel微服务流量控制组件
  • 论文笔记:AnImitation Learning Approach for Cache Replacement
  • Prometheus Operator:Kubernetes 监控自动化实践
  • 深入解析Hadoop架构设计:原理、组件与应用
  • Java 高级特性实战:反射与动态代理在 spring 中的核心应用
  • ADB 调试日志全攻略:如何开启与关闭 `ADB_TRACE` 日志
  • 面试150 二叉树展开为链表
  • Redis面试精讲 Day 2:Redis数据类型全解析
  • 【操作系统-Day 5】通往内核的唯一桥梁:系统调用 (System Call)
  • 【DVWA系列】——File Upload——low详细教程(webshell工具冰蝎)
  • MySQL SQL语句精要:DDL、DML与DCL的深度探究
  • ROS2---NodeOptions
  • 01.深入理解 Python 中的 if __name__ == “__main__“
  • vue是什么
  • 【PyMuPDF】PDF图片处理过程内存优化分析
  • 基于Prompt结构的语校解析:3H日本语学校信息建模实录(4/500)
  • idea docker插件连接docker失败
  • 文心大模型4.5开源测评:轻量化部署实践与多维度能力验证
  • TASK2 夏令营:用AI做带货视频评论分析