作为 Java 开发者,实在难以适应 VScode 。现在分享一个插件可以让你在使用 Idea 和 Cursor 时实时同步工作空间。
-
我 fork 后的项目:https://github.com/ileeoyo/IDESync-VSCode-JetBrains
-
最开始看到这个问题的原贴:https://www.v2ex.com/t/1121683
主要功能:文件打开、关闭、光标变化的双向实时同步。
websocket 实时发送文件打开、关闭、光标移动事件,同步在另一个编译器中打开、关闭、移动光标到相同的文件。以前我一直在使用 Switch2Cusor 这类插件,双开时总感觉差点意思,使用快捷键有些麻烦,打算速度也不算快
我目前最佳使用体验
两个屏幕,上面是 Idea ,下面是 Cursor 。Idea 写写代码,遇到问题,直接进入 Cursor 让 AI 解决,解决完直接回到 Idea 手动修修补补。目前已经非常满意了。
fork 后的主要变动
原项目已经很好,但是作者有 5 个月没更新了,加上原项目只能打开文件同步,关闭文件同步有 bug ,索性 fork 下来解决。
作为 Java 开发者,本身对于 kotlin 和 Ts 语法习惯不熟悉,借助 Cursor ,使用门面模式对整个项目完全重构。把事件监听、文件状态管理、消息监听、文件操作管理消息、队列处理、websocket 管理全部逻辑分开(可能是 Java 开发者的习惯)。解决了文件关闭的同步 bug 还有很多情况的兼容性问题,对于事件同步做了队列和防抖,重写 websocket 重连逻辑,解决了很多并发问题,某些情况无法同步的情况(比如快速关闭大量 TAB 时的状态同步)。
整个重构结束,和原项目差异很大,几乎每个地方按照自己的习惯变动了,我也没提 pull request 。
