當前位置:
首頁 > 科技 > 經驗之談:學習 Visual Studio Code 不會錯!

經驗之談:學習 Visual Studio Code 不會錯!

作者 | ROBEN KLEENE

譯者 | 孫溥茜,責編 |?鄭麗媛

頭圖 | CSDN 下載自視覺中國

出品 | CSDN(ID:CSDNnews)

我挑選工具時,最看重的一點是工具的年齡。學習軟體是一種投資,除非迫不得已,我不要會換工具,因為這會讓我損失一部分在學習上的投資。

在眾多軟體類別中,通過軟體年齡選擇要學習的軟體是比較靠譜的方法,最流行的工具通常也是一個被使用時間最久的工具。微軟的 Excel 和 Adobe Illustrator 兩款軟體都是在1987創建的,而直到今天它們還是同類軟體中最受歡迎的軟體。

但這也不能一概而論。文本編輯器作為一種軟體類別,卻不能根據軟體年齡來挑選最靠譜的那一款。根據 StackOverflow 開發者年度大調查顯示,2015-2017之間 Mac 上最流行的編輯器是 Sublime 。Sublime 是2008年被創建的,比起 Excel 和 Adobe 非常年輕。相較而言,文本編輯器一直是一種更新迭代速度很快的軟體類別:在過去二十年,TextMate、Sublime Text 和 Atom 是發展勢頭較猛的文本編輯軟體。對於大型的複雜的桌面軟體來說,還有其他類別的軟體有過這麼大的變化嗎?

我相信,隨著 Visual Studio Code 的出現,新的文本編輯器迅速崛起的時代已經結束。VS code 的流行度與完善都到達了一個前所未有的高度,未來十年可能都將佔據著文本編輯器市場的統治地位。如果你也像我一樣,將軟體的年齡作為你選擇工具的優先考慮選項,那麼學習 VS code 會是一個不錯的投資。

我們將在這篇文章中圍繞以下幾個點討論 VS Code 長壽的原因:

流行度:VS code 跨過了近年來其他文本編輯器沒有邁過的門檻。

平台型文本編輯器:VS Code 結束了文本編輯器不斷圍繞擴展應用更新的時代。

範式優越:VS Code 從桌面App轉向web應用實現了範式優化,甚至為了今後文本編輯器的樣本標杆。

公司管理:VS Code 被一個強有力的科技公司進行組織與管理。

流行度

VS Code 是當下最流行的文本編輯軟體,它非常流行,以至於它可能是最流行的GUI編程工具。從2015年起,Stack Overflow 在他們的調查中加入了有關文本編輯軟體的問題。那時 Notepad 是最流行的文本編輯器,有34.7%的受訪者說他們非常喜歡 Notepad ,在接下來的一年裡,不同的文本編輯器的流行程度都有一些變化,但是沒有一個得到超過40%的支持率。直到2019年的開發者大調查,VS Code 的支持率達到了50.7%,這是第二次 VS Code 持續增長率超過45%,2018年 VS Code 的支持率是34.9%, VS Code 在2018年時便已經很流行了。

2015-2019年流行的文本編輯器

(注意,Stackoverflow在2015年到2016年之間開始允許提供多個答案,所以我對這兩年之間的變化持保留態度。)

平台型文本編輯器

在過去的幾十年間,文本編輯器的發展已經逐漸完善,VS Code 是最終集大成最具代表性的文本編輯器。文本編輯器的發展歷程是一個通過擴展能力的提升而發展成平台的過程。以下是文本編輯器的發展歷史。

2004之前:BBedit、Emacs、Vim

BBedit、Emacs 和 Vim 都是優秀的文本編輯軟體,但是他們都有一些不能成為最受歡迎的文本編輯器的特點。Emacs 和 Vim 的前身 Vi ,都是在1976年第一次發布,那時許多用戶界面都還沒有定型,還沒有 Ctrl Z/X/C/V 進行撤銷、剪切、複製和粘貼等快捷鍵。鍵盤快捷鍵是是通過 Macintosh 和 Windows 1.0流行起來的,這兩項分別發布在1984年和1985年。Emacs 和 Vim 都不使用這些鍵,而是使用他們自己的術語。他們都使用 」yank」( yank 在 Vim 中是複製,在 Emacs 里是黏貼)。BBEdit發佈於1992年,在這個時期,第一個圖形交互界面工具出現,之後成為了一個新的時代。同期還有 Excel(1987),Adobe Illustrator(1987) 和 Photoshop(1990) 。和這些應用程序一樣, BBEdit 今天仍然適用。但是和他們又有一些不同,BBEdit 沒有在同類軟體中流行開來。其中一部分原因是它一直沒有適應強調包驅動的文本編輯器生態系統。

