查看原文
其他

JetBrains又出编程神器!

刘欣 码农翻身 2021-05-21

我很喜欢一些在线协同编辑的文档工具:创建一个文档,把链接分享出去, 别人打开就可以直接编辑。


这时候我会观察到别人在文档中的行为:输入文字、删除文字,当然我的行为也可以被别人实时看到——这种协同工作的体验实在非常美妙。


我不由地想到,如果在IDE中也实现类似的功能,码农的生活将会有趣得多!比如:


远程协助


程序员何小痩编程中遇到一个问题,需要张大胖远程帮忙,何小痩在家里共享一下自己的IDE, 然后张大胖就可以在其中浏览代码、设置断点、Debug、看日志......


一边Debug一边通过语音、视频讲解自己的思路,很快,问题解决, 何小痩把整个过程看得清清楚楚。


结对编程


张大胖和何小痩不用坐在一起,张大胖只要把自己的IDE分享出去,何小痩就能看到并且控制,这样两人交替着做“领航员”(思考、提醒)和“驾驶员”(写代码),时不时通过语音和视频交流,高效地完成任务。


代码讲解


张大胖完成了核心功能的开发,需要给小组的人远程做讲解,他不用告诉大家说:“请打开Parser.java,定位到第129行”, 他只需要把自己的IDE共享给大家,每个人都能看到他在IDE中用快捷键打开类,定位到函数,在不同的类和函数之间轻松转移,效率极高。


如果有这样的IDE,那简直是太棒了!尤其是在疫情之下,大家都进入了远程工作的时候。


有人可能要说了,现在的工具——共享桌面——也能做到啊!但是由于这些工具共享的是整个桌面,而不是细粒度的IDE, 效率很低,网速稍慢就会卡顿,断线,体验实在酸爽。


原来我只是这么想一想,没想到真有IDE实现了这个功能, 这就是著名的IDE开发商JetBrains提供的 Code With Me !



废话少说, 先来感受一下它最最基本的协同编辑能力: 



Host (主人)相当于共享IDE的那一方, GUEST(客人) 相当于接入主人IDE的那一方。


可以看出所有的改动即时展示在对方的IDE中, 就像两个人在共享编辑文档一样


这么有趣的功能,是不是迫不及待想要尝试一下了?


首先你可以更新IDEA到最新版,或者去Marketplace去安装插件:



然后你的IDEA右上角就会出现这么一个图标: 



只要选择“启用访问并复制邀请链接”就行, 这个邀请链接大概长这个样子:


https://code-with-me.jetbrains.com/kQhi2aDZS68CjvBHd_wZpA#p=IC&fp=ABA0845783217DDBD2F8F5EACEEA3CE9B32FA7C540EB131A256D22436BD38705


注意,这是个HTTP的链接, 把这个链接发给其他同事,就相当于共享你的IDE了, 别人只要点击,就会出现这个界面:


即使同事的机器上没有安装IDEA,只要他点击“Download and Launch”就可以运行一个叫做“Code With Me Guest”的程序来查看你的IDE的内容。


如果你同事已经有了支持这个功能的IDEA, 还可以直接加入其他人的共享IDE。 



然后就可以愉快地玩起来了,就是这么简单, 和那些在线协作的文档几乎是一样的。


Code With Me 有这么几个重要的特性:


1. “客人”看到的是一个完完整整的IDE, 而不是一个简单的编辑器


客人可以使用代码自动补全、智能导航、重构、调试套件和内置终端,还能够运行、Debug程序


当然,能干什么事情是分享IDE的“主人”来决定的:



2. 可以有多个“客人”接入到共享的IDE


每个客人都可以浏览/编辑 不同的文件。


作为“主人”,可以随时“跳转”到每个“客人”正在浏览/编辑的文件。



“主人”也可以强制所有人“跟随”自己的屏幕, 这对于代码讲解的场景特别合适。




4. 支持语音和视频


一边码字,一边和同事聊天,就像在身边一样,是不是很爽?




Code With Me 的流程是这样的:




可能有人会想到这个问题:所有人都用同一个“会客厅”服务器, 我的代码就这么在公网上分享,有安全隐患啊


JetBrains自然也想到了这一点, 可以让每个公司或者个体去建立自己的会客厅(服务器),让大家在私有网络中协作,只需要在IDEA中设置一个Lobby Server就行。



总之,Code With Me是个让人兴奋的功能,可以轻松地把自己IDE中打开的项目分享给其他人,大家在一起进行远程的、实时的、流畅的协作,非常有意思,强烈建议大家都来试一下。


下面是一些常见的问题:


1. 哪个版本的IDEA支持Code With Me?


IntelliJ IDEA 2020.2.1 及以后版本都支持。


2. 只能在IDEA中使用吗?


不, Code With Me 支持很多编程语言的IDE。 

社区版支持:

专业版支持:



3. Code With Me 是免费的吗?


社区版是免费的,但是每个会话(Session)只能使用30分钟,超过30分钟会自动断开,然后需要主持人(Host)重新分享,访客(Guest)重新连接。会话数量不受限制。


专业版支持 50 个访客,每年100美元。任何(上面提及到的)付费 IDE 用户,通过JetBrains的教育授权计划、开发者认可计划、开源项目支持计划所获得的授权的用户都可以免费使用。


企业版授权支持最多 100 个访客,每年400美元。企业版支持本地版本,允许托管一定数量的并发会话,并且每个都可以邀请最多 100 个 访客, 一个许可证费用为400美元/年,10个许可证起售。


4. Code With Me的Community版本有没有功能缺失呢? 


Code With Me的Community版本包含Premium版本的所有功能,例如音频和视频通话、跟进、同步编辑和完全同步模式等。只是访客(Guest)和会话时间有限制。同时不可以在本地服务器主持会议,只有Enterprise版本支持该功能。


5. 如果我拥有IDEA Ultimate,但是我的访客(Guest)只拥有Community版本怎么办呢?


如果你拥有IDEA Ultimate 订阅那么你可以自动享有Code With Me的Premium版本。你的访客(Guest)也会通过你的订阅进行连接。这种形式特别适用于教学活动。如果你的访客有想要通过他们的Community版本IDE 邀请你,这将会有30分钟会话时长限制并只可至多3位访客。


6. 我的访客(Guest)需要许可证吗?


不,只有主持人(Host)用户需要许可证。


7. 文件都会在访客设备中本地存储吗?


不,共享的代码存储在主持人(Host)用户设备中,不会上传或者存储在云端,亦或存储在访客(Guest)设备中

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存