Idea 和 Cursor 双向实时同步插件

4 天前
 ileeoyo

作为 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 。

1166 次点击
所在节点    分享创造
13 条回复
vicya
4 天前
VS Code 应该也可以?试试看
Mandyer
4 天前
带佬,有支持 trae 和 idea 的计划吗
gatro
4 天前
试了一下,cursor 的光标会实时同步到 idea ,但是 idea 这边的光标,不会同步到 cursor ,不知道哪里出问题
ileeoyo
4 天前
@vicya @Mandyer 理论上 vscode 系都支持,比如 windsurf ,trae 这样的。
ileeoyo
4 天前
@gatro 可能需要查看日志排查,我这里都能正常同步,我自己一直在用在改善
gatro
4 天前
@ileeoyo 嗯,我的是 mac ,看了下是文件路径问题,提了个 pr
ileeoyo
4 天前
@gatro 确实我全程是在 windows 上使用的,mac 和 linux 没有使用过,确实可能会有路径问题
ileeoyo
4 天前
@gatro 感谢 pr ,我是第一次合并开源 pr ,流程还不清楚,晚些我会熟悉下流程,验证后合并
whoami9426
3 天前
非常好用~
两边同步的间隔可以作为配置项吗?
有点<<环太平洋>>的感觉了 哈哈哈哈
ileeoyo
3 天前
@whoami9426 感觉没有必要啊,目前打开关闭文件是实时的,光标同步的事件由于太频繁,目前是有个防抖延迟 100ms 。本地并没什么性能压力
tuchuanw
3 天前
看 readme ,都是去插件市场安装插件,这样和原版不是一样的了吗,怎么使用 up 优化的这版呢
ileeoyo
3 天前
@tuchuanw 下载源码编译,idea 插件需要 Java17 环境,用 gradle 编译打包,vscode 需要下载 node ,readme 里有编译命令。后续考虑用 github action 编译。readme 是原作者的,我没有修改
tuchuanw
3 天前
@ileeoyo #12 了解啦🙏

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

https://ex.noerr.eu.org/t/1142595

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

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

© 2021 V2EX