Eclipse 得到 Quarkus 支持!

您可能已经听说过 Microsoft VSCodeJetBrains IntelliJ 的工具。

上周,Eclipse 版 Quarkus Tools 发布了第一个版本。它是免费且开源的,我们鼓励您使用它。让我们看看如何获取它并体验其功能。

安装

有几种方法可以将 Quarkus Tools 安装到 Eclipse IDE 中。

Quarkus Tools 是 JBoss Tools 的一部分。因此,如果您已经是 JBoss Tools 用户并且已更新到最新 版本 (4.14.0.Final),那么您的 Eclipse IDE 中已安装了 Quarkus Tools。

Quarkus Tools 也是 Red Hat CodeReady Studio 的一部分,这是 JBoss Tools 的 Red Hat 支持版本。因此,如果您已经在使用 CodeReady Studio 并已更新到最新 版本 (12.14.0.GA),那么您的 Quarkus Tools 已安装。

如果您不是 JBoss Tools 或 Red Hat CodeReady Studio 用户,您可以从 Eclipse IDE 安装 Quarkus Tools。下面是具体方法。

启动您的 Eclipse IDE,然后选择 Help → Eclipse Marketplace…​ 菜单

1

Find 文本框中,输入 *quarkus* 并按 ENTER

2

单击 Install 按钮开始安装

在显示“Review licenses”对话框时,选中 I accept the terms of the license agreements 复选框,然后单击 Finish 按钮

3

在显示“Unsigned content”对话框时,单击 OK 按钮。在安装过程完成后重新启动 IDE。Quarkus Tools 现在已安装在您的 IDE 中。

创建您的第一个 Quarkus 项目

Quarkus Tools 有一个基于 https://code.quarkus.io 的向导。要启动它,首先按 Ctrl+N 打开可用向导列表

4

在过滤器文本框中,输入 qu 字符来过滤向导列表

5

选择 **Quarkus Project** 向导,然后单击 **Next** 按钮

6

Project type 下拉菜单允许您在 Maven 或 Gradle 工具之间进行选择,用于管理您的项目。本次教程我们将使用 Maven。

输入项目名称(我们将使用 code-with-quarkus),然后单击 **Next** 按钮

7

此对话框允许您为您的项目选择各种参数,例如项目坐标(groupId、artifactId 和 version)以及基础 REST 端点信息。我们将使用默认设置,因此单击 **Next** 按钮

8

此对话框允许您选择要添加到项目中的 Quarkus 扩展。扩展按类别分组,因此首先在左侧表格中选择一个特定类别。我们将选择 **Web** 类别

8

您会注意到中间表格已更新。要添加一个扩展,请双击中间表格中的扩展。我们将添加 **RESTEasy JAX-RS** 和 **RESTEasy Qute**(一个模板引擎)

9

您会注意到您双击的扩展现在已添加到右侧表格中。如果您想从选定的列表中删除一个扩展,请再次双击中心表格或右侧表格中的扩展。

一切准备就绪,单击 **Finish** 按钮启动项目创建。然后将启动项目创建作业,检索依赖项,稍后,新项目将出现在 **Project Explorer** 窗口中

10

我们已成功创建了第一个 Quarkus 项目。现在让我们看看如何启动并调试这个应用程序。

运行 Quarkus 应用程序

可以从工作台的 Run 配置中运行 Quarkus 应用程序。选择 **Run → Run Configurations…​** 菜单以显示允许创建 Run 配置的对话框。

11

向下滚动直到 **Quarkus Application** 可见,然后选择它

12

单击 **New configuration** 按钮(左上角)

13

需要将一个工作区项目与配置关联,因此单击 **Browse** 按钮以查看项目选择对话框

14

由于工作区包含单个项目,因此它会自动被选中,我们可以单击 **OK** 按钮

15

配置现在已准备就绪。因此,通过单击 **Run** 按钮来启动我们的 Quarkus 应用程序

您应该会看到一个新的 Console 显示出来。

16

应用程序正在构建,稍后将启动

17

调试 Quarkus 应用程序

调试 Quarkus 应用程序就像在 Debug 中启动我们刚刚创建的配置一样简单。您只需打开 **Run → Debug Configurations…​** 菜单,然后单击 **Debug** 按钮。

它将像前一段一样启动 Quarkus 应用程序,同时还将一个远程 JVM 调试配置连接到您正在运行的 Quarkus 应用程序。因此,如果您在应用程序源文件中设置了断点,执行将自动在那里停止。

application.properties 内容辅助

每个 Quarkus 应用程序都通过一个名为 **application.properties** 的配置进行配置。

此配置文件内容取决于您的应用程序使用的 Quarkus 扩展集。一些设置是必需的,而另一些则不是,并且可能的值特定于设置的性质:布尔值、整数、有限值集(枚举)。

因此,作为开发人员,您需要查阅各种指南和文档(核心 Quarkus 和特定扩展的文档)

因此,Quarkus Tools 为这些特定文件提供内容辅助,这些文件

  • 验证 application.properties 文件的内容

  • 为您提供可能的设置名称和值

让我们看看它的实际效果。

转到项目中的 **src/main/resources/application.properties** 并双击文件以打开编辑器

18

转到文件的第三行并调用代码补全(Ctrl + Space)

19

对于每个设置,当您将鼠标悬停在设置上时,会显示文档。让我们尝试将 **quarkus.http.port** 添加到文件中,并将鼠标悬停在该名称上

20

如果我们输入一个错误的值(false 而不是数字),则错误将突出显示

21

从源代码端点访问应用程序

如果您的 Quarkus 应用程序已启动,当您导航到应用程序的某个源代码端点时,该端点的 URL 将被计算并显示在源代码中作为 **code lens**,这只是一个附加的注释,虚拟地添加到源代码中。让我们看看它是如何工作的。

确保您的 Quarkus 应用程序已启动(请参阅 运行 Quarkus 应用程序

转到项目中的 **src/main/java/org/acme/ExmapleResource.java** 并双击文件以打开编辑器

22

您应该会注意到在 hello 方法定义上方有一行显示了 URL。如果您将鼠标悬停在此 URL 上,您会发现此 URL 是可点击的。单击 URL,这将打开一个浏览器窗口

23

请注意,如果您更改资源或端点路径配置,URL 将动态更新:在此场景中,我将资源路径从 hello 更改为 hello1(在第 8 行)

24

对 Kubernetes、Openshift、S2i 和 Docker 属性的语言支持

现在为来自 Kubernetes Quarkus 扩展 的 kubernetes., openshift., s2i., docker. 属性提供了补全、悬停、文档和验证。

25

对 MicroProfile REST Client 属性的语言支持

同样,现在对 REST Client 的 MicroProfile 属性也提供了自动补全、悬停提示、文档和验证功能。

在 org.acme 包中创建一个名为 MyServiceClient.java 的文件,内容如下

package org.acme;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;

@RegisterRestClient
public interface MyServiceClient {
    @GET
    @Path("/greet")
    Response greet();
}

切换回 application.properties 文件编辑器,输入 or 并请求代码辅助(Ctrl + ENTER)

26

您可以通过更改以下行来更改客户端的配置键

@RegisterRestClient

@RegisterRestClient(configKey = "myclient")

然后代码辅助将相应调整

27

未来展望

以上就是这个早期版本的主要功能。如果您有任何问题、建议或反馈,请随时 提交 issue

对于未来的版本,我们旨在改进对 MicroProfile 属性的语言支持。

感谢您的阅读,敬请期待下一版本!