V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ileeoyo
V2EX  ›  分享创造

Idea 和 Cursor 双向实时同步插件

  •  
  •   ileeoyo · 4 天前 · 1161 次点击

    作为 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  
       4 天前
    VS Code 应该也可以?试试看
    Mandyer
        2
    Mandyer  
       4 天前
    带佬,有支持 trae 和 idea 的计划吗
    gatro
        3
    gatro  
       4 天前   ❤️ 1
    试了一下,cursor 的光标会实时同步到 idea ,但是 idea 这边的光标,不会同步到 cursor ,不知道哪里出问题
    ileeoyo
        4
    ileeoyo  
    OP
       4 天前
    @vicya @Mandyer 理论上 vscode 系都支持,比如 windsurf ,trae 这样的。
    ileeoyo
        5
    ileeoyo  
    OP
       4 天前
    @gatro 可能需要查看日志排查,我这里都能正常同步,我自己一直在用在改善
    gatro
        6
    gatro  
       4 天前
    @ileeoyo 嗯,我的是 mac ,看了下是文件路径问题,提了个 pr
    ileeoyo
        7
    ileeoyo  
    OP
       4 天前
    @gatro 确实我全程是在 windows 上使用的,mac 和 linux 没有使用过,确实可能会有路径问题
    ileeoyo
        8
    ileeoyo  
    OP
       4 天前
    @gatro 感谢 pr ,我是第一次合并开源 pr ,流程还不清楚,晚些我会熟悉下流程,验证后合并
    whoami9426
        9
    whoami9426  
       3 天前
    非常好用~
    两边同步的间隔可以作为配置项吗?
    有点<<环太平洋>>的感觉了 哈哈哈哈
    ileeoyo
        10
    ileeoyo  
    OP
       3 天前
    @whoami9426 感觉没有必要啊,目前打开关闭文件是实时的,光标同步的事件由于太频繁,目前是有个防抖延迟 100ms 。本地并没什么性能压力
    tuchuanw
        11
    tuchuanw  
       3 天前
    看 readme ,都是去插件市场安装插件,这样和原版不是一样的了吗,怎么使用 up 优化的这版呢
    ileeoyo
        12
    ileeoyo  
    OP
       3 天前
    @tuchuanw 下载源码编译,idea 插件需要 Java17 环境,用 gradle 编译打包,vscode 需要下载 node ,readme 里有编译命令。后续考虑用 github action 编译。readme 是原作者的,我没有修改
    tuchuanw
        13
    tuchuanw  
       2 天前
    @ileeoyo #12 了解啦🙏
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5893 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:49 · PVG 09:49 · LAX 18:49 · JFK 21:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.