Cursor是一款AI 代码编辑器,官网地址为https://www.cursor.com/,直接在官网下载安装即可,基于VS Code二次开发而来,之所以没有采用插件方式,在官方网站上给出的答案是某些功能插件无法实现,产品专注在使用AI来进行编程方面,价格方面还不便宜,Pro单月20刀,企业版单月单个用户40刀,但某些功能确实好用啊,有找外包替你完成部分工作的感觉,不付费的话使用次数有限制。

最基本功能:Tab键代码自动补全。在写代码时,后面会有代码提示,官网上说是一个更强大的 Copilot(Github出品的代码补全工具),Copilot我只体验过,没有深度使用,不能给出比较准确的对比评价。

第二个特色功能:根据提示修改代码或生成命令。快捷键Ctrl/Cmd + k,比如下图,找到需要优化问题代码片段,选中需要优化一段代码,快捷键Ctrl/Cmd + k,输入提示“优化一下”,就会生成新代码,比较有特色是可以分段部分接受修改,根据右侧图中红框内快捷键操作即可,如果有错误,还可以继续进行AI Fix修复,用来重构代码效率会大大提高。

如果在终端中按快捷键Ctrl/Cmd + k,同样会出现提示框,输入“构建命令”,就会在命令行中生成要执行的命令,命令稍加修改就能执行,感觉已经非常厉害了,理论上可以在这个终端里连接上远程服务器,通过提示生成要执行的命令,这对于终端命令不太熟悉的同学非常有帮助。

第三个特色功能:聊天功能。快捷键Ctrl/Cmd + L,会单独打开右侧窗口,同样是输入“优化一下”,生成代码后点击右上角Apply应用到代码中,下面还会总结改进的内容,也可用继续问,进行多轮聊天,直到感觉可以后再应用,也可以闲聊,问一些和代码无关的问题也没有问题。

Cursor会对代码进行索引,会计算代码库中的每个文件的嵌入向量,并将使用这些嵌入向量来提高代码库答案的准确性。如果在聊天时,使用快捷键Ctrl/Cmd + Enter,会使用这项功能来搜索项目下代码内容来提高答案的准确性,也是特色功能之一。

第四个特色功能:AI Review代码

Review功能目前还是Beta测试中,需要现在设置中启用,如需要长文本功能的也在这里启用,目前聊天中token限制为20000个,快捷提示中为10000个。

根据提示,Ctrl/Cmd + Shift + P,输入Reload Window,重载窗口,就能看到聊天窗口右边出现Review标签页了。

重载窗口后,同样是输入提示,下面也提供了四项对应的Review功能,Review Working State可以对未提交的工作空间内代码进行Review,Review Last Commit也挺方便的,在开发分支提交代码后直接进行Review,Review后再合并到上层分支。

Cursor可以配置使用其他AI,发送任意数量的 AI 消息

可以对使用的模型进行设置,选择使用哪些模型,可以同时使用多个模型,GPT-4, GPT-4o, and Claude 3.5 Sonnet都是收费的高级模型

总结Cursor使用,编写代码中可以使用tab键补全代码,使用提示(Ctrl/Cmd + k)生成、修改或重构代码,同样可以使用聊天(Ctrl/Cmd + L)方式生成、修改或重构代码,在聊天时使用Ctrl/Cmd + Enter发送信息会索引本地代码提高回答准确率,Beta测试中的Review代码功能非常好用。

以上为Cursor使用总结,Cursor是非常有创新的产品,不管是否是在计算机行业都应该体验一下,在某些直播平台,我刷到过几次直播使用Cursor挑战不写代码完成一款程序的编程,虽然有些噱头成分,Cursor还是非常值得体验一下的,欢迎关注留言互动,嘿嘿。

