邀請別人幫忙共同 debug:Visual Studio Live Share


「Visual Studio Live Share」這個東西,是微軟在去年十一月發表的一項給 Visual Studio 2017Visual Studio Code 用的外掛套件。

他主要的用處,就是當碰到自己不知道該怎麼解的程式問題的時候,可以邀請別人一起進來找問題!

他的形式就是有點像是 Google 文件的共筆模式,可以多人一起編輯、同時也看的到對方的滑鼠游標在哪裡、做了那些修改;而雖然要偵錯的程式還是在本地端執行,但是遠端近來協助的人,還是可以透過監看變數、設定中斷點等方法,來幫忙找問題~

當時在發表時(網頁),就讓人覺得是個相當有趣的功能~而對於團隊合作的程式開發來說,某方面來說應該也是有一定的實用性的。

不過,去年底發表時,這東西還只是內部測試,一般人沒辦法玩,所以當時也就看看就算了。但是,今年的 MS Build 2018,微軟則是把這東西當作開放預覽版,放出來讓所有使用者測試了!所以,有興趣的話,就可以玩看看了~

官方的公告是《Visual Studio Live Share Public Preview》,它的官方網站是:

https://www.visualstudio.com/services/live-share/

官方的說明網頁則是在 Visual Studio Docs 上,要使用的話需要 Visual Studio Code 1.22.0、Visual Studio 2017 15.6 以後的版本。在各種開發環境的支援性上,雖然不算很完美,但是也支援相當廣泛了(官方列表)~

下面則是他的介紹影片:


既然開放試用了,Heresy 當然是玩了一下了~

首先,在 Visual Studio 2017 安裝了「VS Live Share – Preview」這個套件(連結)後,Visual Stuio 的右上角就會多出一個「Share」的按鈕。

點選他之後,VSLS 就會開始建立共享工作,之後則是會產生共享連結,並把共享連結複製在剪貼簿內,讓使用者把這個連結傳給其他開發者。

對方打開這個連結後,則是會顯示這個邀請的所有者,如果這個共享連結還是有效的話,就會詢問是否要透過 Visual Studio 來開啟。

如果選擇使用 Visual Studio 來開啟的話,接下來 VSLS 就會在這台電腦上,建立出必要的偵錯環境;由於是要偵錯,所以他會把必要的原始碼,從共享的電腦複製一份過來。

理論上他應該只會複製必要的部分,並不會連同外部函式庫的檔案都一起複製;而像是其他 lib、dll 檔等,也都是非必要的,所以不會被複製;但是相對地,由於自己開發的程式碼都會被複製一份,所以在使用上也要注意有沒有程式碼外流的問題。

而當使用者連入時,Visual Studio 也會出現通知(如下圖),讓使用者決定是否要踢掉他。

不過,實際上此時遠端使用者也已經取得原始碼了,並不算是一個很好的防禦方案;考慮到安全性,建議是到選項裡面,把「Require guest approval」開啟,讓 VSLS 在有訪客要連入前,需要先經過允許會比較好。

而當有多位使用者共用時,Visul Studio 右上方,也會出現代表使用者的圖示;右圖中兩個不同顏色的「H」,實際上就是 Heresy 自己從另外兩台電腦連入後的狀況;也就是說,此時有三個人在觀看這份原始碼。

之後,在程式碼編輯器內,就可以看到其他共用者的滑鼠游標在哪裡、在幹嘛了~

而如果想要追蹤某個使用者的話,也可以點選右上角、他的圖示,這樣就會變成跟隨模式,如果他開啟別的檔案,這邊也會自動切換過去。

如果是以 C++ 的開發環境來說,在本地端開始偵錯後,遠端的使用者也會跟著進入偵錯模式,此時遠端的使用者也可以控制程式的中斷與執行,並在中斷時檢查變數資訊。

不過,這邊 Heresy 個人覺得一個很大的問題是,不管是圖形介面的程式(Qt)或是命令提示字元的程式,遠端都看不到執行的結果… orz

所以,這邊的協作,基本上就是只能就程式碼面來處理,否則,就得另外想辦法來另外共享程式執行的畫面了…


基本操作大概就是這樣了?VSLS 實際上還有提供像是伺服器共用、終端共用等功能,有興趣的話,建議可以參考官方文件,裡面有相當完整的說明。

基本上,這東西還是預覽版,所以應該還是有些問題存在,不過在 Heresy 玩的過程中,感覺算是還算可以試試看的了。

對「邀請別人幫忙共同 debug:Visual Studio Live Share」的想法

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.