2004:TextMate

TextMate 發佈於2004年,它是有史以來最有影響力的一個文本編輯器。在眾多特徵中,它最流行的特點是縮寫代碼段,自動配對字元和通過文件名模糊查找。所有這些特徵成為了之後流行的編輯器必備的特性。TextMate 率先應用的範圍選擇器功能和主題功能也為之後流行的文本編輯器的主題與語法高亮特性打下了基礎。對於一個初創的應用程序來說,這些功能已經很多了,但還不是 TextMate 所有的創新。TextMate 仍在重塑文本編輯器,完善之前編輯器的功能,並為十幾年之後 VS Code 的普及鋪墊基礎。TextMate 的重要創新是:它是第一款基於拓展構建的文本編輯器。雖然 TextMate 以拓展構建的概念流行起來,但是從之後看,這些不夠,TextMate的擴展功能還存在局限,而後來的文本編輯器由於增加了移除拓展的功能流行度更高。

2008:Sublime Text

Sublime Text 發佈於2008年,它使迷你地圖和多游標功能普及開來。不像? TextMate 和 BBEdit ?,它是一個跨平台,可運行在 Linux、MacOS 和Windows 系統的軟體,比起其他編輯器,它可以覆蓋更多用戶。但是 Sublime Text 最大的影響還是它在編輯器拓展應用上做的優化。Sublime Text 的拓展程序通過拓展API運行在一個內嵌的 Python runtime 中。不是像 TextMate 那樣使用? MacOS 內置的腳本語言,而且沒有一個合適的拓展 API ,主要集中在處理標準輸出上。Sublime Text 極大地豐富了拓展可以做的事情,允許更多的複雜的集成例如包含 GUI 組件的 Inters 。但這一點還不夠, Sublime Text 的包管器—— PackageControl 不是內置的,雖然 Sublime Text 有 API ,但是它使用 Python 定製調用 GUI 組件,所以這一點為之後的文本編輯器的進步空間。

2014:Atom

Atom 是 Github 在2014年發布的,它將拓展功能做到了最優。Atom 的包管器是內置的,可顯示帶有帶有內嵌圖像的拓展自述文件(並且 GitHub 本身進行的早期擴展也普及了使用動畫GIF來說明功能的慣例),從而產生了類似於應用商店的擴展體驗。這裡 HTML 和 CSS 也很重要。Atom 用 Electron 構建,編輯器使用 JavaScript 編寫且運行在 Node 上,比起 Sublime Text 的 Python API、HTML、CSS 和 JavaScript 是更廣為人知的語言,這一點降低了創造這個拓展應用的門檻。

Atom 基本上是一個基於拓展的完美的編輯器,這裡只有一個問題:速度太慢了,從它發布起,對他表現的抱怨就沒有停止過,在這種明顯的比較下,市場最終選擇了 Sublime Text。

2015:Visual Studio Code

VS Code 發佈於2015年,VS Code 是基於微軟在2013年發布的可以嵌入到網站上的 Monaco 編輯器。當 GitHub 隨 Atom 一起發布 Electron 之後,Microsoft 使用它創辦了桌面版面本的 Monaco,叫做 Visual Studio Code。

VS Code 採取了和 Atom 一樣的標準,VS Code 通過將拓展加入工具條,使得拓展成為和文件瀏覽,搜索,源碼控制,調試相同的級別。VS Code 拓展可以豐富用戶界面,可以用 HTML、CSS 和 JavaScript 編寫,並且可以完全訪問 node ,本質上他們可以做任何其他應用可以做的事情。當然了,這些拓展程序本身看起來已經像一個應用程序。

基於拓展應用的文字編輯器看樣子已經到達它最後的形式了,從 TextMate 以來,拓展應用的知名度和能力不斷增強,到 VS Code 時期,這種進步看起來到達了頂峰,它已經沒有其他可以發展的空間了,相比之下,這裡沒有一個新的路徑給文本編輯器,讓他們像曾經的文本編輯器那樣,通過提高擴展功能來去超越其他編輯器一樣地去超越 VS Code 了。

範式優越

截至目前,我們已經將 VS Code 的流行性和拓展應用情況視為它壽命的指標,這裡還有第三個指標即我們會看 VS Code 如何超越桌面應用的局限性。Code- Server 項目運行 VS Code 時候視他為一個常規的 Web 應用程序,即託管在伺服器,但是通過瀏覽器來瀏覽,GitHub 的 Codespaces 同樣也將 VS Code 視為一個 Web 應用程序,這是通過快速設置一個臨時的開發環境。

