1. 程式人生 > >宇宙第一 IDE Visual Studio 支援 Java 了!

宇宙第一 IDE Visual Studio 支援 Java 了!

驚不驚喜?意不意外?640?wx_fmt=png

640?wx_fmt=jpeg

作者 | 唐小引

出品 | CSDN(ID:CSDNNews)

北京時間 10 月 25 日 - 27 日,2018 微軟技術暨生態大會(Microsoft Tech Summit)在上海世博中心舉行,在第二天的 Keynote 上,微軟全球資深副總裁、開發平臺事業部總經理,開發屆的頂級程式碼女神潘正磊(Julia Liuson)帶來了一項頗讓開發者震驚且興奮的新服務 —— Visual Studio Live Share。這項服務不僅如之前剛剛公佈時所說的能夠讓開發者程式設計協作、跨終端共同除錯,跨 Windows、macOS、Linux 等不同平臺地協作,以及跨 Visual Studio 及 VS Code 地寫程式碼,更重要的是,可以直接寫  Java !

至此,宇宙第一 IDE Visual Studio 終於開始支援 Java 語言,而且還有 Visual Studio IntelliCode —— 通過人工智慧實現智慧化程式設計,對上下文進行感知,給出針對性建議,以此來提高開發者程式設計的速度和準確性。

1.如何在 Visual Studio 和 VS Code 裡協同寫 Java?

在大會現場,潘正磊表示,“現在對於開發者來說是一個大展身手的年代,每一個有作為的企業都需要強大的軟體研發能力。但另一方面,於開發者而言,這也是一個充滿機遇和挑戰的時代,因為新的技術不斷地湧現需要始終學習。我們的開發週期越來越短,企業的生存需要軟體提供它的核心價值,那麼,對於開發者來說,就需要更好的工具來幫助其實現這些目標。我在微軟一直從事著開發工具和平臺的研發工作,一直致力於為所有開發者(無論是什麼樣的產品,基於什麼樣的作業系統,使用什麼樣的語言)提供最高效最敏捷的開發工具和雲服務。”

為此,潘正磊領導著微軟開發平臺事業部針對著微軟體系下的開發工具及平臺進行了深度開發及優化迭代,首先便是在全球範圍內廣受歡迎的 IDE —— Visual Studio 和開源且輕量級的 Editor —— VS Code。

640?wx_fmt=jpeg

在大會現場,微軟的兩位工程師分別在不同的作業系統上使用 Visual Studio 2017 和 Visual Studio Code 進行了 Visual Studio Live Share 的操作演示,這項功能不僅能夠幫助研發團隊實時交流,還可以協調開發者同時編寫、更改、除錯程式碼。

具體表現為:在 VS Code 中開啟你的 Java 專案,點選狀態列上的分享,Visual Studio Live Share 會幫助你建立一個分享連結,將連結發給你的同事。當你同事開啟連結的時候,它會自動關聯到他的 Visual Studio,就此,你的同事就能和你共享你的程式碼,並且可以自由地瀏覽其他的專案原始檔。不僅如此,你的同事,並不需要安裝任何的 Java JDK 執行環境。

640?wx_fmt=jpeg

並且,Visual Studio 團隊深知,得到解決問題的答案,並不是給開發者最好的結果。“授之以魚,不如授之以漁”, 所以 Live Share 還給開發者們提供了一個跟隨的功能,通過它,可以看到你同事的所有動作,可以還原出來他每一步到底看了哪些程式碼,哪些函式。

開發者們都知道,除錯才是一個 IDE 是否完整的標誌,所以 Live Share 也支援除錯,它可以幫助你的同事,在你的機器上啟動除錯程序,並且完全控制你的除錯程序。不論你身在何處,通過 Live Share ,都可以把你的同事帶到你的身邊,幫你搞定你解決不了的問題。

對此,潘正磊如此說道:“我做 Visual Studio 已經很多年了,經常會被問到一個問題,那就是 Visual Studio 什麼時候能支援 Java?今天大家第一次先睹為快。Visual Studio Live Share 其中包含了幾個相當重要的特性,首先便是上述在不同的作業系統上分別使用 Visual Studio 和 VS Code 來協作;其次,通過 Live Share  可以任意呼叫專案中的其他檔案,它不是單純的檔案共享,我們可以使用 Go to Definition 來進行程式碼跳轉;更重要的是,它使用同一個 Debug Session,在多個不同的裝置裡,可實時顯示變數值的變更、進行除錯;最令人激動的是,它支援多種語言,不論你使用何種語言,你都可以使用它來進行團隊合作。今天我們在此演示的是 Java,但對 Python、C# 等語言都有非常強大的支援,因此這個功能並不侷限於某種語言。”

