摘要:分享嘉賓是來自微軟云計算事業(yè)部的高級軟件開發(fā)工程師劉鵬。是微軟開源的一款開發(fā)工具,它針對做了許多編譯和命令上的支持。今天主要向大家介紹一下微軟去年推出的一個,以及對的一些支持。年他加入微軟,從事開發(fā)的工作。
本文是數(shù)人云“分布式架構(gòu)的開源組件大選”Meetup的實(shí)錄分享。分享嘉賓是來自微軟云計算事業(yè)部的高級軟件開發(fā)工程師劉鵬。
Visual Studio Code是微軟開源的一款開發(fā)工具,它針對Docker做了許多編譯和命令上的支持。
今天主要向大家介紹一下微軟去年推出的一個Visual Studio Code,以及Visual Studio Code對Docker的一些支持。歡迎大家相互交流下如何更好的用Visual Studio Code在本地做Docker相關(guān)的開發(fā)和測試工作。
從VSCode的作者說起首先想問大家一個問題,你理想中的開發(fā)工具是一個什么樣子?基于不同的技術(shù)棧,有各種各樣的開發(fā)工具,但是對于速度、性能、高亮、快捷鍵等訴求是相同的。一些人希望開發(fā)工具像擎天柱一樣無所不能,對速度沒有要求,安裝SSD或者更多memory就可以;但另一些人更關(guān)注速度,要求秒級打開大量文件;而完美主義希望既快又占用資源少還要外觀漂亮……
基于這些理念,微軟去年推出了Visual Studio Code這樣一款跨平臺的開發(fā)工具。先介紹一下它的作者,這是去年作者來中國訪問的時候一個朋友拿到的簽名,這個人很有自信,他就是Erich Gamma。
Erich Gamma之前開發(fā)了Junit,相當(dāng)于JAVA的unit test的一個庫,以及主導(dǎo)研發(fā)了Eclipse。當(dāng)然最出名的還是他與另外三個人合伙,號稱Gang of Four四人幫,寫了一個很經(jīng)典的書《設(shè)計模式》。2011年他加入微軟,從事IT開發(fā)的工作。
Visual Studio family的新成員——VSCode的定位Visual Studio Code定位是想為大家提供一個能夠跨平臺的新選擇,主要偏向editor,讓用戶既能享受editor速度的情況下,又能享受IDE提供debug的便利性。它可以支持Linux,Mac平臺,不再局限于Windows平臺。另外VSCode本身是一個開源項目,在GitHub上大家可以看它的源碼,在本地編譯。
editor和IDE的定位是相對不同的,editor更像之前說的摩托車,要求系統(tǒng)占有率更低,性能更好,速度更快,支持很多語言。而IDE,它有強(qiáng)大的Debug分析功能,可以針對一些CI/CD進(jìn)行集成,與語言綁定得比較緊密。VSCode定位則在中間這個位置,相對偏向IDE,既有editor性能方面的優(yōu)勢,同時集成了一部分IDE的Debug功能,比較靈活,對于Geek來說它是一個keyboard centered的IDE。
它的主要特點(diǎn):第一是免費(fèi),隨時可以download這樣一個開發(fā)工具;第二是跨平臺,核心技術(shù)基于Electron;第三是可定制化,包括UI、快捷鍵,很多用戶行為都可以通過一個簡單的配置文件去做配置。VSCode設(shè)計之初的理念就是速度。此外它是開源的,開發(fā)計劃很透明,在GitHub上可以看到下個月發(fā)布的主要功能和下一階段的計劃。另外VSCode支持可擴(kuò)展,大家都可以在這上面寫插件,根據(jù)需求提供了更豐富的功能。
原來傳統(tǒng)的Visual Studio family是Visual Studio加上Team Service,現(xiàn)在又補(bǔ)充進(jìn)了Visual Studio Code,這樣為大家提供一道從編輯器到IDE、到后臺CI/CD完整的一套的流程。
2011年, Erich Gamma加入微軟時有一個任務(wù),要創(chuàng)建一個基于瀏覽器的開發(fā)環(huán)境,但是要讓用戶使用的時候忘記在用瀏覽器,他們在瑞士成立了一個研發(fā)團(tuán)隊,這幾年做了很多工作,比如在OneDrive上提供語言的代碼編輯的工作,以及TypeScript學(xué)習(xí)的網(wǎng)站,在左邊寫TypeScript,右邊會實(shí)時顯示相應(yīng)的javaScript,可以同時去學(xué)習(xí)這兩種語言,比較它們之間的異同。
他們也做為IE瀏覽器里的開發(fā)者工具提供了很多功能,比如在bing的搜索結(jié)果里顯示類似于開發(fā)環(huán)境的代碼。最重要的是在Visual Studio Online提供一個叫“Monaca”的項目,真正把開發(fā)環(huán)境集成到了一個瀏覽器的環(huán)境?,F(xiàn)在Visual Studio Code的代碼還有大量基于Monaca的code,這是它的雛形,比如提供比較、語法高亮、智能提示等功能。
站在巨人的肩膀上——VSCode背后的技術(shù)Visual Studio Code并不是從頭開始做的,Visual Studio Code最早是基于JavaScript,基于Electron的內(nèi)核,然后基于Chrom的內(nèi)核,加上node.js。最初的時候它的語言是用JavaScript,現(xiàn)在已經(jīng)百分之百的切換成了TypeScript。
Electron是GitHub推出的為node.js開發(fā)者提供一個跨平臺的桌面程序的框架,核心基于Chrom內(nèi)核, VSCode team在2014年的時候看到了它,決定把整個內(nèi)核遷到上面。Electron類似于在桌面實(shí)現(xiàn)了一個小的瀏覽器的功能,會有一個主線程,在每個窗口下有一個顯示的進(jìn)程,每個進(jìn)程里會有不同的Service,負(fù)責(zé)繪制不同部位的UI。
其中一個比較特別的Service叫Extension Host,它負(fù)責(zé)與插件、調(diào)試服務(wù)或者一些代碼檢查服務(wù)進(jìn)行交互,所有第三方插件都需要在Extension Host里面注冊,比如什么時間去激活這個插件,然后什么時間和server進(jìn)行通訊。在設(shè)計的時候特別采用了每個插件獨(dú)立起一個進(jìn)程的模式。
其它IDE或者編輯器安裝很多插件的時候,一個插件的性能會破壞其它的插件性能,安裝的插件越來越多,在打開文件或者進(jìn)行操作的時候整個編輯器會變得越來越卡,但是通過Extension Host service注冊所有的插件,每個插件運(yùn)行在自己獨(dú)立的進(jìn)程里面,通過post Message進(jìn)行異步交互,這樣一個插件的進(jìn)程卡掉了不會影響其它的進(jìn)程,從而保證了編輯器的打開和交互用戶的速度。
現(xiàn)在市場上有很多插件,針對不同的語言甚至不同的靜態(tài)代碼檢查工具,這里只是其中一部分。在Visual Studio Code官網(wǎng)上有很詳細(xì)的教程,大家可以按照它的教程寫幾個簡單的,像詞頻的計算或是簡單的語言插件。
下面給大家演示一下Visual Studio Code針對Docker提供的編譯或者命令上的支持。
https://v.qq.com/x/page/b0357...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27980.html
摘要: IDE新時代! 作者:SHUHARI 的博客 原文:Visual Studio Code 遠(yuǎn)程開發(fā)探秘 Fundebug按照原文要求轉(zhuǎn)載,版權(quán)歸原作者所有。 在以前的文章 有趣的項目 - 在瀏覽器中運(yùn)行 Visual Studio Code, 我介紹過 Coder 開發(fā)團(tuán)隊將 Visual Studio Code 搬到瀏覽器里的嘗試。這是一個有趣的項目,不過沒有想到的是,這之后不久...
摘要:本文內(nèi)容節(jié)選自由主辦的第七屆,分享的實(shí)錄。據(jù)美國紐約時報報道,人工智能的測試會根據(jù)膚色種族,出現(xiàn)不同的錯誤率。微軟在美國工時比較長,而在歐洲工作時間有嚴(yán)格的要求,我們需要花費(fèi)時間磨合并找到共同的時間。 showImg(https://segmentfault.com/img/bVbm2f7?w=1080&h=720); 本文內(nèi)容節(jié)選自由msup主辦的第七屆TOP100summit,Mi...
摘要:我們團(tuán)隊有大部分人已經(jīng)在用了,所以這周五在組內(nèi)做了一個小分享,來發(fā)掘一些提高開發(fā)效率的小技巧。為什么選擇在剛出來的時候,我就開始使用了如何評價理由很簡單開源,免費(fèi),顏值高微軟出品,實(shí)力保證。 showImg(https://segmentfault.com/img/remote/1460000010750652); 沒錯,我就是來給大家安利 VS Code 的。 對前端來說,這是一款性...
摘要:在年成為最大贏家,贏得了實(shí)現(xiàn)的風(fēng)暴之戰(zhàn)。和他的競爭者位列第二沒有前端開發(fā)者可以忽視和它的生態(tài)系統(tǒng)。他的殺手級特性是探測功能,通過檢查任何用戶的功能,以直觀的方式讓開發(fā)人員檢查所有端點(diǎn)。 2016 JavaScript 后起之秀 本文轉(zhuǎn)載自:眾成翻譯譯者:zxhycxq鏈接:http://www.zcfy.cc/article/2410原文:https://risingstars2016...
摘要:有部分前端人員使用的是盜版的。非編程相關(guān)其它一些我使用的,但與編程關(guān)系不大的正版工具。尊重別人,更是尊重自己做為一個程序員,使用正版,我認(rèn)為這不是自做清高的事情,這是對自己職業(yè)的一種基本尊重。 ...
閱讀 2051·2021-10-08 10:05
閱讀 1892·2021-09-22 15:31
閱讀 3013·2021-09-22 15:13
閱讀 3492·2021-09-09 09:34
閱讀 2098·2021-09-03 10:46
閱讀 3128·2019-08-30 15:56
閱讀 1709·2019-08-30 15:53
閱讀 2364·2019-08-30 15:44