Idea 和 Cursor 双向实时同步插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ileeoyo
V2EX    分享创造

Idea 和 Cursor 双向实时同步插件

  •  
  •   180 天前 2242 次点击
    这是一个创建于 180 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为 Java 开发者,实在难以适应 VScode 。现在分享一个插件可以让你在使用 Idea 和 Cursor 时实时同步工作空间。

    主要功能:文件打开、关闭、光标变化的双向实时同步。

    websocket 实时发送文件打开、关闭、光标移动事件,同步在另一个编译器中打开、关闭、移动光标到相同的文件。以前我一直在使用 Switch2Cusor 这类插件,双开时总感觉差点意思,使用快捷键有些麻烦,打算速度也不算快

    我目前最佳使用体验

    两个屏幕,上面是 Idea ,下面是 Cursor 。Idea 写写代码,遇到问题,直接进入 Cursor 让 AI 解决,解决完直接回到 Idea 手动修修补补。目前已经非常满意了。

    fork 后的主要变动

    原项目已经很好,但是作者有 5 个月没更新了,加上原项目只能打开文件同步,关闭文件同步有 bug ,索性 fork 下来解决。

    作为 Java 开发者,本身对于 kotlin 和 Ts 语法习惯不熟悉,借助 Cursor ,使用门面模式对整个项目完全重构。把事件监听、文件状态管理、消息监听、文件操作管理消息、队列处理、websocket 管理全部逻辑分开(可能是 Java 开发者的习惯)。解决了文件关闭的同步 bug 还有很多情况的兼容性问题,对于事件同步做了队列和防抖,重写 websocket 重连逻辑,解决了很多并发问题,某些情况无法同步的情况(比如快速关闭大量 TAB 时的状态同步)。

    整个重构结束,和原项目差异很大,几乎每个地方按照自己的习惯变动了,我也没提 pull request 。

    13 条回复    2025-07-04 11:19:50 +08:00
    vicya
        1
    vicya  
       180 天前
    VS Code 应该也可以?试试看
    Mandyer
        2
    Mandyer  
       180 天前
    带佬,有支持 trae 和 idea 的计划吗
    gatro
        3
    gatro  
       180 天前   1
    试了一下,cursor 的光标会实时同步到 idea ,但是 idea 这边的光标,不会同步到 cursor ,不知道哪里出问题
    ileeoyo
        4
    ileeoyo  
    OP
       180 天前
    @vicya @Mandyer 理论上 vscode 系都支持,比如 windsurf ,trae 这样的。
    ileeoyo
        5
    ileeoyo  
    OP
       180 天前
    @gatro 可能需要查看日志排查,我这里都能正常同步,我自己一直在用在改善
    gatro
        6
    gatro  
       180 天前
    @ileeoyo 嗯,我的是 mac ,看了下是文件路径问题,提了个 pr
    ileeoyo
        7
    ileeoyo  
    OP
       180 天前
    @gatro 确实我全程是在 windows 上使用的,mac 和 linux 没有使用过,确实可能会有路径问题
    ileeoyo
        8
    ileeoyo  
    OP
       180 天前
    @gatro 感谢 pr ,我是第一次合并开源 pr ,流程还不清楚,晚些我会熟悉下流程,验证后合并
    whoami9426
        9
    whoami9426  
       179 天前
    非常好用~
    两边同步的间隔可以作为配置项吗?
    有点<<环太平洋>>的感觉了 哈哈哈哈
    ileeoyo
        10
    ileeoyo  
    OP
       179 天前
    @whoami9426 感觉没有必要啊,目前打开关闭文件是实时的,光标同步的事件由于太频繁,目前是有个防抖延迟 100ms 。本地并没什么性能压力
    tuchuanw
        11
    tuchuanw  
       179 天前
    看 readme ,都是去插件市场安装插件,这样和原版不是一样的了吗,怎么使用 up 优化的这版呢
    ileeoyo
        12
    ileeoyo  
    OP
       179 天前
    @tuchuanw 下载源码编译,idea 插件需要 Java17 环境,用 gradle 编译打包,vscode 需要下载 node ,readme 里有编译命令。后续考虑用 github action 编译。readme 是原作者的,我没有修改
    tuchuanw
        13
    tuchuanw  
       179 天前
    @ileeoyo #12 了解啦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4941 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:54 PVG 11:54 LAX 19:54 JFK 22:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86