牛逼!JetBrains 又出了一款編程神器!協(xié)同編程!
1
我很喜歡一些在線協(xié)同編輯的文檔工具:創(chuàng)建一個文檔,把鏈接分享出去, 別人打開就可以直接編輯。
這時候我會觀察到別人在文檔中的行為:輸入文字、刪除文字,當然我的行為也可以被別人實時看到——這種協(xié)同工作的體驗實在非常美妙。
我不由地想到,如果在IDE中也實現(xiàn)類似的功能,碼農(nóng)的生活將會有趣得多!比如:
遠程協(xié)助
程序員何小痩編程中遇到一個問題,需要張大胖遠程幫忙,何小痩在家里共享一下自己的IDE, 然后張大胖就可以在其中瀏覽代碼、設置斷點、Debug、看日志......
一邊Debug一邊通過語音、視頻講解自己的思路,很快,問題解決, 何小痩把整個過程看得清清楚楚。
一起編程
張大胖和何小痩不用坐在一起,張大胖只要把自己的IDE分享出去,何小痩就能看到并且控制,這樣兩人交替著做“領(lǐng)航員”(思考、提醒)和“駕駛員”(寫代碼),時不時通過語音和視頻交流,高效地完成任務。
代碼講解
張大胖完成了核心功能的開發(fā),需要給小組的人遠程做講解,他不用告訴大家說:“請打開Parser.java,定位到第129行”, 他只需要把自己的IDE共享給大家,每個人都能看到他在IDE中用快捷鍵打開類,定位到函數(shù),在不同的類和函數(shù)之間輕松轉(zhuǎn)移,效率極高。
如果有這樣的IDE,那簡直是太棒了!尤其是在疫情之下,大家都進入了遠程工作的時候。
有人可能要說了,現(xiàn)在的工具——共享桌面——也能做到啊!但是由于這些工具共享的是整個桌面,而不是細粒度的IDE, 效率很低,網(wǎng)速稍慢就會卡頓,斷線,體驗實在酸爽。
多么美妙
原來只是這么想一想,沒想到真有IDE實現(xiàn)了這個功能, 這就是著名的IDE開發(fā)商JetBrains 提供的 Code With Me !
遠程協(xié)作和實時開發(fā)都將能夠在IDE中完成,僅靠IDE自身遠程桌面開發(fā)的時代要來了。
現(xiàn)在只要你用的是2020.02版本以上,便能在IDE中完成開發(fā)、調(diào)試、測試、音頻視頻聊天實時溝通等多種操作,再也不需要通過代碼片段來猜測Bug出在哪里,請求他人看看代碼,將能夠有更直接的方式,使用IDE自身遠程桌面開發(fā)的時代要來了!
好了, 先來感受一下它最最基本的協(xié)同編輯能力:

Host (主人)相當于共享IDE的那一方, GUEST(客人) 相當于接入主人IDE的那一方。
可以看出所有的改動即時展示在對方的IDE中, 就像兩個人在共享編輯文檔一樣。
這么有趣的功能,是不是迫不及待想要嘗試一下了?
2
安裝和使用
首先你可以更新IDEA到最新版(2020.1以上支持該功能),然后,在 IDE 的頁面進入File(Ctrl + Alt + C) > Settings > Plugins > Marketplace,然后輸入關(guān)鍵字 code with me,點擊Install,等待安裝,重啟IDE。

安裝好之后,右上角會多出一個選項:

只要選擇“啟用訪問并復制邀請鏈接”就行, 生成鏈接后,會自動將鏈接復制到剪貼板中,這時候,我們就可以將鏈接發(fā)給其他人。
注意,這是個HTTP的鏈接, 把這個鏈接發(fā)給其他同事,就相當于共享你的IDE了, 別人只要點擊,就會出現(xiàn)這個界面:

即使同事的機器上沒有安裝IDEA,只要他點擊“Download and Launch”就可以運行一個叫做“Code With Me Guest”的程序來查看你的IDE的內(nèi)容。
如果你同事已經(jīng)有了支持這個功能的IDEA, 還可以直接加入其他人的共享IDE。
提示:因為有墻的原因,所以在訪問 JetBrains 服務器的時候,極大概率會出現(xiàn) Connection timeout,需要掛梯子才能達到舒適體驗

