1. Cursor 开发工具

官网:https://www.cursor.com/cn/features
说明:
    Cursor是基于Visual Studio Code改造的,熟悉VS Code的话更易上手
功能:

  • 领先的开发团队使用 Cursor 来提升编写、编辑和审核代码的效率与生产力
  • 领先的 AI 模型驱动,将 OpenAI、Anthropic 和 Gemini 模型直接引入您的编辑器。
  • 在整个代码库中保持上下文感知,进行大规模索引,从而充分利用复杂的代码库。

1.1 Cursor 的所有功能都能用 API 密钥吗?

    有些重要功能(包括 Tab 和聊天应用编辑功能)由自定义模型驱动,无法通过 API 密钥来支付。

1.2 Cursor Tab自动补全功能

    它比 Copilot 更强大,能提供更完整的差异建议并具有更好的上下文记忆。

1.3 免费版功能

    你可免费使用最多 50 次高级模型请求,如果你超出限制,官方会提示你升级。

  • Pro 版两周试用
  • 2000 次补全
  • 50 次慢速高级请求

2. Cursor 功能特性

2.1 Tab 自动补全

    Cursor 包含强大的自动补全功能,可预测你的下一次编辑。一旦启用后,它会一直工作,并根据你最近的更改提供跨多行的代码建议。

  • 多行编辑
    Cursor 可以一次性提供多个编辑建议,帮助你节省时间。
  • 智能重写
    随意输入后,Cursor 会自动修正你的错误。
  • 光标预测
    Cursor 能预测你的下一个光标位置,让你更顺畅地浏览代码。

2.2 Chat 聊天

    聊天功能让你与能够“看到”你代码库的 AI 进行对话。它始终可以查看你当前的文件和光标,因此你可以问它诸如“这里有 bug 吗?”之类的问题。你可使用 Ctrl+Shift+L 或 “@.” 将特定代码块添加到上下文。要与整个代码库聊天,可使用 Ctrl+Enter

  • 即时应用
    通过点击任意聊天代码块顶部的播放按钮,可将聊天中的代码建议直接应用到代码库中。
  • 代码库问答
    使用 @Codebase 或 Ctrl Enter 来提问你的代码库。Cursor 会搜索你的代码库并找到与你的查询相关的代码。
  • 引用你的代码
    使用 @ 符号为 AI 提供上下文。输入 @ 即可查看文件夹中所有文件和代码符号的列表。
  • 使用图像
    点击聊天下方的图像按钮,或直接将图像拖拽到输入框,以在聊天中加入视觉上下文。
  • 询问网络
    使用 @Web 获取来自互联网的最新信息。Cursor 将搜索网络并使用最新数据来回答你的问题。
  • 使用文档
    使用 @LibraryName 来引用常见库,或通过 @Docs → Add new doc 来添加自定义文档。

2.3 Agent 代理人模式

    Cursor 的 agent 模式可以端到端完成任务。它运行迅速,同时让程序员时刻掌控。可在 Composer 中选择“agent”来试用。

  • 自动检索上下文
    借助自定义检索模型,Cursor 能理解代码库,减少你手动添加上下文的需求。
  • 执行命令
    Cursor 可以自动编写并运行终端命令。默认情况下,你需要确认每条命令。
  • 错误循环
    Cursor 能自动检测 lint 错误并应用修复,减少手动调试的需求。

2.4 Ctrl+K

    Ctrl K 让你使用 AI 来编辑和编写代码。要编辑时,可先选中部分代码,点击“Edit”,并描述需要如何更改。若想生成全新代码,只需在未选中任何内容的情况下输入 Ctrl K。

  • 终端 Ctrl K
    在终端中使用 Ctrl K,以自然语言编写终端命令。Cursor 会将其转换为你所需的命令。
  • 快速提问
    如果你对某段代码有简单疑问,先选中它,然后点击“quick question”即可立刻获得解答。

3. Cursor 编辑器设置

    以下是关于 CursorCursor SettingsUser SettingsProject Settings 的详细介绍,帮助您快速理解它们的区别与用途

设置类型 作用范围 持久性 典型用途
Cursor Settings 全局 本地存储 编辑器外观、快捷键、基础AI行为
User Settings 用户级 云端同步 账户、API密钥、跨设备同步
Project Settings 项目级 本地(Git提交) 环境、调试、AI上下文限制

3.1 Cursor Settings(编辑器设置)

    通过菜单栏 File-Preferences-Cursor Settings打开。
    全局编辑器行为配置,影响所有项目和用户会话。核心功能:

  • 外观与交互:
    • 主题(深色/浅色)、字体大小、行高、缩进规则(空格/Tab)。
    • 快捷键自定义(如代码格式化、跳转定义)。
  • 编辑功能:
    • 自动保存(Auto Save)、自动补全触发延迟(Auto Complete Delay)。
    • 代码片段(Snippets)管理、括号匹配高亮。
  • AI 集成:
    • 控制AI代码补全的触发频率(如是否在输入时自动建议)。
    • 设置AI模型的版本(例如 GPT-4、O1-MINI、DeepSeek-R1)。
