gurpal2000 / intellij-quarkus

IntelliJ Quarkus Tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quarkus Tools for IntelliJ

Java CI with Gradle Validate against IJ versions JetBrains plugins JetBrains plugins codecov

Description

This JetBrains IntelliJ plugin provides support for Quarkus development via a Quarkus language server.

application.properties support

Code completion (Ctrl + ENTER)

Property documentation

Select a property and press Ctrl+Q

Goto property definition

Select a property and press Ctrl+B

Syntax validation

Wrong property key names or values are reported

Property hover in Java files

Property managed in your code through @ConfigProperty:

  • code completion in application.properties is adjusted accordingly if you define new properties
  • hover over the property field will display the current value

MicroProfile Health

Syntax validation is being performed for Java files using the MicroProfile Health assets:

MicroProfile Fault Tolerance

MicroProfile Health related properties are supported in application.properties completion and syntax validation as soon as you use MicroProfile related annotation in your Java source files

MicroProfile Rest Client

MicroProfile Rest Client references are checked against valid injections

MicroProfile LRA

MicroProfile LRA related properties references are supported in application.properties completion and syntax validation as soon as you use MicroProfile LRA in your Quarkus application

MicroProfile OpenAPI

MicroProfile OpenAPI related properties references are supported in application.properties completion and syntax validation as soon as you use MicroProfile OpenAPI in your Quarkus application

MicroProfile Metrics

MicroProfile Metrics related properties references are supported in application.properties completion and syntax validation as soon as you use MicroProfile Metrics in your Quarkus application

MicroProfile OpenTracing

MicroProfile OpenTracing related properties references are supported in application.properties completion and syntax validation as soon as you use MicroProfile OpenTracing in your Quarkus application

application.yaml

Code completion (Ctrl+ENTER)

Property documentation

Select a property and press Ctrl+Q

Syntax validation

Wrong property key names or values are reported

Quarkus project wizards

  • Generate a Quarkus Maven project, based on https://code.quarkus.io/
    • Call File -> New -> Module -> Quarkus
  • Add Quarkus extensions to current Maven-based Quarkus project
    • NYI

Quarkus application.properties Features

  • Completion support for Quarkus properties
  • Hover support for Quarkus properties
  • Validation support for Quarkus properties
  • Support for Quarkus profiles
  • Outline support (flat or tree view)

Quarkus debug command

NYI

Launches the Maven quarkus:dev plugin and automatically attaches a debugger

TBD

Quarkus code snippets

This plugin provides several code snippets, available when editing Java files:

  • qrc - Create a new Quarkus resource class
  • qrm - Create a new Quarkus resource method
  • qtrc - Create a new Quarkus test resource class
  • qntrc - Create a new Quarkus native test resource class

When editing application.properties files, you have access to:

  • qds - Configure a Quarkus datasource
  • qj - Configure a Jaeger tracer

Requirements

  • Java JDK (or JRE) 8 or more recent

Contributing

This is an open source project open to anyone. Contributions are extremely welcome!

Building

Project is managed by Gradle. So building is quite easy.

Building the plugin distribution file

Run the following command:

./gradlew buildPlugin

The plugin distribution file is located in build/distributions.

Testing

You can also easily test the plugin. Just run the following command:

./gradlew runIde

Unit test infrastructure

The IntelliJ SDK does not provide helpers to create Maven or Gradle based project. But the Maven and Gradle plugins have some test class helpers but they are not part of the IntelliJ SDK or the respective plugin distributions.

So we extracted these classes into the intellij-community folder. But as these classes are highly linked to the version of the IntelliJ SDK used to build, there is a script to copy them from the GitHub intellij-community repository.

This script is pulltest.sh

If the version of the IntelliJ SDK used to build is changed (see gradle.properties), you must update the branch in pulltest.sh and run the script again.

UI testing

You can perform UI testing by running the following command:

./gradlew clean runIdeForUiTests -PideaVersion=IC-2020.2& ./gradlew integrationTest 

Data and Telemetry

The JetBrains IntelliJ Quarkus Tools plugin collects anonymous usage data and sends it to Red Hat servers to help improve our products and services. Read our privacy statement to learn more. This extension respects the Red Hat Telemetry setting which you can learn more about at https://github.com/redhat-developer/intellij-redhat-telemetry#telemetry-reporting

Feedback

File a bug in GitHub Issues.

License

Eclipse Public License 2.0. See LICENSE file.

About

IntelliJ Quarkus Tools

License:Eclipse Public License 2.0


Languages

Language:Java 88.7%Language:HTML 10.4%Language:Kotlin 0.7%Language:Shell 0.2%