640?wx_fmt=png

潘正磊繼續講道:“Live Share 功能雖然是為團隊協作而開發,但特別高興的是,截至目前已經看到全球的使用者有一些非常創意的使用方法與應用場景,比如在許多地方老師會用它來實現遠端教學,以及一些企業用 Live Share 來面試新員工等等。”

2.智慧化程式設計的 Visual Studio IntelliCode

為了提高開發者們的效率,微軟還推出了 Visual Studio IntelliCode 智慧程式碼輔助開發服務。

筆者相信,很多開發者已經無數次地使用過 IDE 中程式碼補全的功能。Visual Studio IntelliCode 就是由 AI 技術支援的增強版自動程式碼補全,但它不止於此,還可以識別出重構中的遺漏點、誤用的變數、非規範的變數名等,並能對程式碼進行自動化的分析與稽核。

IntelliCode 能夠精準地對上下文進行感知,以此來給出非常準確的推薦。在自動完成下拉中,出現的提示,不再是按字典序的排列,而是一個推薦給開發者的最佳選項。

頗引人注目的是,IntelliCode 還會從開發者的程式碼中,分析出程式碼的風格以及編碼習慣,當開發者提交或瀏覽程式碼時,它會自動掃描程式碼,找出其中不一致的地方,然後給出針對性的建議,由此極大地提高寫程式碼的速度與準確性。

640?wx_fmt=jpeg

潘正磊表示,“IntelliCode 只是智慧化程式設計的第一步。我們的願景是充分運用人工智慧來提升開發人員的程式設計效率和程式碼質量,因此我們正在探索更多場景並研發出相應的 AI 模型。比如如何通過機器學習來發現經常產生的 Bug 以此來避免開發者重蹈覆轍,以及用 AI 來評估變更風險,如果風險很小實現程式碼自動提交,風險非常大時則推薦一個最為合適的 Reviewer 來確保是否能夠達到合格等。”

3.越來越開放的微軟:不僅是 Java、Python,還有 OC、Swift、React Native 等

同時,面向 iOS、Android App 開發,Visual Studio 還退出了 App Center,將原來需要藉助 Xamarin 的 HockeyApp、Xamarin Insights 及 Azure 應用服務完成的 6 項功能整合成為一項服務,由此大幅提升了開發者面向 iOS 及 Android 開發、測試到釋出應用的自動化程度。

640?wx_fmt=jpeg

通過 App Center,開發者可以在雲端開發 Objective-C、Swift、Java、Xamarin 和 React Native 應用,並且,App Center 能夠自動對數千種裝置進行適配測試,快速將應用傳送給測試者或者直接釋出到應用商店,並幫助開發者監測和收集故障報告,所有這些程式都能以自動化的方式高效完成。

640?wx_fmt=png

4.微軟愛開源:收購 GitHub 後

今天,微軟正式完成了 75 億美元收購 GitHub 的交易,微軟企業副總裁 Nat Friedman 正式成為了 GitHub CEO。

640?wx_fmt=png

猶記得 6 月訊息剛出之時,國內外的開發者們紛紛反對,儘管微軟已經連續三年蟬聯了 GitHub 上最多員工參與開源專案,但卻仍然存在不少質疑,擔心 GitHub 被微軟收購後會扼殺掉開源的活力。對此,在接受 CSDN(ID:CSDNNews)等採訪時,潘正磊首先肯定了被微軟收購後的 GitHub 開源的屬性“絕對不會”發生變化,GitHub 依然獨立運營,隨即說道:“當我們宣佈收購 GitHub 時,在美國熱門的技術社群上的討論主要分三類,一、不相信所有大公司;二、用過去的眼光來評價微軟,比如基於微軟在 10 - 15 年前做過的事來評判究竟能不能信任微軟;三、很多開發者能夠看到微軟在近幾年來為開源社群做了非常多的進步和貢獻,事實上在微軟宣佈收購 GitHub 後,儘管 GitLab 有一個星期的流量增長,但我們也看到了 GitHub 當時的使用者增長數遠遠超出了日常水平,而微軟也在 GitHub 上收穫了大批擁護者。因此,希望大家不要用一個過去的眼光來看微軟,而是用現在的行動來看待微軟。”

