轻松上手Cursor,体验丝滑编程

news2024/11/15 15:33:39

最近Cursor大火。

作为一名程序员,理应接触接触,了解了解。

好吧!这一了解,我直接用Cursor替换了用了好几年的vscode了。

下面我把体验Cursor的过程总结了一下。你看看。

Cursor是啥

Cursor是一款革命性的AI驱动代码编辑器,旨在大幅提升开发者的工作效率。它将先进的人工智能技术与传统的编程工具完美结合,为编程带来了全新的体验。

Cursor最大的亮点在于其强大的AI助手功能。它内置了目前最先进的大语言模型,可以理解你的整个代码库,并提供智能的编程建议。你只需按下Ctrl K,就可以让Cursor帮你编辑或生成代码。它的自动补全功能远超传统工具,还能提供整个代码差异的修改建议。此外,Cursor还支持用自然语言编写代码。

给出简单的指令,它就能帮你更新整个类或函数,大大简化了编程流程。Cursor甚至能预测你的下一步操作,让你的双手无需离开键盘。在使用体验上,Cursor也很出色。它是VS Code的一个独立分支,支持导入原有的所有扩展、主题和快捷键。

目前Cursor提供两周的试用权益,还是挺大方的。Pro 权益20美元一个月。和Claude,OpenAI的大模型收费基本持平。但Cursor可以同时使用Claude和OpenAI的模型。还是比较香的。

功能体验

配置Cursor

当你开始使用Cursor前,我建议你先进行一下这些配置。点击右上角的Open Cursor Settings,打开Cursor配置面板。

一键导入vsCode的配置

因为Cursor是基于vsCode开发的,所以之前在vsCode中的配置可以一键导入到Cursor。真正实现无缝切换。

设置AI回复的通用规则

我这里设置了回答都用中文。

配置大模型

这里配置开关可以使用哪些大模型。最下面的deepseek-coder是我自己加的。上面的是Cursor预设好的。在试用期间,只需要打开上面的模型开关就可以直接使用该大模型了。

如果有需要增加自定义的模型,就需要在下面设置自己的大模型API KEY。并在上面增加模型的名称。后面我会以deepseek-coder 为例演示配置方法。

记住三个快捷键就够了

MaC电脑:Command + i
Win电脑:Ctrl + i

这个快捷键将打开Cursor的Composer功能。这个功能可以一次性生成整个项目代码。

弹出的这个小窗口就是composer的操作面板。当然也可以点击右上角的Open Control Panel 打开完整的控制面板。同时右下角也可以选择使用哪个大模型。

下图展示了生成的结果。点击右下方的Accept all 就可以应用所有生成的代码。

我们来看看文件夹里的情况。确实按要求生成了所有需要的文件。

如果我们随便要求它写一个readme文件,把编译命令写进去,方便后续查看。

OK。看着还不错。我们接受所有生成的内容。

MaC电脑:Command + K
Win电脑:Ctrl + K
这个快捷键可以直接在代码编辑区打开对话窗口。然后,直接在相应的地方描述你希望的修改。

在这个小对话窗口的右下角可以选择使用什么大模型。

MaC电脑:Command + L
Win电脑:Ctrl + L

使用这个命令会在右侧打开一个功能更加强大的对话框。

在这个对话框里可以选择多个希望交互的文件。通常在我们打开这个对话的同时,Cursor会自动添加一个推荐交互的文件。如果你需要更换交互的文件或者增加减少要交互的文件。点击左上角的➕号即可。

左下角仍然是可以选择使用哪个大模型的。这些可选的大模型就是前面配置大模型的开关确定的。

Mention功能十分强大

在Mention中你可以引入特定的文件,文件夹,代码中某段代码块。你也可以@web 以实现联网查询信息。

与整个项目代码对话

当我们第一次打开一个项目代码工程时,Cursor会自动向量化整个项目代码。

这也是我们可以和整个项目代码对话的基础。这里涉及到了RAG(检索增强生成)相关的技术。 检索增强生成(RAG)是一种人工智能框架,它结合了信息检索系统和生成式大语言模型(LLM)的能力。RAG的 工作流程包括检索和预处理外部数据,然后将这些数据整合到预训练的LLM中,以生成更准确、时效性强且符合特 定需求的文本。

简单来说就是,Cursor先会基于整个项目代码建立对应的数据库。然后根据你的问题,去数据库里找最相关的部分。把这个信息和你的问题一起发送给大模型。这样大模型就会有你提问的背景信息,回答也会更加精准到位。