3.1.1 Rules for AI

    General 下的 Rules for AI可以配置全局的规则,比如说明我是用Java、Python、Vue开发语言,希望模型总是回答中文
    General 下的 Open editor settings,支持设置字体、自动保存、三方插件配置等
    General 下的 Configure keyboard shortcuts 管理快捷键
    Ctrl+Shift+A快速打开可以控制许多编辑器功能的悬浮框
    Ctrl+Shift+L快速打开编辑器chat面板聊天功能
    Ctrl+K在文件编辑页快速唤起悬浮弹窗,开启AI编程

Developed in Java language, Always respond in Chinese
3.1.2 配置模型DeepSeek/Kimi

    按照如图所示步骤,即可添加大模型能力,比如月之暗面的moonshot、深度求索的deepseek、字节跳动的doubao等。此处以moonshot为例配置如下所示。
在这里插入图片描述

3.2 User Settings(用户设置)

    通过 Account → Preferences 或登录后侧边栏用户图标进入。
    用户个人账户相关配置,与账号绑定并支持跨设备同步。 核心功能:

  • 账户管理:
    • 登录状态、API Key(如OpenAI密钥)绑定。
    • 订阅计划、使用配额查看。
  • 个性化:
    • 默认语言(如代码注释的显示语言)。
    • 隐私设置(是否共享匿名使用数据)。
  • 同步与备份:
    • 配置云端同步(如主题、快捷键的跨设备同步)。
    • 自定义代码模板的备份与恢复。
3.2.1 配置文件settings.json

    Ctrl+Shift+P唤起悬浮弹窗配置,输入Open User Settings (JSON) 并选中该配置,打开settings文件,参考以下配置调整个人配置,比如jdk、maven配置等
在这里插入图片描述
配置settings.json文件:
    此处是Java开发环境,具体配置以实际项目为准

{
      "window.commandCenter": true,
      "files.autoSave": "onFocusChange",
      "editor.fontSize": 16,
      "editor.tabSize": 6,
      "cursor.cmdk.autoSelect": false,
      "redhat.telemetry.enabled": true,
      "cursor.chat.terminalShowHoverHint": false,
      "editor.renderWhitespace": "all",
      "java.debug.settings.exceptionBreakpoint.skipClasses": [],
      "java.jdt.ls.java.home": "E:\\unsoftware\\Java\\jdk1.8.0_161",
      "java.configuration.runtimes": [
            {
                  "name": "JavaSE-1.8",
                  "path": "E:\\unsoftware\\Java\\jdk1.8.0_161",
                  "default": true
            }
      ],
      "java.configuration.maven.userSettings": "E:/unsoftware/apache-maven-3.9.6/conf/settings.xml",
      // 编辑器通用配置
      "editor.formatOnSave": true,
      "editor.formatOnPaste": true,
      "editor.detectIndentation": false,
      // Java特定编辑器配置
      "[java]": {
            "editor.suggest.snippetsPreventQuickSuggestions": false,
            "editor.suggestSelection": "first",
            "editor.formatOnSave": true,
            "editor.formatOnPaste": true,
            "editor.defaultFormatter": "redhat.java"
      },
      // Java导入顺序
      "java.completion.importOrder": [
            "java",
            "javax",
            "org",
            "com"
      ],
      // 其他Java相关配置
      "java.configuration.updateBuildConfiguration": "automatic",
      "java.compile.nullAnalysis.mode": "automatic",
      "java.dependency.packagePresentation": "hierarchical",
      "java.format.settings.profile": "GoogleStyle",
      "java.format.settings.url": "",
      "maven.excludedFolders": [
            "**/.*",
            "**/node_modules",
            "**/target",
            "**/bin",
            "**/archetype-resources"
      ],
      "maven.executable.path": "E:\\unsoftware\\apache-maven-3.9.6\\bin\\mvn.cmd",
      "maven.settingsFile": "E:\\unsoftware\\apache-maven-3.9.6\\bin\\mvn.cmd",
      "maven.terminal.useJavaHome": true,
      "maven.terminal.customEnv": [
            {
                  "environmentVariable": "JAVA_HOME",
                  "value": "E:\\unsoftware\\Java\\jdk1.8.0_161"
            }
      ],
      "java.configuration.maven.globalSettings": "E:/unsoftware/apache-maven-3.9.6/conf/settings.xml"
}

