gradle vs代码无法识别lombok

332nm8kg  于 2023-01-31  发布在  其他
关注(0)|答案(4)|浏览(220)

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

j9per5c4

j9per5c41#

假设您使用的扩展名为Lombok Annotations Support for VS Code,从其官方页面:
Lombok作为依赖项添加到Java项目中(确保使用最新版本以避免问题!)Add with MavenAdd with Gradle
如果您在Maven项目中编写代码,请在pom.xml中添加lombok依赖项:

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

avwztpqn

avwztpqn2#

因为编译器和编辑器处理Lombok的方式不同,编译器采用Lombok依赖定义(在maven,gradle等中),并根据Lombok注解的用法生成最终字节码中的代码(getter,setter,constructors),编译程序工作正常(在文本编辑器中检查编译后的代码)。
但是编辑器不能知道编译后的事情,比如生成的代码(AOP)等等...
编辑器需要插件和有效的配置。在VS Code Lombok 1.0.1版本中,扩展自动完成功能似乎很好,但列出错误和警告需要一些修复。
尝试this fix,但不要忘记VS Code Lombok extension project还没有维护16个月,尝试使用旧的Java版本。

fnvucqvd

fnvucqvd3#

我的意外解决,我的全局setting.json中的java.jdt.ls.vmargs项被项目级setting.json覆盖,项目级setting.json位于${project.dir}/.vscode中,删除项目级设置项后恢复。
我可能会接受右下角弹出的一些vscode的建议

jfewjypa

jfewjypa4#

VS Code Lombok插件上出现了一条注解:
从1.8.0开始,RedHat对Java(TM)的语言支持扩展内置了对Lombok的支持,并自动使用项目类路径中的lombok.jar。vscode-lombok扩展中嵌入的lombok.jar将被弃用,而改用RedHat Java扩展。
settings.json中有一个设置可用于控制此功能:

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

相关问题