我的编辑器vscode有一个问题,最近我们决定使用Lombok,但问题是vscode无法识别Lombok生成的getter和setter我确实安装了Lombok扩展,但我不明白的是,当我运行应用程序时,它工作得很完美。
j9per5c41#
假设您使用的扩展名为Lombok Annotations Support for VS Code,从其官方页面:Lombok作为依赖项添加到Java项目中(确保使用最新版本以避免问题!)Add with Maven或Add with Gradle如果您在Maven项目中编写代码,请在pom.xml中添加lombok依赖项:
如果您在没有构建工具的项目中编写代码,请下载lombok.jar,然后将其添加到引用的库中:
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版本。
fnvucqvd3#
我的意外解决,我的全局setting.json中的java.jdt.ls.vmargs项被项目级setting.json覆盖,项目级setting.json位于${project.dir}/.vscode中,删除项目级设置项后恢复。我可能会接受右下角弹出的一些vscode的建议
java.jdt.ls.vmargs
${project.dir}/.vscode
jfewjypa4#
VS Code Lombok插件上出现了一条注解:从1.8.0开始,RedHat对Java(TM)的语言支持扩展内置了对Lombok的支持,并自动使用项目类路径中的lombok.jar。vscode-lombok扩展中嵌入的lombok.jar将被弃用,而改用RedHat Java扩展。settings.json中有一个设置可用于控制此功能:
settings.json
"java.jdt.ls.lombokSupport.enabled": true
4条答案
按热度按时间j9per5c41#
假设您使用的扩展名为Lombok Annotations Support for VS Code,从其官方页面:
Lombok作为依赖项添加到Java项目中(确保使用最新版本以避免问题!)Add with Maven或Add with Gradle
如果您在Maven项目中编写代码,请在pom.xml中添加lombok依赖项:
如果您在没有构建工具的项目中编写代码,请下载lombok.jar,然后将其添加到引用的库中:
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版本。
fnvucqvd3#
我的意外解决,我的全局setting.json中的
java.jdt.ls.vmargs
项被项目级setting.json覆盖,项目级setting.json位于${project.dir}/.vscode
中,删除项目级设置项后恢复。我可能会接受右下角弹出的一些vscode的建议
jfewjypa4#
VS Code Lombok插件上出现了一条注解:
从1.8.0开始,RedHat对Java(TM)的语言支持扩展内置了对Lombok的支持,并自动使用项目类路径中的lombok.jar。vscode-lombok扩展中嵌入的lombok.jar将被弃用,而改用RedHat Java扩展。
settings.json
中有一个设置可用于控制此功能: