下载地址:https://cursor.com/cn
使用上面的版本最好先不更新
-
“注册” 或 “登录” 后,系统会提示您设置一个帐户。可以选择使用邮件,或者注册 Google 或 GitHub。
如果第一次使用 Cursor,将获得 14 天的免费试用期 。
-
登录后,送回 Cursor,然后就可以
-
准备新邮箱
可以去2925无限邮注册一个账号,这个邮箱平台的一个优势是用户申请的邮箱之后,可以自行创建子邮箱。
比方说,我创建了haijinadmin123@2925.com这个邮箱,那么我们在申请账号的时候,
可以使用haijinadmin124@2925.com、haijinadmin125@2925.com、haijinadmin126@2925.com等邮箱进行注册(也就是haijinadmin数字随意添加@2925.com),邮箱问题得以解决!
注册地址:https://www.2925.com/login/
使用CursorFreeVIP来进行续杯
-
机器码识别破解
其次是机器码识别方面。Cursor的团队意识到了人们会通过换邮箱的方式投机取巧,
于是加入了校验本机机器码的环节。即使用户注册了一个新的邮箱,
但是机器码所属的额度用完之后,也是不能继续免费了。
于是此开源项目便诞生了【yeongpin/cursor-free-vip】,
可以帮我们进行重置机器码,并且快速注册新的账号等功能!
以下是对 Cursor Settings 中各项配置的作用解释:
-
General(常规):包含账户相关设置,可进行登录、注册操作,实现配置在不同设备间的同步 ;能进行 VS Code 配置导入,快速迁移主题、快捷键等设置;还隐私配置管理。
-
Features(功能):可开关 AI 代码补全、对话模式(Ask、Edit、Agent )等核心功能;还能对这些功能的相关参数进行微调,比如调整代码补全的触发灵敏度、对话模式的快捷操作设置等 。
-
Models(模型):允许用户选择不同的 AI 模型(有多个可用选项 );添加模型和配置模型访问API Key等。
-
Rules(规则):例如可以制定代码检查规则,像对代码格式、语法规范等进行约束;也能设置特定代码操作的规则,比如当进行代码重构、修改时遵循的逻辑和标准等 。
-
MCP: 配置多MCP操作的相关行为,比如选择代码时的联动规则、批量编辑代码的方式等,帮助开发者更高效地对多处代码进行统一操作 。
-
Indexing(索引): 定义需要被索引的代码库路径,让 Cursor 的 AI 能理解代码上下文;设置排除规则,排除不需要索引的文件或文件夹(如第三方库、缓存文件 ),提高索引效率和 AI 分析的准确性。
-
Beta(测试版): 可启用或禁用测试功能,提供反馈等。用户能通过这里尝试 Cursor 的新功能,并帮助开发团队测试和改进这些尚未正式发布的特性 。
自动读取情况
如果 Cursor 基于类似 VS Code 的机制运行(Cursor 与 VS Code 有诸多关联),在系统环境变量中正确配置了 JAVA_HOME
和 MAVEN_HOME
,
且环境变量配置无误(变量值准确指向 JDK 和 Maven 的安装目录 ),部分情况下 Cursor 能自动识别并应用这些配置。
比如,当你在 Cursor 中创建、运行或调试 Java 项目时,它可能会利用自动读取到的环境变量来找到对应的 JDK 和 Maven 位置,完成代码编译、项目构建等操作。
手动配置情况
settings.json
文件中进行操作。按 Ctrl + Shift + P
(Windows/Linux)或 Cmd + Shift + P
(Mac)
打开命令面板,输入 “Preferences: Open User Settings (JSON)” 并回车,打开 settings.json
{
"java.home": "你的 JDK 安装路径(对应 JAVA_HOME 变量值)",
"java.configuration.maven.userSettings": "你的 Maven 配置文件 settings.xml 所在路径"
}
例如:
{
"java.home": "C:/Program Files/Java/jdk-17",
"java.configuration.maven.userSettings": "D:/maven/apache-maven-3.8.8-bin/apache-maven-3.8.8/conf/settings.xml"
}
保存文件后,重启 Cursor 使配置生效。
-
:按
Ctrl + Shift + X
(Windows/Linux)或Cmd + Shift + X
(Mac),或点击左侧活动栏的方块图标。 -
Extension Pack for Java,选择由 Microsoft
-
:提供语法高亮、智能代码补全、代码检查、代码格式化(
Shift + Alt + F
(Windows/Linux)或Shift + Option + F
(Mac))、代码导航以及重构支持等功能,辅助高效编写和优化 Java 代码。 -
Debugger for Java:实现轻量级 Java 程序调试,可设置断点,调试时查看变量值、对象属性和调用栈,追踪程序执行流程以排查问题。
-
Maven for Java:用于管理 Maven 项目,能创建新项目,管理项目依赖,执行 Maven 构建任务,如清理、编译、打包项目等。
-
Test Runner for Java:支持 JUnit 和 TestNG 等测试框架,方便运行和调试 Java 测试用例,展示测试结果及详细日志,助力开发者定位问题。
-
Project Manager for Java:可在编辑器中管理多个 Java 项目,实现快速切换,导入本地 Java 项目,可视化展示项目模块、包和文件结构。
-
Gradle for Java
键接受建议,也可以通过按 Esc
键拒绝建议。要逐字部分接受建议,请按 Ctrl/⌘ + →
//需求:写一个工具类计算数组平均值
public class ArrayUtils {
// 按tab会完成补全
}
按tab键 → Cursor 自动生成代码
//需求:写一个工具类计算数组平均值
public class ArrayUtils {
public static void main(String[] args) {
int[] nums = {1,2,3,4,5,6,7,8,9,10};
System.out.println(average(nums));
}
public static double average(int[] nums) {
int sum = 0;
for (int num : nums) {
sum += num;
}
return (double) sum / nums.length;
}
}
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
public class ArrayUtils {
public void arrayFor() {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = new ArrayList<>();
for (int num : numbers) {
if (num % 2 == 0) {
evenNumbers.add(num);
}
}
}
}
按Tab键 → 自动补全:
//在循环上方添加注释:// 使用 Stream 重构
//光标放在循环代码块的任意位置,按 Tab 键
public void arrayFor() {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());
}
Cursor 的 多行协同优化 核心能力:多行代码,一次性完成 语法升级、结构重组、安全修复。
多行数据联想
int count; // 普通变量
String name; // 姓名
boolean isValid; // 是否有效
double price; // 价格
//tab 会继续联想变量类型
多行批量修改
public static int add(int a, int b) {
//代码添加注释
//
System.out.println("第一次输出");
//
System.out.println("第二次输出");
//
System.out.println("第三次输出");
//
System.out.println("第四次输出");
return 0;
}
public class ArrayUtils {
//给下面方法添加注释
/**
*
*/
public static int add(int a, int b) {
return 0;
}
/**
*
*/
public static int subtract(int a, int b) {
return 0;
}
/**
*
*/
public static int multiply(int a, int b) {
return 0;
}
/**
*
*/
public static int divide(int a, int b) {
return 0;
}
}
public class Student {
private String name;
private int age;
//tab
//tab 接收完整补全
//ctrl + -> 部分和逐步接收补全 [需要开启部分补全配置]
//esc 或者 继续输入 拒绝补全
}
-
-
作用:启用 / 禁用 Cursor Tab 功能。
-
通俗理解:相当于 “总开关”,勾选后才能用 Tab 键触发 AI 代码建议(如多行补全、智能续写);取消勾选则 Tab 仅作普通缩进。
-
-
Accept the next word of a suggestion via Ctrl+RightArrow
-
作用:开启后,可用
Ctrl+→
(Windows/Linux)或⌘+→
(Mac)逐个单词接受 AI 建议。 -
通俗理解:AI 给的建议很长时,不想全要?开这个功能,按快捷键 “挑着用”。
-
-
场景:比如 AI 建议
const fullName = firstName + " " + lastName;
,但你只想用firstName + " " + lastName
部分,就可通过该快捷键拆分接受。 -
Enable Cursor Tab suggestions in comments
-
作用:让 AI 在注释内容里也提供 Tab 建议。
-
通俗理解:写注释时,AI 帮你补全思路!比如输入
// 实现冒泡排序的步骤:
,按 Tab 自动续写步骤说明。
-
-
Show whitespace only Cursor Tab suggestions
-
作用:控制是否显示仅包含空白(空格、换行)的 AI 建议。
-
通俗理解:这个配置项决定了 当按 Tab 时,是否让那些 “只调整空格、换行、缩进(没有实际代码逻辑变化)” 的建议显示出来。。
-
案例:
public class Demo {
public void test() {
System.out.println("Hello");
if (true) {
System.out.println("World");
}
}
}-
勾选:把光标放在混乱的代码里(比如
public void test() {
这行后面) tab 会有修改建议 -
不勾选:把光标放在混乱的代码里(比如
public void test() {
这行后面) tab不会有修改建议
-
-
-
Tab to import necessary modules with Cursor Tab. Only supports TypeScript
-
作用:在 TypeScript 中,写代码时缺模块,按 Tab 自动帮你导入依赖。
-
-
Enable auto import for Python. This is a beta feature.
-
作用
-