Spring-启动应用程序 运行 配置 VScode

Spring-Boot application run configurations with VScode

在 Spring-Tools-suite(eclipse 的自定义版本)中,有一个选项可以为同一应用程序定义多个 运行 配置,然后 运行 它们。

例如,在测试 Eureka 服务器和 运行使用不同端口和名称定义的同一应用程序的多个实例来检查注册时。

有人知道使用 Spring 和 Java 扩展以及 Visual Studio 代码来定义类似 运行 配置的方法吗?

直接回答您的问题,您可能正在寻找的功能是:

Debugging with Launch Configurations

To debug a simple app in VS Code, press F5 and VS Code will try to debug your currently active file.

However, for most debugging scenarios, creating a launch configuration file is beneficial because it allows you to configure and save debugging setup details.

该文档相当详细介绍了该功能。与在 Eclipse 中一样,这是与调试相关的(从 Eclipse 中启动应用程序不一定附加到调试器)。您将最熟悉类似于 运行 配置的启动配置(相对于附加)。 Add a new configuration 说明了如何通过片段而不是像 Eclipse 那样通过向导构建 launch.json 文件。

关于 Spring 具体的启动,Pivotal 为您提供了几个扩展:Spring Boot Tools and Spring Initializr support 为您提供一些额外的功能以及启动。

运行 配置和启动配置在紧要关头很好,但正如 Leo Zhu 在评论中提到的那样,Maven 配置文件 ( / docs) or Gradle's equivalent simple use of if statements to control environments ( / Gradle blog entry) 更便携并且 IDE 独立。这些方法有我个人的投票。

我在 VSCode-1.40.2 中使用 Java-1.8.0_231-b11[=32 测试了这个=]

您需要以下内容才能启动 launch.jsonhttps://code.visualstudio.com/docs/java/java-debugging

对于STS开发,您可以从以下网址下载: https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-boot-dev-pack

这是我的 launch.json 设置,我用它来生成我使用 VSCode 开发的微服务的两个实例。 请注意我是如何在 vmArgs 中设置服务器端口以服务于 8000 & 8001

{
"configurations": [
    {
        "type": "java",
        "name": "CodeLens (Launch-8000) - CurrencyExchangeServiceApplication",
        "request": "launch",
        "mainClass": "com.microservices.currencyexchangeservice.CurrencyExchangeServiceApplication",
        "projectName": "currency-exchange-service",
        "vmArgs": "-Dserver.port=8000"
    },
    {
        "type": "java",
        "name": "CodeLens (Launch-8001) - CurrencyExchangeServiceApplication",
        "request": "launch",
        "mainClass": "com.microservices.currencyexchangeservice.CurrencyExchangeServiceApplication",
        "projectName": "currency-exchange-service",
        "vmArgs": "-Dserver.port=8001"
    }
]
}

您最终会在编辑器中得到两个配置,如下所示:

希望这对您有所帮助。