Quarkus 为 VS Code 带来开发乐趣

今年早些时候,我们介绍了 Quarkus,这是下一代、以容器为中心的企业级 Java 应用框架。正如预期的那样,新的框架和技术为专注于让开发体验更上一层楼的新开发工具开辟了道路。最近发布的 Quarkus Tools for Visual Studio Code 正是为此而生,它将 Quarkus 项目开发特有的功能带入了 VS Code。

VS Code 扩展 最初 是由 Red Hat 业务自动化团队的 Tihomir Surdilovic 发起的项目,并成为了如今版本的基石。

这篇博文概述了 Quarkus Tools for Visual Studio Code 到目前为止提供的功能:为已经很便捷的 Java 框架提供更便捷的功能。

Quarkus Tools for Visual Studio Code 依赖于几个 VS Code 的 Java 扩展,因此建议您安装 Java Extension Pack

有关 Quarkus Tools for Visual Studio Code 的更多详细信息,请查看 GitHub 仓库

观看 Quarkus Tools for Visual Studio Code 的演示

特性

生成基于 Maven 的 Quarkus 项目

以前,生成基于 Maven 的 Quarkus 项目需要运行 Maven 命令或使用 code.quarkus.io 创建项目。现在,您可以直接在 VS Code 的用户界面中创建新项目。这可以通过一个新向导来实现,该向导可生成最新版 Quarkus 的基于 Maven 的 Quarkus 项目。

要启动向导,请从命令面板调用 Quarkus: Generate a Maven project 命令。

Going through the project generation wizard

向导会询问项目的 groupId、artifactId、项目版本、包名、资源名和目标目录。它还允许您选择要添加到新项目中的 Quarkus 扩展。如果您之前通过向导选择了 Quarkus 扩展,则“上次使用”选项可以方便地选择所有之前选择的扩展。

The 'last used' option

项目生成后,VS Code 将自动打开一个新窗口,其中包含新 Quarkus 项目的文件夹。除了项目文件,还包括 Maven 包装器文件。

代码片段支持

VS Code 扩展提供了代码片段,用于创建新的 Quarkus 资源和测试,这有助于加快您的工作流程。您可以通过调用 Insert Snippet VS Code 命令或在 Java 文件中输入代码片段前缀来使用这些代码片段。按 Tab 键会将光标定位到下一个感兴趣的位置。

Using snippets

为 Quarkus 项目添加 Quarkus 扩展

VS Code 扩展为向当前项目添加 Quarkus 扩展提供了一个单独的向导。

要启动向导,请从命令面板调用 Quarkus: Add extensions to current project 命令。

Add extensions wizard

选择所需的 Quarkus 扩展后,将会在 VS Code 的集成终端中运行添加所选扩展的 Maven 命令。

调试 Quarkus 项目

使用 VS Code 扩展的调试命令启动调试会话会自动在项目文件夹中创建并添加一个新的 VS Code 任务和调试配置。此步骤允许 VS Code 在启动调试会话时通过运行 quarkus:dev 命令自动启动 Quarkus 应用程序。调试器将在应用程序启动后立即附加到应用程序。关闭调试会话时,您还可以选择终止 Quarkus 应用程序或使其保持运行。

调试命令是:Quarkus: Debug current Quarkus project

Message when terminating debug

application.properties 的树状视图

打开 application.properties 文件后,VS Code 的资源管理器大纲会提供一个树状视图,其中包含所有属性键和值。此功能对于大型 application.properties 文件尤其有用,因为它会按命名空间和配置集对属性进行分组。

Tree view

application.properties 的悬停和文档

悬停在属性键上的能力可以轻松查看属性的文档。文档提供了属性键的值类型、默认值(如果存在)、阶段(属性是应用于 Quarkus 运行时还是构建时)以及扩展名称。

Hover over property key

application.properties 的自动补全

目前,application.properties 文件中可能有 400 多个预定义的 Quarkus 属性。我挑战你记住它们所有 :)。由于可以配置的属性数量众多,属性键和值的自动补全对于任何处理 application.properties 文件的人都很有用。

打开 application.properties 文件后,您可以在键入时接收属性键自动补全选项,或者使用 Ctrl+Space (macOS 上为 ⌥+Space) 键盘快捷键。自动补全选项列表与项目中当前可用的 Quarkus 扩展同步。这意味着,每当添加或删除 Quarkus 扩展时,自动补全选项列表都会更新,为您提供相关的自动补全选项。

Property key completion

如果属性键具有默认值,它将作为自动补全的一部分自动插入。

Default value completion

枚举类型和布尔值也支持自动补全。

Value completion

映射属性也支持自动补全。编辑属性后按 Tab 键会将光标定位到下一个位置。

Mapped properties

application.properties 的验证

最后但同样重要的是,我们为 application.properties 提供了验证支持。我们目前为未知属性、重复属性和缺少等号提供验证支持。

Validation

后续步骤

如您所见,Quarkus Tools for Visual Studio Code 提供了出色的功能,有助于提供无缝的开发者体验,并在 VS Code 中推广 Quarkus 项目开发。然而,这并不意味着该扩展是完美无缺的;它仍在改进中。我们希望添加新功能(例如允许在 Web 浏览器中打开 REST 端点 URL 的 CodeLens 功能)并改进现有功能(例如自动补全、验证、代码片段)。

如果您偏爱 Eclipse 和 IntelliJ IDEA 等 IDE,好消息是针对这些 IDE 的 Quarkus 工具目前正在开发中。由于 application.properties 功能是通过 Language Server Protocol (LSP) 提供的,因此有可能为其他编辑器和 IDE 提供相同的功能。

如果您有任何问题或功能请求,请通过在此处创建 GitHub issue 告诉我们。我们非常乐意听取任何改进建议。如果您想为项目做出贡献,贡献指南位于此处的 GitHub 仓库

感谢阅读!