Readme for atom-spring-boot
51
atom-extensions/atom-spring-boot/DEVELOPER-NOTES.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Atom package for Spring Boot Application Properties
|
||||
|
||||
Atom package and Language Server providing support for Spring Boot applications development. Beans data for `.java` file, and editing support for `application.properties`, `application.yml` files.
|
||||
|
||||
## Installation:
|
||||
|
||||
Install it from Atom `Install Packages`, search for `spring-boot`
|
||||
|
||||
## Usage:
|
||||
|
||||
The extension will automatically activate when you edit files with the following
|
||||
name patterns:
|
||||
|
||||
- `.java` => activates spring beans data support
|
||||
- `application.properties` => activates support for .properties file format.
|
||||
- `application.yml` => activates support for .yml file format.
|
||||
|
||||
For all other files containing boot properties select grammar to be `Spring-Boot-Properties` for `properties` file format or `Spring-Boot-Properties-YAML` for 'YAML' file format
|
||||
|
||||
# Developer notes
|
||||
|
||||
## Bulding and Running
|
||||
|
||||
To build all these pieces you normally only need to run:
|
||||
|
||||
npm install
|
||||
|
||||
Now you can link it to Atom:
|
||||
|
||||
apm link .
|
||||
|
||||
Open Atom or execute `Refresh Window` in the opened instance (Packages -> Command Palette -> Toggle then search for the command).
|
||||
|
||||
## Debugging
|
||||
|
||||
**Client Side Debugging**: Open Atom's `Developer Tools` view - View -> Developer -> Toggle Developer Tools
|
||||
|
||||
**Server Side Debugging**: Change `launchVmArgs(version)` implementation in `lib/main.js` to be:
|
||||
```
|
||||
launchVmArgs(version) {
|
||||
return Promise.resolve([
|
||||
'-Xdebug',
|
||||
'-agentlib:jdwp=transport=dt_socket,server=y,address=7999,suspend=n',
|
||||
'-Dorg.slf4j.simpleLogger.logFile=boot-properties.log',
|
||||
'-Dorg.slf4j.simpleLogger.defaultLogLevel=debug',
|
||||
]);
|
||||
}
|
||||
|
||||
```
|
||||
(Then setup the remote debugger from your IDE on the same port `7999`)
|
||||
|
||||
125
atom-extensions/atom-spring-boot/README.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# Atom package for Spring Boot projects
|
||||
|
||||
[](https://travis-ci.org/spring-projects/atom-spring-boot) [](https://ci.appveyor.com/project/spring-projects/atom-spring-boot/branch/master) [](https://david-dm.org/spring-projects/atom-spring-boot)
|
||||
|
||||
Atom package and Language Server providing support for working with Spring Boot apps.
|
||||
|
||||
# Java Support
|
||||
|
||||
## Usage:
|
||||
|
||||
The extension will automatically activate when you edit files with the following
|
||||
name patterns:
|
||||
|
||||
- `*.java` => activates support for Java files
|
||||
|
||||
## Functionality
|
||||
|
||||
### Navigating the source code - Go to symbol in file
|
||||
Easy navigation to Spring-specific elements of your source code. Open `.java` file then open Atom's `Outline View` - View -> Toggle Outline View
|
||||
|
||||
![Go to Symbol in file][screenshot-navigation]
|
||||
|
||||
### Live application information hovers
|
||||
Show information from running Spring Boot apps on your machine in the source code. This allows you to run the Spring Boot app locally on your machine and visualizes information from those running apps in your source code.
|
||||
|
||||
#### Visualization
|
||||
Once the tooling detects a running Spring Boot app on your local machine, it automatically shows hints in the source code where data from the running app can be inspected. Then hovering over that area (with the mouse pointer), the data from the running app shows up.
|
||||
|
||||
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][screenshot-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
|
||||
* `RequestMapping`: show information about the request mapping for running apps
|
||||
|
||||
#### Configuration
|
||||
You can enable/disable this feature via workspace preferences by adding the following:
|
||||
```
|
||||
"boot-java":
|
||||
"boot-hints":
|
||||
on: false
|
||||
|
||||
```
|
||||
|
||||
### Smart code completions
|
||||
Additional code completions for Spring-specific annotations
|
||||
|
||||
![Smart code completion for boot properties][screenshot-code-completion]
|
||||
|
||||
#### Examples
|
||||
* `@Value`: code completion for Spring Boot property keys
|
||||
* `@Scope`: code completion for standard scope names
|
||||
|
||||
# Properties Support
|
||||
|
||||
Atom package and Language Server providing support for working with Spring Boot
|
||||
`application.properties` and `application.yml` files.
|
||||
|
||||
## Usage:
|
||||
|
||||
The package will automatically activate when you edit files with the following
|
||||
name patterns:
|
||||
|
||||
- `application.properties` => activates support for Spring Boot properties in `.properties`format.
|
||||
- `application.yml` => activates support for Spring Boot properties in `.yml` format.
|
||||
|
||||
For all other files select grammar to be `Spring-Boot-Properties` for `properties` file format or `Spring-Boot-Properties-YAML` for 'YAML' file format
|
||||
|
||||
## Functionality
|
||||
|
||||
This package 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
|
||||
|
||||
Property keys as well as property values are validated. Property keys are validated for being known properties and values are checked for being of expected type as well being a valid value
|
||||
|
||||
![application-yaml-validation][yaml-validation]
|
||||
![application-properties-validation][properties-validation]
|
||||
|
||||
### Code Completions
|
||||
|
||||
Both YAML and Properties formats have support for Content Assist on property keys and values helping to write valid Spring Boot configuration files right from the start.
|
||||
|
||||
![application-yaml-completions][yaml-completion]
|
||||
|
||||
![application-properties-completions][properties-completion]
|
||||
|
||||
### Information Hovers
|
||||
|
||||
Hovering over property keys provide valuable documentation about the purpose of the property and expected type for its value in a small popup window.
|
||||
|
||||
![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 package can be installed directly from the Atom package installer.
|
||||
|
||||
There are also development snapshots available with the latest fixes and improvements as a `.tgz` file
|
||||
that can be donwloaded from
|
||||
[here](http://dist.springsource.com/snapshot/STS4/nightly-distributions.html). To install it:
|
||||
1. Unpack into a folder `<package>` (this folder should have `package.json` file)
|
||||
2. Execute `apm link .` from that folder
|
||||
3. Execute `Window Reload` (Package -> Command Palette -> Toggle then search for it) command in the opened Atom instance or open an Atom instance
|
||||
|
||||
[screenshot-live-hovers]: https://raw.githubusercontent.com/spring-projects/sts4/112106b8bfdcebc33bb7923dda496f7a91fa93d8/atom-extensions/atom-boot-java/readme-imgs/screenshot-live-hovers.png
|
||||
[screenshot-code-completion]: https://github.com/spring-projects/sts4/blob/112106b8bfdcebc33bb7923dda496f7a91fa93d8/atom-extensions/atom-boot-java/readme-imgs/screenshot-code-completion.png
|
||||
[screenshot-navigation]: https://github.com/spring-projects/sts4/blob/26452532e6151f6668bcae4b5a2503c5a75c8d15/atom-extensions/atom-boot-java/readme-imgs/screenshot-navigation-in-file.png
|
||||
|
||||
[yaml-completion]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-completion.png
|
||||
[properties-completion]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/properties-completion.png
|
||||
[yaml-validation]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-validation.png
|
||||
[properties-validation]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/properties-validation.png
|
||||
[yaml-hovers]: https://github.com/spring-projects/sts4/blob/714c6bbb519f714ebba9f9fc5968ac2e619159f8/atom-extensions/atom-boot-properties/readme-imgs/yaml-hovers.png
|
||||
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 139 KiB |
BIN
atom-extensions/atom-spring-boot/readme-imgs/yaml-completion.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
atom-extensions/atom-spring-boot/readme-imgs/yaml-hovers.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
atom-extensions/atom-spring-boot/readme-imgs/yaml-validation.png
Normal file
|
After Width: | Height: | Size: 26 KiB |