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编程工具,助力开发者即刻编程。

更多推荐