另外,潘正磊還談到了前不久微軟加入 OIN(Open Invention Network,開放創新網路)將 6 萬多專利貢獻給包括 Linux 在內的所有開源專利聯盟的成員。“只要你是 OIN 的成員,就可以免費試用微軟貢獻的所有專利,這就是我們開源的決心。”

640?wx_fmt=jpeg

而另一方面,對於中國開源,潘正磊講起了一個發現,那就是今年在 GitHub 報告中看到中國在開源領域已僅次於美國名列第二,“在中國有非常多的開發者參與到開源專案中,這真的是一個非常好的趨勢。很高興看到諸如騰訊、阿里等頂級的網際網路公司也開始將企業內部的技術開源,這起到了非常好的領頭作用,希望更多的中國企業能夠加入開源。而微軟在中國經營開源已有很多年,比如 2014 年便與幾大公司及社群聯合成立開源社,扶持各個開源專案,同時在支援社群的角度,微軟已經貢獻了很多的開源專案,在中國也做了很多扶持開源社群的工作。”

不過,針對國內開源專案的使用,潘正磊有一點建議,那便是“中國的開源社群需要與國際更加接軌,要形成一個觀念 —— 不是說開源專案就等於可以隨便使用,明晰開源許可協議。國內有一些大的雲服務公司沒有很好地遵守相應的 Licence。這可能是大家對於開源的認識存在一些誤區,開源並非是可以任意使用原始碼,還需要明確其許可協議是什麼型別,諸如 GPL、BSD、MIT、Mozilla、Apache 等的區別。”

5.人工智慧、區塊鏈、IoT 熱火朝天,客戶端開發者何去何從?

在大會現場,筆者與潘正磊女士聊起了一個國內技術生態的問題,那就是近兩年人工智慧的爆發讓眾多開發者在投遞簡歷時對於演算法等 AI 領域的崗位趨之若鶩,直接導致了演算法供大於求而客戶端稀缺的局面。譬如此前今日頭條便在發給候選人的郵件中直接點明“目前演算法工程師簡歷已遠超需求,而 Android、iOS 簡歷非常稀缺,後端、前端、測開和大資料也供不應求”。

對此,潘正磊分享了自己的見解與建議:“中國的趨勢現狀似乎與全球完全相反,在美國想招資料科學家簡直是難上加難,都是巨頭公司砸錢搶人的模式。其實從全球趨勢來說,所有的開發工程師都是稀缺的,至少存在上百萬的缺口。但是就整體的技術趨勢而言,無論開發者原本的專業領域是什麼都需要保持始終學習的狀態,微軟在今年的 Build 大會已經提到,未來幾年,每一個開發工程師都需要具備幫助組織或團隊進行智慧化開發的能力,不是每個人都需要成為資料專家,但簡單的 AI 演算法應該作為基本能力掌握,比如在三十年前沒有人懂得 DataBase 是什麼,但現在很多開發者都瞭解一些資料庫的知識。”

“而微軟一直在做的,也是通過開發工具和框架不斷地降低技術門檻,比如就移動開發,微軟在通過 Xamarin、Visual Studio 等的不斷延伸降低難度,針對物聯網開發,有專門的物聯網開發套件,而大資料開發有 R、Python 開發功能,AI 有 Visual Studio Tools for AI 及 ML.NET(作者注:微軟開源的基於 C# 的機器學習庫)。”

640?wx_fmt=gif


“徵稿啦”

CSDN 公眾號秉持著「與千萬技術人共成長」理念,不僅以「極客頭條」、「暢言」欄目在第一時間以技術人的獨特視角描述技術人關心的行業焦點事件,更有「技術頭條」專欄,深度解讀行業內的熱門技術與場景應用,讓所有的開發者緊跟技術潮流,保持警醒的技術嗅覺,對行業趨勢、技術有更為全面的認知。

如果你有優質的文章,或是行業熱點事件、技術趨勢的真知灼見,或是深度的應用實踐、場景方案等的新見解,歡迎聯絡 CSDN 投稿,聯絡方式:微信(guorui_1118,請備註投稿+姓名+公司職位),郵箱([email protected]