VSCode 配置 SpringBoot 开发
Spring Boot Extension Pack
Spring Boot Tools
Features
| 配置项 | 作用 |
|---|---|
| "boot-java-vscode-only.test-jars": true | 在构建或运行 Spring Boot 项目时,是否包含测试依赖(test jars)。当设置为 true 时,插件会将测试依赖(如 src/test 目录下的代码和依赖)包含在项目的构建和运行过程中 |
| "boot-java.change-detection.on": false | 当设置为 false 时,插件会禁用对项目文件的自动更改检测。这意味着,当你修改项目中的文件(如 Java 文件、配置文件等)时,插件不会自动触发重新构建、重新加载或重新启动 Spring Boot 应用程序 |
| "boot-java.common.properties-metadata": "" | 指定 Spring Boot 项目的配置文件元数据(properties-metadata)的来源aplication.yml 中写配置项为什么会有提示?就是因为有元数据文件 springboot 已经生成好了官方的元数据文件,像 server.port 等 如果自己定义了一个配置类绑定配置文件,在写配置的时候想也能提示各个配置项就需要引入依赖 这个依赖的作用就是生成元数据文件 这个配置项不用理会,1 官方配置已经生成好了,2 自定义配置引入这个依赖来生成,3 影响的是编写配置文件时进行提示,所以项目都没有任何元数据文件也不影响 |
| "boot-java.cron.inlay-hints": true | 是否显示 Cron 表达式的内联提示,设置为 true 会在编写 cron 的地方提示每个部分(如秒、分、小时)等,帮助开发者更方便编写 |
| "boot-java.embedded-syntax-highlighting": true | 配置文件高亮显示 |
| "boot-java.highlight-codelens.on": true | 是否启用 CodeLens 的功能 CodeLens:可以在代码中显示某个方法或属性等的使用次数、实现位置等 |
| "boot-java.highlight-copilot-codelens.on": false | 是否启用与 GitHub Copilot 相关的 CodeLens 功能 |
| "boot-java.jpql": true | JPQL 语法高亮显示(JPQL 是 JPA 的查询语句) |
| "boot-java.live-information.all-local-java-processes": false | 实时信息会显示在 VS Code 的 Spring Boot Dashboard 面板中。这是一个专门用于管理和监控 Spring Boot 应用程序的工具窗口 如果为 false 只显示当前 SpringBoot 项目,true 表示系统所有 java 进程都显示 |
| "boot-java.live-information.automatic-connection.on": false | 也是配合 Spring Boot Dashboard 面板,是否自动连接以实时获取 SpringBoot 程序运行状态、内存使用等情况 |
| "boot-java.live-information.fetch-data.max-retries": 10 | 也是配合 Spring Boot Dashboard 面板,当获取 Spring Boot 应用程序的实时信息失败时的最大重试次数 |
| "boot-java.live-information.fetch-data.retry-delay-in-seconds": 3 | 也是配合 Spring Boot Dashboard 面板,每次重试间隔时间 |
| "boot-java.modulith-project-tracking": true | 是否启用对 Spring Modulith 的支持。Spring Modulith 是一种用于构建模块化 Spring Boot 应用程序的框架或方法论 src ├── main │ ├── java │ │ ├── com.example.module1 │ │ │ ├── Module1Application.java │ │ │ └── Service1.java │ │ ├── com.example.module2 │ │ │ ├── Module2Application.java │ │ │ └── Service2.java │ └── resources └── test 当 "boot-java.modulith-project-tracking": true 时,插件会:识别 module1 和 module2 作为独立的模块提供模块之间的导航和代码补全 检查模块之间的依赖关系是否符合设计规范 |
| "boot-java.properties.completions.elide-prefix": false | 配置文件候选项提示模式,当输入 server 时 如果 配置的为 false: server.port server.address server.servlet.context-path 如果配置的为 true: port address servlet.context-path |
| "boot-java.remote-apps": [] | Spring Boot Dashboard 远程监控程序,配置上远程服务的地址,可以实时查看其运行状态、内存使用等情况 |
| "boot-java.scan-java-test-sources.on": false | 是否扫描和处理项目中的 Java 测试源代码(即 src/test/java 目录下的代码)false:不提供代码补全、语法检测等 |
| "boot-java.support-spring-xml-config.content-assist": true | 否启用对 Spring XML 配置文件的内容辅助(Content Assist)功能 比如 配置 Bean 里面的属性 initMethod、calss 等 仅对 Spring 的xml 配置文件内容进行辅助,比如 mybatis 等其他的 xml 文件不会 |
| "boot-java.support-spring-xml-config.hyperlinks": true | 是否在 Spring XML 配置文件中启用超链接导航功能 比如点击 Bean 的 calss 可以跳转到 这个类 |
| "boot-java.support-spring-xml-config.on": false | 是否开启 Spring XML 配置文件 的整体开关,要这个开启 boot-java.support-spring-xml-config.content-assist 和 boot-java.support-spring-xml-config.hyperlinks才有效 |
| "boot-java.support-spring-xml-config.scan-folders": "src/main" | 指定 Spring XML 配置文件 位置 |
| "boot-java.validation.java.reconcilers": true | 是否启用 Java 文件的实时验证和修复功能 比如 Spring 的注解、bean 等是否使用和定义合法 |
| "spring.tools.openWith": "integrated" | spring 相关的文件(如 POM,yaml 等)打开方式 "integrated" 表示使用集成编辑器而非外部程序打开 |
| "spring.tools.properties.replace-converted-file": false | 在转换或编辑 application.properties 文件时,是否替换原始文件比如把 properties 转换成 yaml 格式 |
OpenRewrite
| 配置项 | 作用 |
|---|---|
| "boot-java.rewrite.recipe-filters": [ "org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration", "org.openrewrite.java.spring.boot3.SpringBoot3BestPractices", "org.openrewrite.java.testing.junit5.JUnit5BestPractices", "org.openrewrite.java.testing.junit5.JUnit4to5Migration", "org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_7", "org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3", "org.springframework.ide.vscode.rewrite.boot3.UpgradeSpringBoot_3_4", "org.rewrite.java.security.", "org.springframework.rewrite.test.", "rewrite.test.*" ] |
用于控制 Rewrite 框架的配方过滤器(Recipe Filters)。Rewrite 是一个用于代码重构和迁移的工具,Spring Boot Tools 插件集成了 Rewrite 框架,帮助开发者自动化代码重构任务 此选项用于指定 Rewrite 框架的配方过滤器,即哪些重构配方(Recipes)应该被启用或禁用。配方过滤器可以基于配方的名称、标签或其他属性进行配置 通过配置配方过滤器,你可以精确控制哪些重构配方应该被应用 只启用与 Spring Boot 升级相关的配方 禁用某些可能不适合当前项目的配方 |
| "boot-java.rewrite.refactorings.on": true | 是否启用 Spring Boot Java 代码重构 功能true:启用代码重构功能。Spring Tools 会在开发过程中提供与代码重构相关的建议和自动化操作false:禁用代码重构功能 |
| "boot-java.rewrite.scan-files": [] | 重构文件范围,为空表示所有被支持的文件都会扫描 比如 java、properties、yml、xml 等 |
Boot 2.x Best Practices & Optimizations
| 配置项 | 作用 |
|---|---|
| "boot-java.validation.java.boot2": "AUTO" | 用于控制对 Spring Boot 2.x 项目的**验证行为****,AUTO 表示自动识别 下面是具体的验证配置项 |
| "spring-boot.ls.problem.boot2.DOMAIN_ID_FOR_REPOSITORY": "ERROR" | 检查 Repository 接口中是否正确定义了域对象的 ID 字段。如果未定义,标记为错误。 |
| "spring-boot.ls.problem.boot2.HTTP_SECURITY_AUTHORIZE_HTTP_REQUESTS": "WARNING" | 检查 Spring Security 配置中是否使用了 authorizeHttpRequests 方法(Spring Security 5.5+ 的新特性)。如果未使用,标记为警告。 |
| "spring-boot.ls.problem.boot2.JAVA_AUTOWIRED_CONSTRUCTOR": "WARNING" | 检查是否在构造函数上正确使用了 @Autowired 注解。如果未使用或使用不当,标记为警告。 |
| "spring-boot.ls.problem.boot2.JAVA_CONSTRUCTOR_PARAMETER_INJECTION": "IGNORE" | 检查是否使用了构造函数参数注入(推荐的方式)。如果未使用,标记为忽略。 |
| "spring-boot.ls.problem.boot2.JAVA_LAMBDA_DSL": "INFO" | 检查是否使用了 Lambda DSL(例如 Spring Security 的 Lambda 配置)。如果未使用,标记为信息。 |
| "spring-boot.ls.problem.boot2.JAVA_PRECISE_REQUEST_MAPPING": "HINT" | 检查是否使用了精确的 @RequestMapping 注解(例如 @GetMapping、@PostMapping 等)。如果未使用,标记为提示。 |
| "spring-boot.ls.problem.boot2.JAVA_PUBLIC_BEAN_METHOD": "HINT" | 检查 Bean 方法是否为 public(Spring 推荐的方式)。如果未使用,标记为提示。 |
| "spring-boot.ls.problem.boot2.JAVA_REPOSITORY": "WARNING" | 检查 Repository 接口是否正确实现。如果未正确实现,标记为警告。 |
| "spring-boot.ls.problem.boot2.JAVA_TEST_SPRING_EXTENSION": "WARNING" | 检查测试类是否使用了 @ExtendWith(SpringExtension.class)(JUnit 5 的推荐方式)。如果未使用,标记为警告。 |
| "spring-boot.ls.problem.boot2.MISSING_CONFIGURATION_ANNOTATION": "WARNING" | 检查配置类是否使用了 @Configuration 注解。如果未使用,标记为警告。 |
| "spring-boot.ls.problem.boot2.WEB_ANNOTATION_NAMES": "HINT" | 检查是否使用了正确的 Web 注解(例如 @RestController、@Controller 等)。如果未使用,标记为提示。 |
| "spring-boot.ls.problem.boot2.WEB_SECURITY_CONFIGURER_ADAPTER": "WARNING" | 检查是否使用了 WebSecurityConfigurerAdapter(Spring Security 5.7+ 已弃用)。如果使用,标记为警告。 |
Boot 3.x Best Practices & Optimizations
| 配置项 | 作用 |
|---|---|
| "boot-java.validation.java.boot3": "AUTO" | 用于控制对 Spring Boot 3.x 项目的验证行为,AUTO 表示自动识别 下面是具体的验证配置项 |
| "spring-boot.ls.problem.boot3.FACTORIES_KEY_NOT_SUPPORTED": "ERROR" | 检查是否使用了 Spring Boot 3.x 中不再支持的 spring.factories 文件中的键。如果使用,标记为错误。 |
| "spring-boot.ls.problem.boot3.JAVA_TYPE_NOT_SUPPORTED": "ERROR" | 检查是否使用了 Spring Boot 3.x 中不再支持的 Java 类型(例如某些已弃用的类或方法)。如果使用,标记为错误。 |
| "spring-boot.ls.problem.boot3.MODULITH_TYPE_REF_VIOLATION": "ERROR" | 检查是否违反了 Spring Modulith 的类型引用规则(例如模块之间的非法依赖)。如果违反,标记为错误。 |
AOT Optimizations
| 配置项 | 作用 |
|---|---|
| "boot-java.validation.java.spring-aot": "OFF" | 是否启用 Spring AOT 相关的代码验证 当设置为 OFF 时,IDE 不会检查代码是否符合 AOT 编译要求,适用于不需要使用 Spring Native/AOT 的传统开发模式 |
| "spring-boot.ls.problem.spring-aot.JAVA_BEAN_NOT_REGISTERED_IN_AOT": "WARNING" | AOT 编译需要显式注册 Bean 类型 当检测到未通过 @RegisteredBean 注册的 Java Bean 时显示警告 |
| "spring-boot.ls.problem.spring-aot.JAVA_BEAN_POST_PROCESSOR_IGNORED_IN_AOT": "WARNING" | AOT 模式下某些动态处理会被限制 当检测到 Bean 后处理器在 AOT 阶段被忽略时显示警告 |
| "spring-boot.ls.problem.spring-aot.JAVA_CONCRETE_BEAN_TYPE": "WARNING" | AOT 需要明确的类型信息来生成原生镜像 当具体类 Bean 未明确指定类型时显示警告 |
Property Config Files
指定 .properties 的校验规则,不满足进行不同等级的提示
YAML Config Fiels
指定 .yaml 的校验规则,不满足进行不同等级的提示
SpEL Expressions
指定 SpEL 表达式的校验规则,不满足进行不同等级的提示
Versions and Support Ranges
Spring Boot 的版本支持的校验规则,不满足进行不同等级的提示
比如 Spring Boot 和 JAVA 的版本、比如 Spring Boot 有新版本可用(主要版本和次要版本)等
Data Queries
指定 数据查询规则集 的校验规则,不满足进行不同等级的提示
比如 HQL、JPQL、SQL 等
CRON Expressions
指定 cron 表达式的校验规则,不满足进行不同等级的提示
Language Server
spring-boot.ls.checkJVM:启用 JVM 环境检查,确保 JVM 设置符合要求。spring-boot.ls.java.heap:设置 JVM 堆内存的大小,影响应用的内存管理和性能。spring-boot.ls.java.home:指定 Java 安装路径,确保使用正确版本的 JDK。spring-boot.ls.java.vmargs:指定 JVM 启动时的其他参数,用于调优或修改 JVM 行为。spring-boot.ls.logfile:指定日志文件路径,将日志保存到文件中。
Spring Initializr Java Support
配置 Spring Boot 初始化的信息
默认 artifact(demo)、group(com.example)、java 版本、语言(Java、Cotlin、Groovy)、打包方式(jar、war)等
比较有用的就是 serviceUrl,可以配置为 https://start.aliyun.com/ 可以创建 jdk8 的项目,默认是 https://start.spring.io/ 最低 jdk17
Spring Boot Dashboard
这玩意默认就好了,应该不重要,需要的时候再看吧

浙公网安备 33010602011771号