至此,就可以愉快地玩起來了,就是這么簡單, 和那些在線協(xié)作的文檔幾乎是一樣的。
權(quán)限設置
Code With Me 有這么幾個重要的特性:
1. “客人”看到的是一個完完整整的IDE, 而不是一個簡單的編輯器
客人可以使用代碼自動補全、智能導航、重構(gòu)、調(diào)試套件和內(nèi)置終端,還能夠運行、Debug程序
當然,能干什么事情是分享IDE的“主人”來決定的:
在點擊生成鏈接時,從下圖我們可以看到,有預設幾個不同的權(quán)限,文件編輯、終端執(zhí)行、命令執(zhí)行、是否自動開啟語音通話,Host可以隱藏某個文件或文件夾,語言通話默認開啟,我們可以通過去掉勾選來關(guān)閉它,有一個問題是允許復制只讀權(quán)限下的代碼。具體開放什么樣的權(quán)限,我們可以控制,這樣可以保證我們代碼的安全性。
Read-only:權(quán)限皆為只讀,屬于安全的模式,協(xié)助者只能瀏覽
Edit files:可編輯文件,無法使用終端和執(zhí)行命令
Full access:擁有全部權(quán)限,理應只接受被信任的用戶
Custom:可自定義以上權(quán)限

2. 可以有多個“客人”接入到共享的IDE
每個客人都可以瀏覽/編輯 不同的文件。
作為“主人”,可以隨時“跳轉(zhuǎn)”到每個“客人”正在瀏覽/編輯的文件。

“主人”也可以強制所有人“跟隨”自己的屏幕, 這對于代碼講解的場景特別合適。

3. 支持語音和視頻
一邊碼字,一邊和同事聊天,就像在身邊一樣,是不是很爽?他也支持音視頻文本實時進行聊天,可以替代我們平常用社交軟件來進行溝通的場景,但不足的是聊天不支持圖片、視頻等大文件

4. Intellij Client
你是不是在想,如果我沒帶電腦,或者我的IDE已經(jīng)關(guān)了,如何讓別人幫助我呢?其實他也已經(jīng)幫我們考慮了。
當我們斷開連接時,會返回至該界面,我們將它固定在任務欄,按照我們的期許,當需要進行遠程協(xié)助時,應該要能夠直接點擊任務欄上的圖標,便能進入連接界面,而不是每次都需要先啟動IDE才能加入他人鏈接。

當我們退出IDE,點擊之后,它提示“No JVM installation found. Please install a 64-bit JDK. If you already hava a JDK installed, define a JAVA_HOME variable in Computer > System Properties > System Settings > Environment Variabled.”,根據(jù)這個提示,我們知道是缺少了Java SDK,但不知道具體最低哪個版本,經(jīng)過小編測試,至少需要Java SDK 11版本以上,才能正常打開啟動

當我們安裝Java SDK 11+以后,可以看到,能夠正常啟動,以后,即使不打開IDE,也能進行遠程協(xié)助了,是不是很Nice!

3
Code With Me是JetBrains的一項新型協(xié)作開發(fā)服務,它可以讓你在不依賴第三方遠程工具和社交軟件的前提下,僅靠彼此使用的開發(fā)軟件,便能達到遠程協(xié)作、及時溝通、實時開發(fā)的效果。
它打破了固有的IDE只能用來進行軟件開發(fā)的觀念,將遠程功能和音視頻聊天功能集成進了IDE官方插件,這意味著,只要連接穩(wěn)定和內(nèi)置的終端支持,我們就可以遠程在命令行執(zhí)行對系統(tǒng)的任意操作,包括部署、運維等等。
理想情況下,只要Host主機配置足夠高,便能支撐足夠多的Guest同時進行項目開發(fā)、測試、調(diào)試,而且能夠通過權(quán)限配置達到互不影響。
來源:終碼一生
版權(quán)申明:內(nèi)容來源網(wǎng)絡,版權(quán)歸原創(chuàng)者所有。除非無法確認,我們都會標明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!

