Files
spring-tools/vscode-extensions/vscode-spring-boot/README.md
Spring Operator af8b7f975d URL Cleanup. RMs not on localhost https URL.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://gophercloud.io/docs/ (200) with 1 occurrences could not be migrated:
   ([https](https://gophercloud.io/docs/) result SSLHandshakeException).
* [ ] http://man7.org/linux/man-pages/man7/glob.7.html (200) with 1 occurrences could not be migrated:
   ([https](https://man7.org/linux/man-pages/man7/glob.7.html) result AnnotatedConnectException).
* [ ] http://services.typefox.io/open-source/jenkins/job/lsp4j/job/master/lastStableBuild/artifact/build/p2-repository/ (200) with 1 occurrences could not be migrated:
   ([https](https://services.typefox.io/open-source/jenkins/job/lsp4j/job/master/lastStableBuild/artifact/build/p2-repository/) result SSLHandshakeException).

These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://cfapps.io:1000/hello (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1000/hello ([https](https://cfapps.io:1000/hello) result ConnectTimeoutException).
* [ ] http://cfapps.io:1001/hello (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1001/hello ([https](https://cfapps.io:1001/hello) result ConnectTimeoutException).
* [ ] http://cfapps.io:1002/hello (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1002/hello ([https](https://cfapps.io:1002/hello) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/ (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/ ([https](https://cfapps.io:1111/) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/fromEnv/hello-world (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/fromEnv/hello-world ([https](https://cfapps.io:1111/fromEnv/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/fromenvironment/hello-world (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/fromenvironment/hello-world ([https](https://cfapps.io:1111/fromenvironment/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/fromlaunchconfig/hello-world (ConnectTimeoutException) with 10 occurrences migrated to:
  https://cfapps.io:1111/fromlaunchconfig/hello-world ([https](https://cfapps.io:1111/fromlaunchconfig/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/frompropsfile/hello-world (ConnectTimeoutException) with 8 occurrences migrated to:
  https://cfapps.io:1111/frompropsfile/hello-world ([https](https://cfapps.io:1111/frompropsfile/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/hello-world (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/hello-world ([https](https://cfapps.io:1111/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/inner-class (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/inner-class ([https](https://cfapps.io:1111/inner-class) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/inner-inner-class (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/inner-inner-class ([https](https://cfapps.io:1111/inner-inner-class) result ConnectTimeoutException).
* [ ] http://cfapps.io:1111/mockedpath/hello-world (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:1111/mockedpath/hello-world ([https](https://cfapps.io:1111/mockedpath/hello-world) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/find (ConnectTimeoutException) with 14 occurrences migrated to:
  https://cfapps.io:999/find ([https](https://cfapps.io:999/find) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/goodbye (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:999/goodbye ([https](https://cfapps.io:999/goodbye) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/greetings (ConnectTimeoutException) with 4 occurrences migrated to:
  https://cfapps.io:999/greetings ([https](https://cfapps.io:999/greetings) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/hello (ConnectTimeoutException) with 4 occurrences migrated to:
  https://cfapps.io:999/hello ([https](https://cfapps.io:999/hello) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/mockedpath/greetings (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:999/mockedpath/greetings ([https](https://cfapps.io:999/mockedpath/greetings) result ConnectTimeoutException).
* [ ] http://cfapps.io:999/mockedpath/hello (ConnectTimeoutException) with 2 occurrences migrated to:
  https://cfapps.io:999/mockedpath/hello ([https](https://cfapps.io:999/mockedpath/hello) result ConnectTimeoutException).
* [ ] http://cloud-controller-ng.service.cf.internal:9022 (UnknownHostException) with 1 occurrences migrated to:
  https://cloud-controller-ng.service.cf.internal:9022 ([https](https://cloud-controller-ng.service.cf.internal:9022) result UnknownHostException).
* [ ] http://org.eclipse.ui.intro/execute?command= (UnknownHostException) with 2 occurrences migrated to:
  https://org.eclipse.ui.intro/execute?command= ([https](https://org.eclipse.ui.intro/execute?command=) result UnknownHostException).
* [ ] http://dist.springsource.com/snapshot/TOOLS/sts4-language-server-integrations/nightly (403) with 1 occurrences migrated to:
  https://dist.springsource.com/snapshot/TOOLS/sts4-language-server-integrations/nightly ([https](https://dist.springsource.com/snapshot/TOOLS/sts4-language-server-integrations/nightly) result 403).
* [ ] http://foobar.com/munhings.tar.gz (404) with 1 occurrences migrated to:
  https://foobar.com/munhings.tar.gz ([https](https://foobar.com/munhings.tar.gz) result 404).

These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://dist.springsource.com/snapshot/STS4/nightly-distributions.html with 5 occurrences migrated to:
  https://dist.springsource.com/snapshot/STS4/nightly-distributions.html ([https](https://dist.springsource.com/snapshot/STS4/nightly-distributions.html) result 200).
* [ ] http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html with 1 occurrences migrated to:
  https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html ([https](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) result 200).
* [ ] http://maven.apache.org/xsd/maven-4.0.0.xsd with 2 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).
* [ ] http://stackoverflow.com with 1 occurrences migrated to:
  https://stackoverflow.com ([https](https://stackoverflow.com) result 200).
* [ ] http://stackoverflow.com/questions/6132529/antlr-parsing-java-properties with 1 occurrences migrated to:
  https://stackoverflow.com/questions/6132529/antlr-parsing-java-properties ([https](https://stackoverflow.com/questions/6132529/antlr-parsing-java-properties) result 200).
* [ ] http://stackoverflow.com/tags/spring-tools-4 with 1 occurrences migrated to:
  https://stackoverflow.com/tags/spring-tools-4 ([https](https://stackoverflow.com/tags/spring-tools-4) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* [ ] http://www.apple.com/DTDs/PropertyList-1.0.dtd with 7 occurrences migrated to:
  https://www.apple.com/DTDs/PropertyList-1.0.dtd ([https](https://www.apple.com/DTDs/PropertyList-1.0.dtd) result 200).
* [ ] http://www.eclipse.org/legal/epl-v10.html with 64 occurrences migrated to:
  https://www.eclipse.org/legal/epl-v10.html ([https](https://www.eclipse.org/legal/epl-v10.html) result 200).
* [ ] http://www.java.com/en/download/help/error_hotspot.xml with 1 occurrences migrated to:
  https://www.java.com/en/download/help/error_hotspot.xml ([https](https://www.java.com/en/download/help/error_hotspot.xml) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd) result 200).
* [ ] http://www.springframework.org/schema/data/jpa/spring-jpa.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/data/jpa/spring-jpa.xsd ([https](https://www.springframework.org/schema/data/jpa/spring-jpa.xsd) result 200).
* [ ] http://www.springframework.org/schema/tx/spring-tx.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd) result 200).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).

These URLs were intentionally ignored.

* http://localhost:3000 with 8 occurrences
* http://localhost:8080/greeting with 1 occurrences
* http://localhost:9000 with 6 occurrences
* http://maven.apache.org/POM/4.0.0 with 4 occurrences
* http://www.springframework.org/schema/beans with 4 occurrences
* http://www.springframework.org/schema/context with 2 occurrences
* http://www.springframework.org/schema/data/jpa with 2 occurrences
* http://www.springframework.org/schema/p with 1 occurrences
* http://www.springframework.org/schema/tx with 2 occurrences
* http://www.w3.org/1999/XSL/Transform with 4 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 3 occurrences

Create https URLs for RMs not on local host
2019-03-21 12:02:19 -04:00

130 lines
6.6 KiB
Markdown

# 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 `.properties`format.
- `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](https://code.visualstudio.com/Docs/languages/overview#_adding-a-file-extension-to-a-language) 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][java-navigation]
### 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][java-live-apps-quick-access]
### 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][java-live-hovers]
### 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][java-code-completion]
### 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](https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html) 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][yaml-validation]
![application-properties-validation][properties-validation]
## Code Completions
![application-yaml-completions][yaml-completion]
![application-properties-completions][properties-completion]
## Information Hovers
![application-yaml-hovers][yaml-hovers]
## Issues and Feature Requests
Please report bugs, issues and feature requests on the [Github STS4 issue tracker](https://github.com/spring-projects/sts4/issues).
# 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](https://dist.springsource.com/snapshot/STS4/nightly-distributions.html). To install it
open vscode, press `CTRL-SHIFT-P` and search for VSIX, then select `Extension: Install from VSIX`
[yaml-completion]: https://github.com/spring-projects/sts4/raw/5360ae4fabf9245da58f5897c54e9a14786d0622/vscode-extensions/vscode-boot-properties/readme-imgs/yaml-completion.png
[properties-completion]: https://github.com/spring-projects/sts4/raw/5360ae4fabf9245da58f5897c54e9a14786d0622/vscode-extensions/vscode-boot-properties/readme-imgs/properties-completion.png
[yaml-validation]: https://github.com/spring-projects/sts4/raw/5360ae4fabf9245da58f5897c54e9a14786d0622/vscode-extensions/vscode-boot-properties/readme-imgs/yaml-validation.png
[properties-validation]: https://github.com/spring-projects/sts4/raw/5360ae4fabf9245da58f5897c54e9a14786d0622/vscode-extensions/vscode-boot-properties/readme-imgs/properties-validation.png
[yaml-hovers]: https://github.com/spring-projects/sts4/raw/1d731ed1ad5c8defcca4e4abb3cf5f2d89daba43/vscode-extensions/vscode-boot-properties/readme-imgs/yaml-hover.png
[java-code-completion]: https://github.com/spring-projects/sts4/raw/facac2003191bc29bf79049aa02a091457ffbe47/vscode-extensions/vscode-spring-boot/readme-imgs/java-code-completion.png
[java-live-apps-quick-access]: https://github.com/spring-projects/sts4/raw/facac2003191bc29bf79049aa02a091457ffbe47/vscode-extensions/vscode-spring-boot/readme-imgs/java-live-apps-quick-access.png
[java-live-hovers]: https://github.com/spring-projects/sts4/raw/e32a22cfd4c12b19ffbb55ca6619bf9f6eb213ea/vscode-extensions/vscode-spring-boot/readme-imgs/java-live-hovers.png
[java-navigation]: https://github.com/spring-projects/sts4/raw/facac2003191bc29bf79049aa02a091457ffbe47/vscode-extensions/vscode-spring-boot/readme-imgs/java-navigation.png