優化範式,就如同將一個桌面 App 轉化為一個 Web 應用程序,這是一個增長使用壽命的另一個重要指標。從一方面來說,這會讓其今後更容易被使用到其他範式中,移植到新的範式中會花費很大精力,付出這種努力也是一個偉大的價值指標。Emacs 和 Vim 都被從終端遷移到 GUI 應用程序中。他們的價值太高了所以不能沒有一個 GUI 版本。Photoshop 和 Excel 兩個都是運行在移動端,隨後 Adobe 出現了,Excel 同樣也有 Web 版本的,還有一個 Photoshop 的流式版本(儘管它已經在封閉測試版中運行了6年)。

VS Code 不僅超過了最初設置的參數,即成為了一個 Web 應用程序,某種程度它也成為了一種標準。由 Eclipse 基金會維護的 TheiaIDE1.0 版本是 VS Code 的翻版, VS Code 現在不只是文本編輯器,還是一個文本編輯器的標準模板。

公司管理

TextMate 大部分工作是由一個開發者實現的,Allan Odgaard,和 Sublime Text 一樣,兩個應用最終都陷入了用戶對新版本發布緩慢而泄氣的困境。

以下是這兩個應用主要版本發布的時間線

2004:TextMate1

2008:Sublime Text1

2011:Sublime Text2 Alpha

2012:Text Mate 2 Alpha

2013:Sublime Text 3 Beta

2017:Sublime Text 3

2019:TextMate 2

這裡有一個穩定的主要版本發布時間的圖表(對比 BBEdit 10-13 的發布日期):

通過這個時間線可以反映出兩個問題:

1.TextMate2 發布與 TextMate1 發布的間隔時間太久了。

2.Sublime Text 一直在堅持發布新產品。

Sublime Text 的投訴問題集中在2013年 Beta 版發布和2017 Sublime3 正式版發布之間,在這個期間投訴都是關於 Sublime 缺少足夠的改進。和 BBEdit 發布的主要版本相比起來( BBEdit 發布了3個主要版本11,12和13), Sublime 還在beta版本徘徊。儘管 Coda2 發布在2012年,但是它從來都沒有更新過,所以也不確定 Sublime 是否和 Coda 一樣,不是發布的商業用途。

VS Code 目前的版本是1.49,但是 VS Code 是開源的,所以它和商業版本的規則有一些不同,主要版本的存在至少是公司進行一部分升級收費的機會。

由於 VS Code 是開源的,我們可以直接通過其提交歷史來評估其開發速度。VS Code 在 GitHub 上的提交情況表明:這是一段積極的開發歷史,它的提交速度超過了 Atom ,甚至比一些大型 Facebook 項目 React 還要活躍(請注意,這些圖在Y軸上的比例不同)。

Visual Studio 代碼提交圖

原子提交圖

提交反應圖

積極的開發會把平台從主流中拉出來,因為前進的勢頭和第三方在平台上構建的組合很難與之競爭。這種結合使得新進入者很難與流行的瀏覽器或操作系統競爭。

結論

這篇文章的目的是用來確定:如果你重視軟體的成熟度,那麼 VS Code 是否是一個合適的用來投資學習的工具。作為一個類似平台的文本編輯器,自 TextMate 從2004年被發布,每隔幾年就有勢頭強勁的新版文本編輯器發布,從任何標準來看編輯器的流行都是小規模並短暫的,但是比起 Excel、Photoshop 他們又絕對不可小覷。如果你追求軟體的快速變化,那麼學習 VS ?Code 文本編輯器是否有價值是一個值得討論的問題。

VS Code 的出現終結了編輯器只在短時期佔領一席之地的局面。如果我們用其他領域流行軟體的尺度去衡量 VS Code ,那麼它有能力去保持它的流行地位在接下來的很長一段時間中,這個時間有可能是十幾年。

再來讓我們總結一下:

有超過50%的開發者使用 VS ?Code , 這是其他文本編輯器無法企及的門檻。

VS Code 以及將拓展功能的可視化和能力做到了最大化,這讓其他新文本編輯器沒有更多發揮空間從而無法被超越。

VS Code 已經超越了桌面軟體的界限,它也是一個 Web 應用,甚至已經成為了一個文本編輯器的標本,它代表了文本編輯器應有的樣子。

VS Code 被公司管理,因此它不會像其他文本編輯器一樣陷入經營不景氣的困境。

原文:https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code/

本文為 CSDN 翻譯,轉載請註明來源出處。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

大廠技術文檔:Python 基礎+爬蟲+數據分析+面試經精選
原來 8 張圖,就可以搞懂「零拷貝」了!