我 fork 后的项目:https://github.com/ileeoyo/IDESync-VSCode-JetBrains
最开始看到这个问题的原贴:https://ex.noerr.eu.org/t/1121683
websocket 实时发送文件打开、关闭、光标移动事件,同步在另一个编译器中打开、关闭、移动光标到相同的文件。以前我一直在使用 Switch2Cusor 这类插件,双开时总感觉差点意思,使用快捷键有些麻烦,打算速度也不算快
两个屏幕,上面是 Idea ,下面是 Cursor 。Idea 写写代码,遇到问题,直接进入 Cursor 让 AI 解决,解决完直接回到 Idea 手动修修补补。目前已经非常满意了。
原项目已经很好,但是作者有 5 个月没更新了,加上原项目只能打开文件同步,关闭文件同步有 bug ,索性 fork 下来解决。
作为 Java 开发者,本身对于 kotlin 和 Ts 语法习惯不熟悉,借助 Cursor ,使用门面模式对整个项目完全重构。把事件监听、文件状态管理、消息监听、文件操作管理消息、队列处理、websocket 管理全部逻辑分开(可能是 Java 开发者的习惯)。解决了文件关闭的同步 bug 还有很多情况的兼容性问题,对于事件同步做了队列和防抖,重写 websocket 重连逻辑,解决了很多并发问题,某些情况无法同步的情况(比如快速关闭大量 TAB 时的状态同步)。
整个重构结束,和原项目差异很大,几乎每个地方按照自己的习惯变动了,我也没提 pull request 。
![]() |
1
vicya 4 天前
|
2
Mandyer 4 天前
带佬,有支持 trae 和 idea 的计划吗
|
![]() |
3
gatro 4 天前 ![]() 试了一下,cursor 的光标会实时同步到 idea ,但是 idea 这边的光标,不会同步到 cursor ,不知道哪里出问题
|
9
whoami9426 3 天前
非常好用~
两边同步的间隔可以作为配置项吗? 有点<<环太平洋>>的感觉了 哈哈哈哈 |
10
ileeoyo OP @whoami9426 感觉没有必要啊,目前打开关闭文件是实时的,光标同步的事件由于太频繁,目前是有个防抖延迟 100ms 。本地并没什么性能压力
|
![]() |
11
tuchuanw 3 天前
看 readme ,都是去插件市场安装插件,这样和原版不是一样的了吗,怎么使用 up 优化的这版呢
|