Cursor使用的更多相关文章

  1. 自定义鼠标光标cursor

    通过css属性 Cursor:url()自定义鼠标光标. {cursor:url('图标路径'),default;} url是自定义鼠标图标路径 default指的是定义默认的光标(通常是一个箭头), ...

  2. 苹果手机不支持click文字 需要添加 cursor:pointer 才能 识别可以点击

    给一个div 绑定一个 click事件,  苹果手机会识别不了,必须添加一个 cursor:pointer 才能 识别可以点击.安卓正常识别.

  3. java.lang.IllegalStateException:Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx...}: java.lang.IllegalSta ...

  4. MySQL:procedure, function, cursor,handler

    Procedure & Function Procedure 语法: CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ...

  5. Sql Cursor example

    USE [EUC]GO/****** Object:  StoredProcedure [dbo].[SP_SME_QueryAuditLog]    Script Date: 02/05/2015 ...

  6. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

    reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...

  7. 游标cursor

    if exists(select * from sys.objects where name='info_one') drop table info_one go create table info_ ...

  8. Android笔记——关于Cursor类的介绍

    使用过 SQLite数据库的童鞋对 Cursor 应该不陌生,加深自己和大家对Android 中使用 Cursor 的理解. 关于 Cursor 在你理解和使用 Android Cursor 的时候你 ...

  9. SQL游标(cursor)详细说明及内部循环使用示例

    游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...

  10. cursor.MySQLCursorDict Class

    5.9.6.4 cursor.MySQLCursorDict Class The MySQLCursorDict class inherits from MySQLCursor. This class ...

随机推荐

  1. 【Linux驱动】充电芯片bq24735调试详解

    一.bq24735简介 bq24735 是一款高效率同步电池充电器. 当系统供电需求暂时高于适配器最大供电水平的时候, bq24735 使用智能加速技术来允许电池向系统中释放能量,这样的话将保护适配器 ...

  2. equals与hashCode关系梳理

    目录 equals用法 hashCode用法 总结 为什么一个类中需要两个比较方法 为什么重写 equals 方法时必须同时重写 hashCode 方法? Reference 这个并不是一个通用性编程 ...

  3. Vue3.5新增的baseWatch让watch函数和Vue组件彻底分手

    前言 在Vue 3.5.0-beta.3版本中新增了一个base watch函数,这个函数用法和我们熟知的watch API一模一样.区别就是我们之前用的watch API是和Vue组件以及生命周期是 ...

  4. 利用分布式锁在ASP.NET Core中实现防抖

    前言 在 Web 应用开发过程中,防抖(Debounce) 是确保同一操作在短时间内不会被重复触发的一种有效手段.常见的场景包括防止用户在短时间内重复提交表单,或者避免多次点击按钮导致后台服务执行多次 ...

  5. Spark - Pandas UDF

    spark 本身对 dataframe 的操作支持没有像pandas 那样强大,所有我们可以把spark dataframe 转化成 pandas dataframe 来利用pandas datafr ...

  6. 小tips:使用babel-upgrade从babel6升级babel7

    基础使用 完整使用参考地址:https://www.npmjs.com/package/babel-upgrade 使用方式: # npx lets you run babel-upgrade wit ...

  7. JavaScript – Iterator

    参考 阮一峰 – Iterator 和 for...of 循环 前言 es6 以后经常可以看到 for...of 的踪迹. 如果你细看会发现它挺神奇的. 不只是 Array 可以被 for...of, ...

  8. 【赵渝强老师】Kafka的消息持久化

    1.Kafka消息持久性概述 Kakfa依赖文件系统来存储和缓存消息.对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式.同时 Kafka 基于 ...

  9. 原生CSS、HTML 和 JavaScript 实现酷炫表单

    一直使用 Vue/React ,习惯了用组件,偶尔想用原生三剑客写点 Demo 发现样式丑的不忍直视.最近看 掘金小册<玩转CSS的艺术之美>看到 CSS 相关的内容,发现原生 CSS 也 ...

  10. Redis 发布订阅模式

    概述 Redis 的发布/订阅是一种消息通信模式:发送者(Pub)向频道(Channel)发送消息,订阅者(Sub)接收频道上的消息.Redis 客户端可以订阅任意数量的频道,发送者也可以向任意频道发 ...