{"id":15013788,"url":"https://github.com/redhat-developer/intellij-quarkus","last_synced_at":"2025-04-04T11:16:24.917Z","repository":{"id":36174339,"uuid":"215487217","full_name":"redhat-developer/intellij-quarkus","owner":"redhat-developer","description":"IntelliJ Quarkus Tools","archived":false,"fork":false,"pushed_at":"2025-03-10T13:25:19.000Z","size":16760,"stargazers_count":124,"open_issues_count":84,"forks_count":53,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-03-28T10:11:19.120Z","etag":null,"topics":["gradle","hacktoberfest","intellij","intellij-plugin","intellij-quarkus","jetbrains-plugins","maven","quarkus","quarkus-gradle","quarkus-maven","quarkus-properties","quarkusio"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhat-developer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-16T07:40:49.000Z","updated_at":"2025-03-10T13:25:24.000Z","dependencies_parsed_at":"2023-02-17T16:45:57.970Z","dependency_job_id":"3573eead-d4ac-41df-9885-f4d3aaade4b1","html_url":"https://github.com/redhat-developer/intellij-quarkus","commit_stats":{"total_commits":743,"total_committers":22,"mean_commits":33.77272727272727,"dds":0.6366083445491252,"last_synced_commit":"ffd98148002c97570fbd87364bd545d2591940a8"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-quarkus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-quarkus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-quarkus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-quarkus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhat-developer","download_url":"https://codeload.github.com/redhat-developer/intellij-quarkus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166169,"owners_count":20894654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","hacktoberfest","intellij","intellij-plugin","intellij-quarkus","jetbrains-plugins","maven","quarkus","quarkus-gradle","quarkus-maven","quarkus-properties","quarkusio"],"created_at":"2024-09-24T19:44:47.026Z","updated_at":"2025-04-04T11:16:24.897Z","avatar_url":"https://github.com/redhat-developer.png","language":"Java","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003ch1\u003e\u003cimg src=\"https://raw.githubusercontent.com/redhat-developer/intellij-quarkus/master/src/main/resources/quarkus_icon_rgb_32px_default.png\" /\u003e Quarkus Tools for IntelliJ\u003c/h1\u003e\n\n[plugin-repo]: https://plugins.jetbrains.com/plugin/13234-quarkus\n[plugin-version-svg]: https://img.shields.io/jetbrains/plugin/v/13234-quarkus.svg\n[plugin-downloads-svg]: https://img.shields.io/jetbrains/plugin/d/13234-quarkus.svg\n[![Java CI with Gradle](https://github.com/redhat-developer/intellij-quarkus/actions/workflows/ci.yml/badge.svg)](https://github.com/redhat-developer/intellij-quarkus/actions/workflows/ci.yml)\n![Validate against IJ versions](https://github.com/redhat-developer/intellij-quarkus/workflows/Validate%20against%20IJ%20versions/badge.svg)\n[![JetBrains plugins][plugin-version-svg]][plugin-repo]\n[![JetBrains plugins][plugin-downloads-svg]][plugin-repo]\n[![codecov](https://codecov.io/gh/redhat-developer/intellij-quarkus/branch/master/graph/badge.svg)](https://codecov.io/gh/redhat-developer/intellij-quarkus)\n\n\n## Description\n\u003c!-- Plugin description --\u003e\nA plugin aimed at Quarkus based development, providing easy bootstrapping and code assist from [Quarkus](https://quarkus.io/) related assets and [Qute](https://quarkus.io/guides/qute-reference).\n\nTo provide those support, the plugin consumes:\n\n * [MicroProfile Language Server](https://github.com/eclipse/lsp4mp/tree/master/microprofile.ls) \n * [Qute Language Server](https://github.com/redhat-developer/quarkus-ls/tree/master/qute.ls) \n\nby using [LSP4IJ (Language Server Protocol for Intellij)](https://github.com/redhat-developer/lsp4ij).\n\n\u003c!-- Plugin description end --\u003e\n\n### application.properties support\n\n### Code completion (Ctrl + ENTER)\n\n![](images/quarkus-tools.png)\n\n### Property documentation\n\nSelect a property and press Ctrl+Q\n\n![](images/quarkus-tools1.png)\n\n### Goto property definition\n\nSelect a property and press Ctrl+B\n\n![](images/quarkus-tools2.gif)\n\n### Syntax validation\n\nWrong property key names or values are reported\n\n![](images/quarkus-tools3.png)\n![](images/quarkus-tools4.png)\n\n### Property hover in Java files\n\nProperty managed in your code through @ConfigProperty:\n  * code completion in application.properties is adjusted accordingly if you define new properties\n  * hover over the property field will display the current value\n\n![](images/quarkus-tools5.gif)\n\n### CodeLens / Inlay\n\nWhen editing a resource class while the current Quarkus application is running in development mode (`./mvnw compile quarkus:dev` or `./gradlew quarkusDev`), there are now CodeLenses that provide the URL for the GET endpoints.\n\nThis feature takes into account the path name and the HTTP server port from your application.properties file in order to create the URL.\n\nClicking on the CodeLens URL will open the URL in your default browser.\n\n![](images/quarkus-tools15.gif)\n\n#### InLayHint\n\nInlayHint is now a supported feature. It allows to add inline information about parameters and variables. This is very useful for Qute templates to get type information. InlayHints may also be clickable.\n\n![](images/1.13.0/quarkus-tools1.gif)\n\n## DocumentHighlight\n\nDocumentHightlight allows to hightlight parts of the document that are related to the current selection. This is useful for Qute templates to highlight matching part of a Qute section.\n\n![](images/1.13.0/quarkus-tools2.gif)\n\n### CodeActions / Quick Fixes\n\nWhen an error is detected on one of your Quarkus project files, it is highlighted in the source editor\n(example when you define one property through `@ConfigProperty` but it is not defined.).\n\nIf this error can be fixed through an automatic action, it will be available from the `More actions`\ncontext menu or through the `Alt+Enter` key binding.\n\nIn this example, we will add a default value for a property defined though `@ConfigProperty`\n\n![](images/1.14.0/quarkus-tools1.gif)\n\nIn this another example, a Microprofile REST Client is defined and bound to a REST resource but the\n`RestClient` annotation is missing from the binding.\n\n![](images/1.14.0/quarkus-tools2.gif)\n\n### MicroProfile Health \n\nSyntax validation is being performed for Java files using the MicroProfile Health assets:\n\n![](images/quarkus-tools6.gif)\n\n### MicroProfile Fault Tolerance\n\nMicroProfile Health related properties are supported in `application.properties` completion\nand syntax validation as soon as you use MicroProfile related annotation in your Java\nsource files\n\n![](images/quarkus-tools7.gif)\n\nMethods referenced in `@Fallback(fallbackMethod)` are validated:\n\n![](images/quarkus-tools16.gif)\n\nActivating code completion on the `@Fallback(fallbackMethod)` value will get the list of available methods being proposed:\n\n![](images/quarkus-tools17.gif)\n\n\n### MicroProfile Rest Client\n\nMicroProfile Rest Client references are checked against valid injections\n\n![](images/quarkus-tools8.gif)\n\n### MicroProfile LRA\n\nMicroProfile LRA related properties references are supported in `application.properties` completion\nand syntax validation as soon as you use MicroProfile LRA in your Quarkus application\n\n![](images/quarkus-tools9.png)\n\n### MicroProfile OpenAPI\n\nMicroProfile OpenAPI related properties references are supported in `application.properties` completion\nand syntax validation as soon as you use MicroProfile OpenAPI in your Quarkus application\n\n![](images/quarkus-tools10.png)\n\n### MicroProfile Metrics\n\nMicroProfile Metrics related properties references are supported in `application.properties` completion\nand syntax validation as soon as you use MicroProfile Metrics in your Quarkus application\n\n![](images/quarkus-tools10.png)\n\nInvalid use of the `@Gauge` annotation is reported as well:\n\n![](images/quarkus-tools18.png)\n\n### MicroProfile OpenTracing\n\nMicroProfile OpenTracing related properties references are supported in `application.properties` completion\nand syntax validation as soon as you use MicroProfile OpenTracing in your Quarkus application\n\n![](images/quarkus-tools11.png)\n\n### application.yaml\n\n### Code completion (Ctrl+ENTER)\n\n![](images/quarkus-tools12.png)\n\n### Property documentation\n\nSelect a property and press Ctrl+Q\n\n![](images/quarkus-tools13.png)\n\n### Syntax validation\n\nWrong property key names or values are reported\n\n![](images/quarkus-tools14.png)\n\n## Qute templates\n\nThe [Qute templating engine](https://quarkus.io/guides/qute-reference) is supported in Java file and templates.\n\n![](images/1.11.0/quarkus-tools1.png)\n\n## Quarkus project wizards\n\nGenerate a Quarkus Maven project, based on https://code.quarkus.io/. Call `File \u003e New \u003e Module \u003e Quarkus`. It is possible to filter the list of displayed Quarkus extension by name pattern and allow or disallow the inclusion of non platforms Quarkus extensions.\n\n![](images/1.12.0/quarkus-tools2.gif)\n\n## Quarkus `application.properties` Features\n  * Completion support for Quarkus properties\n  * Hover support for Quarkus properties\n  * Validation support for Quarkus properties \n  * Support for Quarkus profiles\n  * Outline support (flat or tree view)\n\n## Quarkus run/debug command\n\nIt is possible to run or debug a Quarkus application from the IDE configurations.\nSelect the `Run -\u003e Edit Configurations...` menu and click the `Add new...` link:\n\n![](images/1.10.0/quarkus-tools1.png)\n\nSelect the `Quarkus` configuration type:\n\n![](images/1.10.0/quarkus-tools2.png)\n\nThe first module of the project is selected. For single Quarkus projects, it is ok. If you have a multi module Quarkus project, you can change the module to test.\nYou can also specify a Quarkus profile to use (dev is the default) and environment variables (using the notation VARNAME=varvalue, separated by semicolon)\n\nThe click the `OK` button. The configuration will now appear on the top right side of the window:\n\n![](images/1.10.0/quarkus-tools3.png)\n\nIf you click the Run icon, it will start the Quarkus application in dev mode. If you click the Debug button, it will start the Quarkus application in dev mode and connect a local Java debugger to the running application.\n\n![](images/1.10.0/quarkus-tools4.png)\n\nWhen the console is running, you can open a browser to either the Quarkus DevUI or to the Quarkus application. When the Quarkus application has been started, right click in the console and a sub menu `Quarkus` will be displayed. It has 2 sub menus `Open DevUI` and `Open application`. When one of these menus are selected, a new browser window is opened to the desired location.\n\n![](images/1.12.0/quarkus-tools1.gif)\n\n\n## Quarkus code snippets\n\nThis plugin provides several code snippets, available when editing Java files:\n\n  * **qrc** - Create a new Quarkus resource class\n  * **qrm** - Create a new Quarkus resource method\n  * **qtrc** - Create a new Quarkus test resource class\n  * **qntrc** - Create a new Quarkus native test resource class\n\nWhen editing `application.properties` files, you have access to:\n\n  * **qds** - Configure a Quarkus datasource\n  * **qj** - Configure a Jaeger tracer\n\n\n## Requirements\n\n  * Intellij IDEA 2023.3 or more recent (we **try** to support the last 4 major IDEA releases)\n  * Java JDK (or JRE) 17 or more recent\n\n    ​    \n## Contributing\n\nThis is an open source project open to anyone. Contributions are extremely welcome!\n\n### Building\n\nProject is managed by Gradle. So building is quite easy.\n\n#### Building the plugin distribution file\n\nRun the following command:\n\n```sh\n./gradlew buildPlugin\n```\nThe plugin distribution file is located in ```build/distributions```.\n\n#### Testing\n\nYou can also easily test the plugin. Just run the following command:\n\n```sh\n./gradlew runIde\n```\n\n#### Unit test infrastructure\n\nThe IntelliJ SDK does not provide helpers to create Maven or Gradle based project.\nBut the Maven and Gradle plugins have some test class helpers but they are not part\nof the IntelliJ SDK or the respective plugin distributions.\n\nSo we extracted these classes into the ```intellij-community``` folder. But as these\nclasses are highly linked to the version of the IntelliJ SDK used to build, there is\na script to copy them from the GitHub intellij-community repository.\n\nThis script is ```pull_intellij_tests```\n\nIf the version of the IntelliJ SDK used to build is changed (see gradle.properties), you must\nupdate the branch in ```pull_intellij_tests``` and run the script again.\n\n#### UI testing\n\nYou can perform UI testing by running the following command:\n\n```sh\n./gradlew integrationTest \n```\n#### Testing nightly builds\n\nYou can easily install nightly builds from the nightly channel:\n\n- in IntelliJ, open `Setting \u003e Plugins \u003e [Gear icon] \u003e Manage Plugin Repositories...`\n- Add `https://plugins.jetbrains.com/plugins/nightly/13234` and press `OK`\n\u003cimg alt=\"Nightly Channel Repository\" src=\"images/nightly-channel-repo.png\" width=\"500px\" /\u003e\n- install the latest `Quarkus Tools` version\n\nNightly builds are published once a day.\n\n\n#### Testing the CI builds\n\nYou can also download and install CI builds of the latest commits or a specific pull request:\n\n- open the [`Build plugin zip` workflow](https://github.com/redhat-developer/intellij-quarkus/actions/workflows/buildZip.yml)\n- click on the build you are interested in\n- scroll down and download the `Quarkus Tools \u003cversion\u003e.zip` file\n- install `Quarkus Tools \u003cversion\u003e.zip` into IntelliJ IDEA by following these [instructions](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_disk).\n\nData and Telemetry\n==================\nThe JetBrains IntelliJ Quarkus Tools plugin collects anonymous [usage data](USAGE_DATA.md) and sends it to Red Hat servers to help improve our products and services. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection) 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](https://github.com/redhat-developer/intellij-redhat-telemetry#telemetry-reporting)\n\n## Articles\n\n * [A recap of Quarkus Tools for IntelliJ's latest improvements](https://quarkus.io/blog/intellij-quarkus-recap/)\n * [Quarkus Tools for IntelliJ 1.14.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.14.0/)\n * [Quarkus Tools for IntelliJ 1.13.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.13.0/)\n * [Quarkus Tools for IntelliJ 1.12.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.12.0/)\n * [Quarkus Tools for IntelliJ 1.11.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.11.0/)\n * [Quarkus Tools for IntelliJ 1.10.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.10.0/)\n * [Quarkus Tools for IntelliJ 1.9.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.9.0/)\n * [Quarkus Tools for IntelliJ 1.8.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.8.0/)\n * [Quarkus Tools for IntelliJ 1.4.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.4.0/)\n * [Quarkus Tools for IntelliJ 1.3.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.3.0/)\n * [Quarkus Tools for IntelliJ 1.2.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.2.0/)\n * [Quarkus Tools for IntelliJ 1.1.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.1.0/)\n * [Quarkus Tools for IntelliJ 1.0.0 released!](https://quarkus.io/blog/intellij-quarkus-tools-1.0.0/)\n\n## Feedback\n\nFile a bug in [GitHub Issues](https://github.com/redhat-developer/intellij-quarkus/issues).\n\n## License\n\nEclipse Public License 2.0.\nSee [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Fintellij-quarkus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhat-developer%2Fintellij-quarkus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Fintellij-quarkus/lists"}