按Ctrl + Enter快捷键即可启动基于Codebase回答问题。

看图说话也能行

我把左侧的代码截了图,并上传给了右侧的对话框。测试了一下,确实可以看图说话,图片里的代码也能理解。这让我想起了喜欢发截图让我看代码的人。好吧!有Cursor在,我就原谅你们了。

建立自己的知识库,对话更高效准确

然后问问题的时候就可以@自己建立的doc了,让AI基于自己的知识库来回答问题。这样AI可以比较精准且能个性化地回答你的问题。

善用对话历史

对话历史都会保留在下面。

对于一些常用的提示词,可以一直用同一个对话,然后适当重新编辑提示词就可以继续对话。省时省力。

总结一下,如果要一次性先把项目雏形生成好,使用composer,快捷键Ctrl + i。在不同的文件内部做快速修改,直接快捷键Ctrl + K,调出小对话窗口。需要更强大的对话交互能力,快捷键Ctrl + L,调出右侧对话窗口。

使用deepseek API

为什么使用Deepseek API

理由很简单:国产技术访问无障碍,code技能一流,且价格便宜。

看看权威的测试评比数据,与Claude-3.5-sonnet不相上下了。而Claude-3.5-sonnet是国际上公认的,coding能力超过GPT-4的大语言模型。

而且最近deepseek发布了V2.5版本,性能进一步提升了。

如何使用使用Deepseek API

Deepseek 开放平台网址:https://platform.deepseek.com/

先在平台上注册一个账号。注册好就会收到试用的10元额度啦。

deepseek的API价格非常的亲民,10块钱就有500万的输出Token。

价目表来源:https://platform.deepseek.com/api-docs/zh-cn/quick_start/pricing/

登录好Deepseek 开放平台就可以创建一个自己的API KEY了。

在Cursor中配置Deepseek API

如上图所示,点击Add model ,添加deepseek-coder模型。注意模型名称必须要按照deepseek-coder来填。用deepseek-coder这个名称已经可以调用最新的V2.5版本了。

因为deepseek API是兼容OpenAI的API的。所以,可以直接把deepseek的API KEY 填写到OpenAI API KEY 这一栏中。

下方的OpenAI Base URL 填写 https://api.deepseek.com/beta 。

这个base url可以支持最大8K的输出长度。

这些信息来源于deepseek api文档:https://platform.deepseek.com/api-docs/zh-cn/quick_start/pricing/

其他事项

但是用自定义的API无法使用联网搜索功能,略有遗憾。想有更好的体验,订阅pro权益也是不错的选择。

可能会用到的东西

一些Cursor配套的提示词。

Cursor Directory

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2141815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rocky Linux 9.4系统配置zabbix监控MySQL主从复制状态与配置钉钉告警

MySQL主从复制原理: 1. 主从复制的基本概念 主服务器(Master):负责处理所有的写操作(INSERT、UPDATE、DELETE),并将这些操作记录到二进制日志(binary log)中。 从服务器…

深度揭秘:日志打印的艺术与实战技巧,让你的代码会说话!

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 🍁日志🍂日志分模块实现讲解🍃日志等级的实现🥥日志时间*时间的获取* 🌈文…

Nginx搭建直播服务器,并用rtmp,http-flv,hls三种模式拉流观看直播的流程

一、首先搭建直播服务器 环境widows,并且已经集成了 :nginx-http-flv-module模块 nginx.conf配置如下: worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #error…

Vue3中集成高德地图并实现平移缩放功能

