Cursor使用笔记

前置:之前博主使用的是JetBrains的IDE,VSCode使用比较少,所以会尽量朝着JetBrains的使用习惯及样式去调整。

一、设置语言为中文

如果刚上手Cursor,那么肯定对Cursor中的众多选项配置项不熟悉,这时候如果是默认的英文,会比较妨碍快速熟悉Cursor,因此可以将其语言调整为中文,因为Cursor是以VSCode为模版拓展的,所以我们可以直接下载一个中文插件(Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code),安装完重启Cursor后就会显示中文界面了。

二、设置JetBrains的主题

2.1 颜色主题

Cursor的默认主题,真的两眼一黑,颜色很淡而且还有大量紫色这样的鲜艳颜色,属于是多看一眼我都会爆炸。后来我在试用了多个主题后,包括最火的吸血鬼主题,还有Community Material Theme主题以及所有的JetBrains主题,最好用的感觉还是JetBrains Darcula Theme这款主题。

设置方法为首选项 -> 主题 -> 颜色主题,选择JetBrains Darcula Theme就可以。

颜色大致如下:

2.2 Icon主题

Icon主题选择JetBrains Icon Theme这个插件进行安装,在首选项 -> 主题 -> 文件图标主题中添加图中的Icon主题安装:

其图标样式大致如下:

三、插件推荐

除了以上几款主题的插件推荐,还有几款实用的插件也建议安装一下。

Git

首先是两款Git相关的插件,分别是Git Graph和Git History,Git Graph是可以看到分支的提交合并回滚等记录,十分方便,Git History则是可以查看当前代码是在哪个提交中,提交人是谁,能够更好的追踪溯源。

快捷键

如果用惯了IDEA的快捷键,那你肯定不习惯VSCode的快捷键,这时候就需要它了:IntelliJ IDEA Keybindings,这款插件安装后可以帮你自动设置好IDEA中快捷键,无缝衔接~

Markdown

有一个插件可以直接在Cursor中预览Markdown,名字叫Markdown Preview Mermaid Support,安装完就可以直接在Cursor中预览MD文档了。

四、Cursor使用

4.1 界面介绍

Cursor的界面主要分为四块

  • 最左边就是文件区,可以显示打开的项目文件目录;
  • 中间是展示区,点击文件,文件内容会展示在这里,编写代码就在这个区域;
  • 最右边的就是Cursor独有的对话区,可以直接进行对话并帮助你编写代码直接生成到项目中,这也是Cursor的核心具体后面会进行介绍;
  • 最后就是下方输出区,日志打印,调试控制台,终端等都在这里。

另外还有一个需要关注的,就是如何展示关闭这三块内容,一开始熟悉Cursor的时候我关闭了下方输出窗口,找了半天没有找到,后来发现在界面的右上角:

这三个分别对应着上个界面图里介绍的文件区,输出区和AI对话区,点击即可打开或关闭。

4.2 运行与调试

由于JetBrains的IDE是可以直接在文件中或者调试的,有一个绿色的三角,点击可以选择run或者debug。Cursor中找了半天没找到,后来发现它在界面的左上角:

点击图标后点击运行和调试即可,要注意选到对应的main函数入口文件再进行运行调试,调试的字段参数都在左侧:

debug工具在上面:

4.3 git使用

在界面左上角的git标志中,会展示各个项目的源代码管理,点击某个项目的右侧三个小点,可以看到如下展示:

  • 拉取:从该分支的远程分支上拉取最新提交到本地分支上
  • 推送:将本地上该分支的修改内容推送到远程分支上
  • 克隆:通过ssh或者https链接克隆新的项目
  • 签出到...:切换分支
  • 抓取:从远程上抓取整个项目的变动,包括分支的新增删除

[!NOTE]

注意,如果出现远程与本地tag冲突,删除本地tag即可。git tag -d 具体tag名字

4.4 多项目同时打开

原先在JetBrains的IDE中,是可以使用Merge All Project Windows合并所有的项目,可以方便的在IDE顶部进行切换

不过我在Cursor中并没有看到有这样的功能,不过有一个类似的,只不过在左侧的文件栏中,具体方法是 文件-> 将文件添加到工作区中,这样每个项目都是一个文件夹,可以在文件栏中进行切换,不过感觉还是没有IDEA中方便。

4.5 Cursor特性

4.5.1 智能补全代码

Cursor可以自动学习你的代码编程习惯,你只要打一点代码,Cursor就会自动进行智能补全,这时候只需按下Tab键,就可以将生成的代码直接补全,这也是AI编程中最常用的一种,能够极大提高效率,不过要注意检查生成的代码逻辑是否正确。如图,我只打了if,就帮忙自动补全了接下来原本要写的代码。

4.5.2 快速添加询问内容

在Cursor中,不必再手动复制想要更改的代码片段,或者输出的报错这些内容到对话框中,Cursor提供了一键添加到快捷功能,选中某个片段,可以看到Add to Chat这个功能。

点击后,可以看到这几行以及整个的这个文件的索引都会被添加到对话框中,这样就可以方便的添加上下文,便于模型去理解以达到更好的生成效果,选择好后,输入想要实现或者更改的功能,点击send稍等片刻就可以获得生成后的代码了。

4.5.3 内联代码编辑与生成

在选中代码段后,除了Add to Chat选项,还有个Edit选项,快捷键为系统键K,可以快速在代码内生成一个对话框,输入想要实现的内容,会快速在当前内容上进行修改,可以选择Accept或者Reject

也可以选择quick question,这就和普通的AI对话一样,不会修改代码只提供建议。

4.5.4 Agent快速生成

Cursor的协作模式有三种:Ask、Edit和Agent三种模式。

