vs代码无法识别lombok

问题描述 投票:0回答:5

我的编辑器 vscode 有问题。最近我们决定使用Lombok,但是vscode无法识别Lombok生成的getter和setter的问题我确实安装了Lombok扩展,但是当我运行应用程序时我不明白它运行得很好。

java spring gradle visual-studio-code lombok
5个回答
1
投票

假设您正在使用扩展 Lombok Annotations Support for VS Code,来自其官方页面:

Lombok 作为依赖项添加到您的 Java 项目中(确保您 使用最新版本以避免出现问题!) 使用 Maven 添加添加 摇篮

如果您在 Maven 项目中编码,请在 pom.xml 中添加 lombok 依赖项:

如果您在没有构建工具的项目中进行编码,请下载 lombok.jar 然后将其添加到引用的库中:


0
投票

因为编译器和编辑器处理Lombok的方式不同。 编译器采用Lombok依赖定义(在maven、gradle等中)并根据Lombok注释的使用在最终字节码中生成代码(getters、setters、constructors),编译程序完美运行(在文本编辑器中检查编译后的代码)。 ).

但是编辑器无法知道编译后的事情,例如生成的代码(AOP)等等...

编辑器需要插件和有效的配置。 VS Code Lombok 扩展自动完成功能似乎在 1.0.1 版本中工作得很好,但列出错误和警告需要一些修复。

尝试这个修复,但不要忘记VS Code Lombok扩展项目已经16个月没有维护了,尝试使用旧的Java版本。


0
投票

我的以意想不到的方式解决了, 我的全局setting.json中的项目

java.jdt.ls.vmargs
在项目级setting.json中被覆盖,该项目位于
${project.dir}/.vscode
中。当我删除项目级设置项时它会恢复。

我可能会接受右下角弹出的一些 vscode 的建议


0
投票

VS Code Lombok 插件上出现一条注释:

从 1.8.0 开始,RedHat 对 Java(TM) 的语言支持 扩展具有对 Lombok 的内置支持并自动使用 来自项目类路径的 lombok.jar。嵌入的lombok.jar在 vscode-lombok 扩展将被弃用,转而使用 RedHat Java 扩展。

settings.json
中有一个设置可以控制此功能:

"java.jdt.ls.lombokSupport.enabled": true

0
投票

添加 lombok 依赖项并使用 "java.jdt.ls.lombokSupport.enabled": true 更新项目 settings.json ,这解决了 Java 1.8 的问题

© www.soinside.com 2019 - 2024. All rights reserved.