3.3 Project Settings(项目设置)

    项目根目录下的 .cursor/config.json 文件或通过右键项目文件夹设置。
    针对特定项目的本地化配置,仅影响当前工作区。 核心功能:

  • 环境配置:
    • 项目依赖路径(如Python虚拟环境 venv 路径)。
    • 语言解释器版本(如Node.js 18.x)。
  • 工作流集成:
    • 调试配置(Launch Configuration)、任务运行器(Tasks)。
    • Git忽略规则(.gitignore 扩展)、代码格式化工具(Prettier/ESLint)。
  • AI 上下文:
    • 项目级提示词(Custom Prompts),例如为特定框架生成代码。
    • 限制AI对敏感目录的访问(如 node_modules)。

    Ctrl+Shift+P唤起配置弹窗,输入Open Project Settings。如果没有该配置,可以下载插件Extension Pack for Java后,等待Java Maven Project下载好依赖包再试下。
    在此处可以配置JDK、Maven等环境信息

在这里插入图片描述
在这里插入图片描述

4. Extensions

    路径:File-Preferences-Extensions
    搜索安装各种插件。此处安装Extension Pack for Java插件以更好的支持Java开发。推荐安装Spring Initializr Java Support以支持SpringBoot开发。
    更多插件按需按照
在这里插入图片描述

5. Cursor开发Springboot接口

5.1 打开工作空间

    此处用Cursor打开一个空目录ai-customer
    Ctrl+Shift+L唤起聊天面板。
在这里插入图片描述

5.2 Ctrl+Shift+L唤起Chat面板

通过快捷键唤起Chat面板开始对话
在这里插入图片描述

5.2.1 第一次对话

Cursor Chat 输入:请帮我在当前工作目录下初始化springboot项目。我是windows环境。
Cursor Chat 输出:

好的,以下是在Windows环境下,在当前工作目录初始化一个Spring Boot项目的步骤:

  1. 安装Java和Maven
    确保你已经安装了Java和Maven。可以通过在命令行中运行以下命令来检查:
java -version
mvn -version

如果还没有安装,可以从以下链接下载并安装:
Java: Oracle官网 或 OpenJDK
Maven: Maven官网

  1. 使用Spring Initializr创建项目
    打开命令行(CMD或PowerShell),并执行以下命令:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-deepseek-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

这个命令会创建一个名为my-deepseek-project的Maven项目。

  1. 添加Spring Boot依赖
    在pom.xml文件中添加Spring Boot的依赖。打开pom.xml文件,并添加以下内容:
<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.7.3</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
   </dependency>
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <scope>runtime</scope>
   </dependency>
</dependencies>

my-deepseek-project/pom.xml

  1. 创建Spring Boot应用
    在src/main/java/com/example目录下创建一个名为MyDeepSeekApplication.java的文件:
package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyDeepSeekApplication {

   public static void main(String[] args) {
       SpringApplication.run(MyDeepSeekApplication.class, args);
   }
}
  1. 运行Spring Boot应用
    在命令行中运行以下命令来启动Spring Boot应用:
mvn spring-boot:run

现在,你的Spring Boot项目已经成功初始化,并在当前工作目录下创建。你可以通过访问http://localhost:8080来测试应用是否正常运行。接下来,你可以继续添加业务逻辑,如调用DeepSeek大模型API和查询数据库数据,并对外提供接口。希望这些步骤对你有帮助!如果有任何问题,欢迎随时问我。

    根据以上输出内容,准备JDK、Maven等环境,执行mvn命令初始化项目即可。
    然后继续对话希望实现一个接口。

5.2.2 第二次对话

Cursor Chat 输入:帮忙写一个接口,返回hello
Cursor Chat 输出:

当然可以。以下是一个简单的Spring Boot控制器类,其中包含一个接口,当被调用时会返回字符串 “hello”。

package com.example.mydeepseekproject.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

   @GetMapping("/hello")
   public String sayHello() {
       return "hello";
   }
}

将上述代码保存到你的Spring Boot项目中的src/main/java/com/example/mydeepseekproject/controller目录下(如果目录不存在,请创建相应的目录)。这个控制器类HelloController中定义了一个sayHello方法,它使用了@GetMapping注解来映射HTTP GET请求到/hello路径。当这个路径被访问时,sayHello方法将被调用,并返回字符串 “hello”。
要启动你的Spring Boot应用并测试这个接口,可以在命令行中运行:

mvn spring-boot:run

然后,打开浏览器或者使用工具如Postman,访问以下URL:

http://localhost:8080/hello

你应该会看到浏览器或Postman中显示了 “hello” 这个字符串。

    按照第二次会话返回的结果,进行处理,创建好接口对应的文件。

5.3 启动项目

在这里插入图片描述

    准备启动项目,安装Java开发插件后,打开springboot启动类文件XXXApplication.java,顶部有Debug or run运行按钮,可以运行程序,此处根据建议通过命令行窗口执行mvn spring-boot:run命令运行服务。

5.4 验证服务接口

    访问接口成功响应hello
在这里插入图片描述

Powered By niaonao

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