Ask模式

  • 询问特定代码段的问题
  • 获取复杂函数的解释
  • 查找代码模式和示例
  • 探索并理解代码库

Edit模式

  • 对代码进行单次编辑
  • 精确应用有针对性的更改
  • 自信地审查和应用更改
  • 单独处理文件

Agent模式(默认)

  • 进行代码库范围的更改和重构
  • 根据需求实现新功能
  • 调试跨多个文件的复杂问题
  • 生成测试和文档
  • 保持整个项目的一致性

最常用的是Agent模式,其他两种用的比较少。

如果说上面的内联代码快速生成可以提高编程效率,那Agent就是一个AI配对程序员,可以用于复杂的代码修改,甚至可以大规模进行编辑,比如现在我要生成一个新的时间工具类,我只需使用@指定新文件生成位置,然后告诉其诉求,就可以直接生成一个新的时间类方法文件。

点击Accept后,这个新文件可以直接添加到对应目录中,当然如果不满意或者有新的功能需要更改,可以继续在对话框中添加要求直至生成符合自己要求的代码文件。

除了代码,你甚至还可以在Cursor中生成流程图之类的文档,给予指令“生成流程图,使用markdown语法,并生成一个新文件”,可以得到如图所示的流程图文档:

Agent的使用方法还有很多很多,这里只是介绍了最基础的用法,更多优质用法需要发掘。

Cursor入门教程-JetBrains过度向的更多相关文章

  1. 无废话ExtJs 入门教程七[登陆窗体Demo:Login]

    无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...

  2. 【知识整理】这可能是最好的RxJava 2.x 入门教程(五)

    这可能是最好的RxJava 2.x入门教程系列专栏 文章链接: 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最好的RxJava 2.x 入门教程(二) 这可能是最好的RxJava 2. ...

  3. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  4. 在.Net Core中使用MongoDB的入门教程(二)

    在上一篇文章中,讲到了MongoDB在导入驱动.MongoDB的连接,数据的插入等. 在.Net Core中使用MongoDB的入门教程(一) 本篇文章将接着上篇文章进行介绍MongoDB在.Net ...

  5. OpenLayers 3 入门教程

    OpenLayers 3 入门教程摘要OpenLayers 3对OpenLayers网络地图库进行了根本的重新设计.版本2虽然被广泛使用,但从JavaScript开发的早期发展阶段开始,已日益现实出它 ...

  6. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  7. ASP.NET MVC4 新手入门教程之一 ---1.介绍ASP.NET MVC4

    你会建造 您将实现一个简单的电影清单应用程序支持创建. 编辑. 搜索和清单数据库中的电影.下面是您将构建的应用程序的两个屏幕截图.它包括显示来自数据库的电影列表的网页: 应用程序还允许您添加. 编辑和 ...

  8. Elasticsearch入门教程(五):Elasticsearch查询(一)

    原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  9. mui初级入门教程(四)— 再谈webview,从小白变“大神”!

    文章来源:小青年原创发布时间:2016-06-05关键词:mui,html5+,webview转载需标注本文原始地址: http://zhaomenghuan.github.io/#!/blog/20 ...

  10. sentinel (史上最全+入门教程)

    文章很长,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈 为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 < Java 高并发 三部曲 > 面试必备 + 大厂 ...

随机推荐

  1. ZenPhoto pg walkthrough Intermediate

    nmap nmap -p- -A -sS 192.168.128.41 Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-13 07:17 U ...

  2. redis渐进式rehash

    本文分享自天翼云开发者社区<redis渐进式rehash>,作者:l****n Redis是k-v型数据库,其内部设计了一种dict类型的数据结构用来存储键值结构. dict 通常的存储结 ...

  3. 解决云电脑无法使用本地终端连接的USB设备

    本文分享自天翼云开发者社区<解决云电脑无法使用本地终端连接的USB设备>,作者:2****m 云计算技术的广泛应用已经改变了我们对计算资源的使用方式.云电脑作为云计算的一个重要应用场景,提 ...

  4. Python介绍以及应用场景

    Python介绍以及应用场景 Python简介 ​ Python,作为一种解释型.面向对象的高级编程语言,自1989年圣诞节期间由荷兰计算机科学家Guido van Rossum创造以来,已经取得了举 ...

  5. 探秘Transformer系列之(1):注意力机制

    探秘Transformer系列之(1):注意力机制 0x00 概述 因为各种事情,好久没有写博客了,之前写得一些草稿也没有时间整理(都没有时间登录博客和微信,导致最近才发现好多未读消息和私信,在这里和 ...

  6. kvm virtio window server2003

    https://www.linux-kvm.org/page/Downloads 这是kvm官网对virtio讲解 http://www.linux-kvm.org/images/d/dd/KvmFo ...

  7. Springboot 3.x 集成Knife4j [踩坑日记]

    之前项目用的是SpringBoot2.x 新项目用了SpringBoot3.x版本,引入Knife4j 报错java.lang.TypeNotPresentException: Type javax. ...

  8. Arduino部分C语言含义之--“::”

    "::"在C++中表示作用域,和所属关系."::"是运算符中等级最高的.有三种作用. 1.作用域符号例如:A,B表示两个类,在A,B中都有成员member.那么 ...

  9. autMan奥特曼机器人-定时推送的用法

    一.定时推送功能简介 "定时推送"位于"系统管理"目录 主要有两个功能: 一是定时向某人或某群发送信息. 二是定时运行某指令,就是机器人给自己发指令,让自己运行 ...

  10. Flume - [02] Spooling Directory Source

    一.概述   可以通过将文件放入磁盘上的 "Spooldir" 目录中来获取数据.此源会监视指定目录中的新文件,并在新文件出现时解析新文件中的事件.事件解析逻辑是可插入的.在将指定 ...