智能工具Cursor安装和使用

news2024/10/7 9:25:45

一、Cursor介绍

Cursor.so是一个软件开发工具,是一个集成了 GPT的直接可以访问的,优秀而强大的智能AI代码生成工具,使用GPT-3.5免费。

它可以快速编写、编辑和聊天关于你的代码。它支持多种编程语言,如Python、Java、JavaScript等,并且可以帮助你重构、理解和优化你的代码。

Cursor.so还有一个聊天功能,你可以跟AI交流,询问问题,获取建议,根据你的输入和需求自动生成代码片段等。

Cursor特点:

  • 智能代码生成:

你只需要输入一些关键词或描述,Cursor.so就能根据你的需求生成合适的代码,无论是函数、类、算法还是其他任何东西。

  • 代码优化和重构:

你可以让Cursor.so帮你分析你的代码,找出其中的错误、冗余或低效的部分,并且给出一个更好的版本。

  • 代码理解和注释:

你可以让Cursor.so帮你解释你的代码,给出一个简单的注释或解释,让你更容易理解和维护。

  • AI聊天和娱乐:

你可以跟Cursor.so聊天,询问它关于编程或其他任何话题的问题,获取它的建议或意见,甚至让它写一些有趣的东西,如诗歌、故事、歌词等。

Cursor.so是一个非常强大而有趣的工具,可以让你在编程的过程中更加高效、轻松和快乐。目前 cursor 快速迭代,已经支持 java 项目的创建、运行、调试、代码对话、代码优化等。

推荐程序员安装使用,将带来革命性的编码效率提升。简直神器!

二、Cursor安装

1、下载安装

1)下载

官方地址下载:https://www.cursor.so

我下载的版本是:Cursor Setup 0.2.31-x64.exe

2)双击安装即可。

在这里插入图片描述

点击 contineus之后,需要注册登录。

在这里插入图片描述

2、注册登录

第一次使用时需要注册,点击 Sign up 进行注册,使用 Sign in 进行登录。

注意:国内邮箱也可以注册。

在这里插入图片描述

点击contineus之后,还需要授权。

在这里插入图片描述

点击 accept之后。我们回到 IDEA界面,显示登录就可以使用了。

在这里插入图片描述

注意:

  • 所有用户都可以获得10个免费的gpt-4请求! 这里选择 3.5够用了,
  • Cusor免费版一个月只提问 100 次。

三、IDEA介绍

1、IDEA介绍

1)可以在右上角控制左侧,右侧和下方的窗口显示和隐藏。

在这里插入图片描述

2)打开文件|项目

File --> Open Folder --> 选择要打开的文件

点击右上角的 Run按钮,即可运行代码。或者Debug按钮,即可调试代码。

在这里插入图片描述

3、AI智能生成代码

1)编辑生成代码

使用鼠标选择代码,然后,按Cmd+K或Ctrl+K。输入你想让AI为你生成的功能描述。

2)聊天

按Cmd+L或Ctrl+L。我们用它来查找bug,解释代码,询问AI聊天。

3)定义对话模板

每次交互时,会带着mode定义的语句。比如:中文回复,核心代码需要加上必要的注释。

在这里插入图片描述

4)合并代码

点击左上角或者按快捷键。
Ctrl+Y  表示接受修改的代码
Ctrl+N  表示拒绝修改的代码

在这里插入图片描述

4、插件安装

1)文件 - 偏好 - 拓展

在这里可以打开插件市场,查看已经安装的插件,也可以在搜索需要安装的插件。

2)自动提醒安装

如果没有安装插件,我们创建一个xx.java文件时,IDEA会在右下角自动提醒安装,我们点击安装即可。

四、简单使用

这里我们通过它生成一个 6位验证码图片的功能。

1)创建项目,创建一个文件

在这里插入图片描述

2)添加测试方法

让它添加一下测试方法,有些类没有导包,麻烦检查一下。最后我简单修改了一下图片路径。

代码如下:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;

