Files
spring-tools/vscode-extensions/vscode-spring-boot
2019-09-06 13:08:04 -07:00
..
2018-09-12 12:58:00 -07:00
2019-08-14 15:04:54 +00:00

VS Code Language Server for Spring Boot

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

Usage:

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

  • *.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-ids spring-boot-properties or spring-boot-properties-yaml by defining files.associations in workspace settings. See vscode documentation for details.

Functionality for .java

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

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

Go to Symbol in workspace

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.

accessing running apps quickly

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

STS4 automatically detects JVM processes for running boot applications on your local machine.

When a running app is detected, STS 4 automatically 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.

live data from running apps as hover on source code

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
  • @ContidionalOn...: shows information about the conditions and their evaluation at runtime

Configuration

You can enable/disable this feature via workspace or user preferences, using the key: boot-java.boot-hints.on.

Code templates

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

Examples

  • @GetMapping
  • @PostMapping
  • @PutMapping

Smart code completions

Additional code completions for Spring-specific annotations

Smart code completion for boot properties

Examples

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

Functionality for .properties and .yml

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

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

Validation

application-yaml-validation application-properties-validation

Code Completions

application-yaml-completions

application-properties-completions

Information Hovers

application-yaml-hovers

Issues and Feature Requests

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

Releases:

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 file that can be donwloaded from here. To install it open vscode, press CTRL-SHIFT-P and search for VSIX, then select Extension: Install from VSIX