大家好,随着前端技术的不断发展,地图应用在我们的项目中越来越常见。本文将介绍如何在Vue3项目中集成高德地图,并通过简单的配置实现地图的平移和缩放功能。 实现步骤 1、申请高德地图密钥(Key)(已有key可…

Git使用详解:从安装到精通

前言 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 可以理解: git是一个管理源代码的工具,主要用于企业团队开…

openwrt wsdd模块介绍

wsdd简介 wsdd是一个实现Web服务发现主机守护进程的工具。这使得(如Samba)主机,像你的本地网络存储设备,能够被Windows这样的Web服务发现客户端找到。 目的 由于Windows不再支持NetBIOS发现,wsdd使用Web服务发现方法使…

密码学---easy_hash

题目出处:首页 - Bugku CTF ✨打开题目有两个文件 ✨打开flag.py后开始分析所给的代码 import hashlib # 导入 hashlib 模块,用于计算哈希值 from multiprocessing import Pool # 从 multiprocessing 模块导入 Pool 类,用于多进程处理d…

istio中如何使用serviceentry引入外部服务

假设需要引入一个外部服务,外部服务ip为10.10.102.90,端口为32033. 引入到istio中后,我想通过域名gindemo.test.ch:9090来访问这个服务。 serviceentry yaml内容如下: apiVersion: networking.istio.io/v1beta1 kind: ServiceEn…

Python 课程5-NumPy库

在数据处理和科学计算中,NumPy 是一个非常强大且基础的库。除了基本的创建数组功能之外,NumPy 提供了许多强大的函数和方法,用于执行高级的矩阵运算、统计分析、逻辑操作等。以下是一些常用且非常有用的 NumPy 指令,涵盖了创建数组…

STM32 BootLoader 刷新项目 (六) 获取帮助-命令0x52

STM32 BootLoader 刷新项目 (六) 获取帮助-命令0x52 在嵌入式MCU软件开发中,通过串口进行人机交互是非常常见且重要的操作方式。获取帮助的命令通常用来向用户展示所有支持的交互指令及其使用方法。详细介绍如下: 获取帮助命令的作用 用户友好性&#…

进程之信号

文章目录 进程信号中断的概念信号是异步事件Linux信号信号发生的来源信号的处理方式signal函数示例--使用signal函数对常见的信号进行捕获、执行默认操作、忽略三种方式处理 SIGCHLD信号示例--使用SIGCHLD信号来避免子进程退出 kill函数raise函数示例--使用kill函数给指定进程发…

基于python+django+vue的学生成绩管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤pythondjangovue…

Java之线程篇四

目录 volatile关键字 volatile保证内存可见性 代码示例 代码示例2-(volatile) volatile不保证原子性 synchronized保证内存可见性 wait()和notify() wait()方法 notify() 理解notify()和notifyAll() wait和sleep的对比 volatile关键字 volati…

【C++ Primer Plus习题】16.3

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <string> #include <…

Datawhale------Tiny-universe学习笔记——Qwen(1)

1. Qwen整体介绍 对于一个完全没接触过大模型的小白来说&#xff0c;猛一听这个名字首先会一懵&#xff1a;Qwen是啥。这里首先解答一下这个问题。下面是官网给出介绍&#xff1a;Qwen是阿里巴巴集团Qwen团队研发的大语言模型和大型多模态模型系列。其实随着大模型领域的发展&a…

Linux服务器上安装git lfs命令

有时候&#xff0c;需要批量下载数据集时要用到git lfs命令 首先&#xff0c;使用pip install git-lfs安装&#xff0c;会发现使用时仍然提示&#xff1a;git: lfs is not a git command. See git --help. 这就意味着安装不成功。 因此&#xff0c;需要通过如下途径手动安装&a…

基于YOLOv5的农作物叶片病害识别系统

植物农作物叶片病虫害识别系统&#xff1a;农作物叶片病害AI检测与识别系统 源码 带UI界面说明视频 模型&#xff1a;yolov5 功能: 农作物叶片病害检测系统用于智能检测常见农作物叶片病害情况&#xff0c;自动化标注、记录和保存病害位置和类型&#xff0c;辅助作物病害防治以…

【Motion Forecasting】【摘要阅读】BANet: Motion Forecasting with Boundary Aware Network

BANet: Motion Forecasting with Boundary Aware Network 这项工作发布于2022年&#xff0c;作者团队来自于OPPO。这项工作一直被放在arxiv上&#xff0c;并没有被正式发表&#xff0c;所提出的方法BANet在2022年达到了Argoverse 2 test dataset上的SOTA水准。 Method BANet…

用Python解决综合评价问题_模糊综合评价,决策树与灰色关联分析

一&#xff1a;模糊综合评价 模糊综合评价是一种有效的处理不确定性和模糊性的评价方法&#xff0c;特别是在人才评价等领域。它允许我们综合考虑多个评价指标&#xff0c;并给出一个综合的评价结果。以下是利用模糊综合评价对人才进行评价的步骤&#xff1a; 确定评价指标&am…

进阶SpringBoot之异步任务、邮件任务和定时执行任务

SpringBooot 创建 Web 项目 异步任务&#xff1a; service 包下创建 AsyncService 类 Async 异步方法 Thread.sleep(3000) 停止三秒&#xff0c;捕获异常 package com.demo.task.service;import org.springframework.scheduling.annotation.Async; import org.springfram…