Visual Studio Code Spring Boot



VSCode extension and Language Server providing support for working with Spring Bootapplication.properties, application.yml and .java files.

The extension will automatically activate when you edit files with the followingname patterns:

Unlike JavaScript, Java code needs to be compiled so it wont work out of the box with visual studio code since it's just a glorified text editor. There are however multiple tools to accommodate for this, and the folks at VS code have a nice guide for setting you up - https://code.visualstudio.com/docs/java/java-spring-boot. Once you are signed in to your Azure account and you have your app open in Visual Studio Code, select the Azure icon in the Activity Bar to open the Azure Explorer and you will see the Azure Spring Cloud panel. Right-click on your subscription and select Create Service in Portal. Tired of writing boilerplate code for your CRUD controller? This video shows you how to use an awesome Visual Studio Code extension to easily and quickly ge.

  • *.java => activates Spring Boot specific support editing .java files.
  • application*.properties => activates support for Spring Boot properties in .propertiesformat.
  • application*.yml => activates support for Spring Boot properties in .yml format.

You can also define your own patterns and map them to the language-idsspring-boot-properties or spring-boot-properties-yaml by defining files.associationsin workspace settings. See vscode documentation for details.

Navigating the source code - Go to symbol in file/workspace

Easy navigation to Spring-specific elements of your source code.

Visual Studio Code Spring Boot Project

Shortcuts

  • Mac: Cmd-Shift-O (symbols in file), Cmd-T (symbols in workspace)
  • Linux/Windows: Ctrl-Shift-O (symbols in file), Ctrl-T (symbols in workspace)

Examples

  • @/ shows all defined request mappings (mapped path, request method, source location)
  • @+ shows all defined beans (bean name, bean type, source location)
  • @> shows all functions (prototype implementation)
  • @ shows all Spring annotations in the code

Quick-access for running apps

Easy navigation to the provided request mappings of running apps.

Visual studio code spring boot

Shortcuts

  • Mac: Cmd-Shift-O (symbols in file), Cmd-T (symbols in workspace)
  • Linux/Windows: Ctrl-Shift-O (symbols in file), Ctrl-T (symbols in workspace)

Examples

  • // shows all request mappings of all running Spring Boot apps and opens a browser for the selected endpoint

Live application information hovers

The Spring Tools 4 can connect to running Spring processes to visualize internal information of those running Spring processes inline with your source code. This allows you to see, for example, which beans have bean created at runtime, how they are wired, and more.

The Spring Tools 4 shows hints by highlighting sections of source code with a light green background. Hovering over the highlights with the mouse pointer, data from the running app is displayed in a popup.

For some types of information, STS 4 may also show a 'quick summary' as a codelens. Codelenses are only supported in Eclipse and Vscode at the moment, not in atom. For Eclipse this has to be enabled via Preferences >> Language Servers >> Spring Language Servers >> Spring Boot Language Server.

If there are multiple instances of the app running on your machine, the live data from all those instances will show up in the hover information.

Examples

  • @Profile: shows information about the active profiles on the running apps
  • @Component, @Bean, @Autowired: shows detailed information about the beans and their wiring from the live app
  • @ConditionalOn...: shows information about the conditions and their evaluation at runtime

Application Requirements for Spring Boot projects

Live information is scraped from running apps using JMX to connect to Spring Boot Actuator Endpoints. This means that spring-boot-actuator must be added as a dependency to your application and enabled. The easiest way to accomplish this is to add the spring-boot-actuator-starter dependency to your application's pom.xml or build.gradle as explained here.

Spring Boot 2.2 and beyond

⚠️ The JMX versions of the actuator endpoints (which the tooling uses under the hood to retrieve live data from the running applications) is not enabled by default anymore since Spring Boot 2.2. In order to allow Spring Tools 4 to continue to visualize live data from the running applications, you need to start the boot app with -Dspring.jmx.enabled=true in order to activate the JMX endpoints.

Managing Live Data Connections

Press CTRL-SHIFT-P (or CMD-SHIFT-P on Mac) and select the command to'Manage Live Spring Boot Process Connections'. A choice of actions to connect/refresh/disconnectto local processes found on your machine will then be presented.

Code templates

Write Spring code with templates, available via regular code completion.

Examples

Visual Studio Code Spring Boot
  • @GetMapping
  • @PostMapping
  • @PutMapping

Smart code completions

Additional code completions for Spring-specific annotations

Examples

Boot
  • @Value: code completion for Spring Boot property keys
  • @Scope: code completion for standard scope names

This extension analyzes your project's classpath and parses and indexes any Spring BootProperties Metadata it finds. Both Maven and Gradle projects are supported.

Visual

The data in the index is used to provide validation, code completions and informationhovers while editing Spring Boot Properties in either .properties or .yml format.

Visual Studio Code Spring Boot Kotlin

Validation

Code Completions

Information Hovers

Issues and Feature Requests

Please report bugs, issues and feature requests on the Github STS4 issue tracker.

Released versions of this extension can be installed directly from the vscode marketplace.

There are also development snapshots available with the latest fixes and improvements as a .vsix filethat can be donwloaded fromhere. To install itopen vscode, press CTRL-SHIFT-P and search for VSIX, then select Extension: Install from VSIX

Vscode Debug Spring Boot

Version: 1.25.1-RC.2