public class Code6 {
    // 验证码图片的宽度
    private static final int WIDTH = 120;
    // 验证码图片的高度
    private static final int HEIGHT = 40;
    // 验证码字符个数
    private static final int CODE_COUNT = 6;
    // 验证码字体大小
    private static final int FONT_SIZE = 20;
    // 验证码字符集合
    private static final String CODE_SET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
    /**
     * 生成随机验证码图片
     * @return 验证码图片
     */
    public static BufferedImage generateCodeImage() {
        // 创建一个BufferedImage对象,用于生成验证码图片
        BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
        // 获取Graphics对象,用于绘制验证码图片
        Graphics graphics = image.getGraphics();
        // 设置背景色
        graphics.setColor(Color.WHITE);
        graphics.fillRect(0, 0, WIDTH, HEIGHT);
        // 设置字体
        graphics.setFont(new Font("Arial", Font.BOLD, FONT_SIZE));
        // 生成随机验证码
        StringBuilder codeBuilder = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < CODE_COUNT; i++) {
            int index = random.nextInt(CODE_SET.length());
            char codeChar = CODE_SET.charAt(index);
            codeBuilder.append(codeChar);
        }
        String code = codeBuilder.toString();
        // 绘制验证码
        for (int i = 0; i < CODE_COUNT; i++) {
            graphics.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
            graphics.drawString(String.valueOf(code.charAt(i)), (i + 1) * WIDTH / (CODE_COUNT + 1), HEIGHT / 2 + FONT_SIZE / 2);
        }
        // 绘制干扰线
        for (int i = 0; i < 5; i++) {
            graphics.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
            graphics.drawLine(random.nextInt(WIDTH), random.nextInt(HEIGHT), random.nextInt(WIDTH), random.nextInt(HEIGHT));
        }
        // 绘制干扰点
        for (int i = 0; i < 50; i++) {
            graphics.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
            graphics.drawOval(random.nextInt(WIDTH), random.nextInt(HEIGHT), 1, 1);
        }
        // 释放资源
        graphics.dispose();
        // 返回验证码图片
        return image;
    }
    
    /**
     * 测试方法
     */
    public static void main(String[] args) {
        BufferedImage image = generateCodeImage();
    
        // 将验证码图片保存到本地
        try {
            File outputfile = new File("D:/TempFiles/captcha.png");
            ImageIO.write(image, "png", outputfile);
        } catch (IOException e) {
            // 打印异常信息
            e.printStackTrace();
        }
    }
}

3)运行结果

在这里插入图片描述

4)右边Chat,可以让它解释一下代码。

在这里插入图片描述

使用下来,Cursor真是一个非常强大而有趣的工具。

– 求知若饥,虚心若愚。

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

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

相关文章

BootStrap文档

Bootstrap概念 ​ 1. 概念&#xff1a; 一个前端开发的框架&#xff0c;Bootstrap&#xff0c;来自 Twitter&#xff0c;是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的&#xff0c;它简洁灵活&#xff0c;使得 Web 开发更加快捷。 ​ 框架:一个半成品…

C++教程(06)——变量类型

C 变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型&#xff0c;类型决定了变量存储的大小和布局&#xff0c;该范围内的值都可以存储在内存中&#xff0c;运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母…

037_SS_SyncDiffusion: Coherent Montage via Synchronized Joint Diffusions

SyncDiffusion: Coherent Montage via Synchronized Joint Diffusions 1. Motivations & Arguments & Contributions 本文提出了一种即插即用的用Diffusion生成全景图的方法。 Diffusion模型通常只能生成固定大小的图像&#xff0c;为了生成分辨率比较高的全景图。现…

linux shell操作-基本脚本编写

文章目录 变量分支循环函数函数案例 变量 普通变量 声明变量&#xff0c;直接赋值&#xff0c;同python两边不能有空格‘’ 单引号表示纯字符“”双引号表示一个整体反引号表示操作命令末尾没有&#xff1b;号 # 直接赋值&#xff0c; namejack # 纯字符 pyCodeimport os\n…

Android进阶 四大组件的工作过程(一):Activity的工作过程

Android进阶 四大组件的工作过程&#xff08;一&#xff09;&#xff1a;Activity的工作过程 导语 本系列文章主要是来介绍Android中四大组件的工作过程的&#xff0c;参照书籍为Android进阶解密&#xff0c;主要还是会涉及到源码的阅读。关于源码&#xff0c;大家可以到Andro…

Linux - 第25节 - Linux高级IO(三)

目录 1.Reactor模式 1.1.Reactor模式的定义 1.2.Reactor模式的角色构成 1.3.Reactor模式的工作流程 2.epoll ET服务器&#xff08;Reactor模式&#xff09; 2.1.epoll ET服务器源代码 2.2.epoll ET服务器源代码讲解 2.2.1.设计思路 2.2.2.Connection结构 2.2.3.TcpSe…

VMware Fusion网络配置 - 设置Nat静态IP

准备把主力机器从ThinkPad T460P替换到MacMini上, MacOS版本: 10.15.7 当前最新MacOS版本是13 于是面临一个问题, 很多最新的工程软件不支持我这IntelCPU的MacOS陈旧版本, 于是我准备装一个虚拟机, 把工程软件都安装到虚拟机里, 宿主机访问其中的服务, 这样还能继续保持我这…

从定义到实际应用,详解项目管理的基本概念与核心内容

