- 关于
- 学习
- 社区
- 开始编码
博客Quarkus Tools for Visual Studio Code - 1.10.0发布
2022年3月28日#ide
Quarkus Tools for Visual Studio Code - 1.10.0发布
作者:Roland Grunberg
Quarkus Tools for Visual Studio Code 1.10.0已经在VS Code Marketplace&Open VSX上发布。所有变化的列表,请参考更新日志。
距离我们上次发布Quarkus Tools for VS Code已经过去8个月了。8个月!这是一个非常长的时间。我们在1.10.0中引入了一些新的功能,我们很高兴能提到这些功能,希望这段时间的等待是值得的。
由于引入了对Qute模板引擎的支持,我们花了大量的时间来稳定这个版本。我们为它编写了一个容错解析器,提供了各种诊断、代码动作、补全,并尽力使Java源文件和Qute模板文件之间的整合非常顺利。事实上,那里有很多新的功能,我们计划在Quarkus扩展中完全做一个关于Qute支持的单独帖子。然而,Quarkus工具和底层的MicroProfile工具也有很多改进。
下面是在1.10.0中你可以期待的Quarkus方面的东西。
一路下来的配置
当我们通过属性前缀(例如:%dev.name )支持配置配置文件时,我们现在也支持配置文件意识的文件。我们在MicroProfile 2.0版本中增加了对这一点和其他许多功能的支持。
抛弃你的JRE
TL;DR : 在Windows、Linux或MacOS上,(x86_64或ARM64架构),你将不需要提供JRE来运行VS Code中的Quarkus工具。
Quarkus工具和它的依赖性曾经需要JRE(Java Runtime Environment version 11 or newer)才能运行。这是因为语言服务是基于Java的。然而,随着最近的更新,我们的底层Java工具支持在win32-x64,linux-x64,linux-arm64,darwin-x64, 和darwin-arm64 上提供自己的Java运行时间。这意味着,如果你在这样的系统上,确保扩展可以找到一些至少是Java 11的版本就不再需要了。
对所有注释的支持
好吧,也许有点夸张,但我们在这个新版本中引入的东西之一是一个小框架,使其更容易为各种注解快速编写良好的诊断。作为一个非常简单的例子,这里是支持验证@Scheduled 注释的delay 成员值所需的代码。
<extension point="org.eclipse.lsp4mp.jdt.core.javaASTValidators">
<!-- Java validation for the Quarkus @Scheduled annotation delay member-->
<annotationValidator annotation="io.quarkus.scheduler.Scheduled" source="quarkus">
<attribute name="delay" range="0" /> <!-- x >=0 -->
</annotationValidator>
</extension>
这处理了很多非常简单的验证,同时允许我们花更多的时间来处理复杂的东西。
除了使我们的生活更轻松,它还为更多的贡献者开放了扩展。
我们已经为@Bulkhead 、@Timeout 、@Asynchronous 和@Scheduled 注释增加了基本的验证支持。
在@Scheduled 的情况下,我们将cron表达式链接到应用程序的属性定义,就像我们对name 成员的@ConfigProperty 所做的那样。这样的情况使我们能够轻松地将Java源文件与它们的Quarkus配置文件联系起来。
这是小事一桩
对于我们现有的功能,我们希望涵盖更多的现有用例,以及可以轻松标记问题并提出解决方案的情况。
例如,当启动Quarkus应用程序时,代码镜头URL端点(通过microprofile.tools.codeLens.urlCodeLensEnabled 设置启用)现在支持@ApplicationPath ,并将其值考虑在内。
在这个例子中,@ApplicationPath 被设置为/api ,方法声明上的代码(下面)在生成URL时考虑到了这一点。
在其他注释中,比如@Retry ,我们花时间来警告用户,虽然技术上允许,但可能是不受欢迎的用法。
在这个例子中,重试方法的延迟和尝试重试的最长时间是一样的。这就意味着这些设置没有被按预期使用。当像jitter &jitterDelayUnit 这样的成员值被用来添加更多的复杂性时,这些警告可以作为配置不当的值的一个很好的指示。
对于@ConfigProperty 注释,我们现在根据字段声明验证defaultValue 成员,以增加一些安全性。
如果你不使用defaultValue ,并且你的属性没有在应用程序属性中定义,我们也有一个代码动作来自动生成它。
完成度也是 !
在一天结束的时候,每个人都希望花更少的时间去寻找一些晦涩的设置,而花更多的时间去开发逻辑。
如果你在你的Java源中的一个方法上使用了@CacheResult 注解,我们会自动推荐可用的设置来配置你的配置文件。它对变化也有相当的反应,所以你总是知道是否出了问题。
@ConfigMapping 现在还支持一些基本的验证,以及应用程序属性的补全。
我们希望你能试一试我们的VS Code扩展,并期待着得到反馈。非常感谢redhat-developer/vscode-quarkus、redhat-developer/vscode-microprofile、redhat-developer/quarkus-ls、eclipse/lsp4mp、redhat-developer/vscode-java和eclipse/eclipse.jdt.ls上的许多贡献者,他们帮助项目取得了今天的成果。请继续关注我们关于Qute新增功能的文章。
链接
-
VS Code Marketplace:marketplace.visualstudio.com/items?itemN…
-
Open VSX:open-vsx.org/extension/r…
-
GitHub 仓库:github.com/redhat-deve…
-
打开GitHub问题:github.com/redhat-deve…
Quarkus是开放的。这个项目的所有依赖性都在Apache软件许可2.0或兼容许可下提供。
这个网站是用Jekyll建立的,托管在GitHub Pages上,是完全开源的。如果你想让它变得更好,请分叉该网站并向我们展示你的成果。
导航
关注我们
获得帮助
Quarkus是由社区项目组成的