Readme for atom-spring-boot

This commit is contained in:
BoykoAlex
2018-02-21 17:53:24 -05:00
parent 82e9f9ee26
commit 874c74f3ba
10 changed files with 176 additions and 0 deletions

View 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`)

View File

@@ -0,0 +1,125 @@
# Atom package for Spring Boot projects
[![macOS Build Status](https://travis-ci.org/spring-projects/atom-spring-boot.svg?branch=master)](https://travis-ci.org/spring-projects/atom-spring-boot) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/1jvknxt9jhykgrxo?svg=true)](https://ci.appveyor.com/project/spring-projects/atom-spring-boot/branch/master) [![Dependency Status](https://david-dm.org/spring-projects/atom-spring-boot.svg)](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

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB