那些天天批判 lombok 强制大家在 eclipse/idea 中添加插件的,不知道有个东西叫 maven/gradle 插件么?

2019-05-20 22:50:03 +08:00
 gz911122

https://plugins.gradle.org/plugin/io.freefair.lombok

https://awhitford.github.io/lombok.maven/lombok-maven-plugin/

4301 次点击
所在节点    程序员
24 条回复
lhx2008
2019-05-20 22:55:58 +08:00
其实装不装,都是 IDE 里面一个快捷键的事情
cpdyj0
2019-05-20 23:00:14 +08:00
每到这个时候,我就想吹下 kotlin (
getter setter 靠 IDE 自动补全,总觉得是一种骚操作呢(
chendy
2019-05-20 23:42:01 +08:00
每当这时候,我就希望 java 的 record class 赶紧出来
但是出来又有什么用呢,怕不是要 9102 年才有人会用
ala2008
2019-05-21 09:08:43 +08:00
很强大啊
zpf124
2019-05-21 09:44:48 +08:00
所以 你选择肉眼忽略 IDE 的语法错误提示是吗?
gz911122
2019-05-21 09:49:32 +08:00
@zpf124 可惜不会有错误提示
guyeu
2019-05-21 10:01:10 +08:00
装了 maven/gradle 插件 IDE 会没有错误提示?
c4f36e5766583218
2019-05-21 10:26:55 +08:00
lombok-maven-plugin 拿来干嘛的?
zpf124
2019-05-21 11:57:48 +08:00
@gz911122 那你的意思是我 IDE 出 bug 了是吗?

gz911122
2019-05-21 12:23:51 +08:00
@guyeu 是的..
@zpf124 delombok 启用了么?
zpf124
2019-05-21 12:31:24 +08:00
@gz911122
@c4f36e5766583218

这个插件是有点像 前端 的 ts 或者 babel.
在**编译 build 的时候**将现在的不符合标准语法规范的代码转换成标准的.

然而,开发人员编写的还是转换前的代码, 而此时 不论这个代码是写在"src/main/lombok"下还是"src/main/java"下,IDE 又不能识别这种非标准写法,自然会提示错误.

我代码里的 set 方法调用是纯手敲的, IDE 不装对应插件,根本不能自动不全.
Kyle18Tang
2019-05-21 12:50:58 +08:00
反正我安利了项目组用之后大家都喜欢用了, 装个插件又能费多大事, 但是节省了很多开发时间.
zpf124
2019-05-21 13:00:54 +08:00
@gz911122

我又试了几次.

如果 将 lombok 注解的类 不设置为源码目录, 并且编译之前先执行 delombok 插件.
那么调用 lombok 注解的类 是不提示错误了, 但编辑整个 lombok 注解的类 都没有任何语法代码提示了,因为它不属于 IDE 识别的源码目录.


很遗憾,这个插件的作用仅仅是能让不想装 idea 插件的人 可以查看并且运行代码, 如果想参与开发那只能当 lombok 不存在.
gz911122
2019-05-21 13:15:26 +08:00
@zpf124 这个路径是可以配置的
效果可以达到识别的
src/main/lombok 可以改为 src/main/java"
RobberPhex
2019-05-21 13:20:17 +08:00
我关注的点是,IDEA 和 Eclipse ( VSCode )为啥都不支持 APT 呢? IDE 不就应该“模仿”编译器吗?
SaintDan
2019-05-21 13:25:20 +08:00
@cpdyj0 没错 kt 多爽
guyeu
2019-05-21 16:57:47 +08:00
delombok 插件真正的作用是在源码打包的时候保证源码包里的代码和编译后的字节码内容一致,如果通过这个东西想做到 IDEA 的 lombok 插件做的事情,感觉是南辕北辙了。
我刚刚试着搞了一下,需要配置好几个地方,而且不确定会不会和其他的 maven 插件完美配合,所以果断放弃。
IDEA 里装个插件没什么成本,还是不要对项目做侵入性修改以达到看起来牛比的效果。
qiyuey
2019-05-21 17:02:42 +08:00
换 Kotlin,省心
feiyuanqiu
2019-05-21 17:04:02 +08:00
忍受得了一堆冗杂的 getter / setter / equals / hashcode 的人,总能找到各种理由反对它,lombok 本来也不是为他们准备的。
Rwing
2019-05-21 18:54:26 +08:00
这个时候是不是要安利下 C# ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/566015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX