V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Aresxue
V2EX  ›  Java

推广一下自己刚撸的 IDEA 插件—Bean Copy 助手

  •  1
     
  •   Aresxue · Oct 14, 2025 · 2650 views
    This topic created in 195 days ago, the information mentioned may be changed or developed.

    插件名称:bean-copy-helper

    插件地址:https://plugins.jetbrains.com/plugin/28686-bean-copy-helper
    源码地址:https://github.com/Aresxue/bean-copy-helper

    安装方式:在 Settings -> Plugins -> Marketplace 中输入 bean-copy-helper 检索即可找到该插件

    这个插件一开始主要是写给自己用的,在阅读代码和排查 bug 的时候发现有很多项目使用了 Bean Copy ,Bean Copy 有时候确实很好用, 但是它也会带来一些困扰比如源对象通过 Bean Copy 赋值给目标对象以后通过 IDEA 的引用是找不到字段读取和写入( Bean Copy )的地方的,这个插件可以解决这个问题



    可以看到我们可以对于Getter/Setter 方法或者字段使用属性复制范围查找,会认为一次 Bean Copy 是对源对象和目标对象同名且同类型的字段读取和写入(对于源对象来说是读取对于目标对象来说是写入)

    为了避免对原有方法引用的污染所以采用类似Find Usages的方式,这样在跟踪某个字段的读取/写入时再也不会因为 Bean Copy 而被阻断了!!!

    除此之外 Bean Copy 还经常被误用,这里也会对其做一些风险识别




    最典型的场景就是同名字段类型不一致,实际上这个字段是没法被 Copy 过去的!!!

    除此之外还集成了其它一些功能

    可以预览源类和目标类属性的对比并生成相应注释

    预览生成属性复制对应的Getter/Setter 代码


    可以预览源类和目标类复制成功的属性并生成相应注释


    而且使用中我常常发现字体时大时小有时候几乎无法观看,所以开放了字体大小自定义大家可自行修改

    本插件永久免费,有需要的小伙伴自取。

    Supplement 1  ·  Oct 16, 2025
    插件仅有 77kb 无任何外部依赖,而且只有基本上指定 action 才触发对应展示,开销极低。
    9 replies    2025-12-12 15:28:28 +08:00
    MRlaopeng
        1
    MRlaopeng  
       Oct 15, 2025   ❤️ 1
    牛逼
    PeiXyJ
        2
    PeiXyJ  
       Oct 15, 2025
    不错 解决了我的痛点,之前也有这样的插件但是不更新了 25 版 idea 无法使用了...您的我试试
    Aresxue
        3
    Aresxue  
    OP
       Oct 15, 2025
    @PeiXyJ 是指哪个?我看之前的插件基本上没有可以支持 Fing Usages 的所以才自己撸了一个
    AceCandy
        4
    AceCandy  
       Oct 15, 2025
    能支持本身的 cmd+左键这种吗
    Aresxue
        5
    Aresxue  
    OP
       Oct 16, 2025
    @AceCandy 这种会对原有的引用关系有污染,所以考虑了一下暂时没有做,后续有时间会实现掉同时会新增一个开关来控制这个行为,你如果感兴趣的话可以 https://github.com/Aresxue/bean-copy-helper fork 一下贡献个 PR 或者自己按照自己的喜好随意修改。
    ywcjxf1515
        6
    ywcjxf1515  
       Oct 24, 2025 via Android
    支持自定义复制工具类及其方法吗
    我们使用时会把 beanutil 封装一下
    Aresxue
        7
    Aresxue  
    OP
       Oct 27, 2025
    方法名叫 copyProperties 也可以,其它的话就是要精准匹配 org.springframework.beans.BeanUtils 、org.springframework.cglib.beans.BeanCopier 、org.apache.commons.beanutils.BeanUtils 、cn.hutool.core.bean.BeanUtil 这几个了。
    chenjloveslife1
        8
    chenjloveslife1  
       Dec 10, 2025
    可以支持 cn.hutool.core.bean.BeanUtil 的 toBean 等方法吗
    Aresxue
        9
    Aresxue  
    OP
       Dec 12, 2025
    @chenjloveslife1 https://github.com/Aresxue/bean-copy-helper 提个 issue 给我,我周末有时间就支持掉。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 23:13 · PVG 07:13 · LAX 16:13 · JFK 19:13
    ♥ Do have faith in what you're doing.