项目管理是项目的管理者&#xff0c;在有限的资源约束下&#xff0c;运用系统的观点、方法和理论&#xff0c;对项目涉及的全部工作进行有效地管理。项目管理的内容包括项目范围管理&#xff0c;是为了实现项目的目标&#xff0c;对项目的工作内容进行控制的管理过程。它包括范…

mysql5安装【含mysql安装包】

mysql5安装【含mysql安装包】 安装包等资源安装流程 安装包等资源 安装包下载地址【CSDN免费】&#xff1a;https://download.csdn.net/download/qq_47168235/87881814 如果上面的个下载不了&#xff0c;就通过百度网盘吧 百度网盘连接&#xff1a;https://pan.baidu.com/s/1G…

碳排放预测模型 | Python实现基于CNN卷积神经网络的碳排放预测模型(预测未来发展趋势)

文章目录 效果一览文章概述研究内容环境准备源码设计学习总结参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于CNN卷积神经网络的碳排放预测模型(预测未来发展趋势) 研究内容 这是数据集的链接:https://github.com/owid/co2-data/blob/master/owid-co2-data.csv …

zabbix之ODBC监控方式

如有错误&#xff0c;敬请谅解&#xff01; 此文章仅为本人学习笔记&#xff0c;仅供参考&#xff0c;如有冒犯&#xff0c;请联系作者删除&#xff01;&#xff01; 15.1 概述 ODBC监控对应于Zabbix前端中的 数据库监视器 监控项类型。 ODBC是C语言编写的中间件API&#xf…

uniapp 使用组件 uni-list 实现聊天列表功能

如何使用 uniapp 的组件实现聊天列表的功能呢&#xff0c;翻阅了半天文档&#xff0c;终于找到一个实用的方法&#xff0c;下面是具体的步骤 1、首先需要下载对应的插件 去uniapp的官方文档进行下载&#xff08;uni-ui - DCloud 插件市场&#xff09;&#xff0c;这里直接下载…

机器学习 day17( Tensorflow和Numpy中的数据形式 )

Numpy和Tensorflow NumPy (Numerical Python) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。TensorFlow是Google开源的第二代用于数字计算的软件库。它是基于数据流图的处理框架&#xff0c;…

使用Docker-Compose对Docker容器集群快速编排

目录 一、Docker-Compose1、Docker-Compose使用场景2、Docker-Compose简介3、Docker-Compose安装部署4、YAML 文件格式及编写注意事项5、Docker Compose配置常用字段6、Docker Compose 常用命令7、Docker Compose 文件结构8、docker Compose撰写nginx 镜像9、docker Compose撰写…

leetcode 链表+双指针问题小结

文章目录 141. 环形链表142. 环形链表 II19. 删除链表的倒数第 N 个结点160. 相交链表 141. 环形链表 设置两个速度不一样的链表&#xff0c;如果其中他们两个在经过一定的步数(进入环之后&#xff0c;在 n ∣ 环的大小 ∣ n \times |环的大小| n∣环的大小∣ 步后会重合)之后…

Redis的复制

配置 在Redis中使用复制功能非常容易 在从Redis服务器的redis.conf中写入slaveof masterip masterport即可&#xff0c;主Redis服务器不需要做任何配置在启动Redis服务器的时候&#xff0c;指定主服务器&#xff0c;redis-server --slaveof masterip masterport在客户端指定主…

038_SSS_Multi-Architecture Multi-Expert Diffusion Models

Multi-Architecture Multi-Expert Diffusion Models 1. Motivations & Arguments & Contributions 本文提出了一种在diffusion的不同步数采用不同的网络结构的方法提高生成质量和效率。 Diffusion模型需要大量的计算时间成本&#xff0c;改进方式主要有两个方面&…

教你用栈实现队列怎么写

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 队列&#xff08;Queue&#xff09;和栈&#xff08;Stack&#xff09;是两个基本的数据结构。队列是一种先进先出&#xff08;First-In-First-Out, FIFO&#xff09;…

【Spring】——Spring生命周期

前言 ❤️❤️❤️Spring专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring_冷兮雪的博客-CSDN博客 前面我们讲完了Spring中有关Bean的读和取&#xff0c;我们还没有好好去了解了解Bean对象&#xff0c;这篇 …

XML文件原理详解

文章目录 一、简介1. XML定义2. 测试3. HTML和XML的区别 二、XML基本语法1. 语法规则2. 元素的属性3. CDATA4. DTD文件5. XSD文件 三、Java解析XML1. 简介2. 解析XML文件 四、Xpath1. 简介2. Xpath的使用 一、简介 1. XML定义 XML&#xff08;可扩展标记语言&#xff09;是一…