0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

VS Code會長存嗎

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者: ROBEN KLEENE ? 2020-12-30 10:18 ? 次閱讀

在選擇用哪種工具時,我最看重的是軟件壽命。學習軟件是一項投資,如果以后不得不切換到其他應用程序,那你的投資就損失了一部分。 在大多數(shù)軟件類別中,選擇壽命最長的軟件很容易,最流行的工具通常就是存在時間最長的工具。像微軟的 Excel 和 Adobe Illustrator 都是在 1987 年發(fā)布的,從那時起,它們就一直是同類軟件中最受歡迎的。 https://blog.robenkleene.com/2020/04/27/software-to-die-for/ 另一方面,在文本編輯器這個軟件類別中,最流行的卻是最古老的。

根據(jù) Stack Overflow 年度開發(fā)者調(diào)查,Sublime Text 是 2015-2017 年 Mac 上最受歡迎的文本編輯器。Sublime Text 于 2008 年發(fā)布,與 Excel 和 Illustrator 相比,是“一個朝氣蓬勃的年輕人”。 文本編輯器這個類別有很多變化:在過去 20 年中,TextMate、Sublime Text 和 Atom 都是勢頭最強勁的文本編輯器。 我相信,隨著 Visual Studio Code 的出現(xiàn),新文本編輯器快速興起并流行的時代已經(jīng)終結。

VS Code 已經(jīng)達到了前所未有的普及和優(yōu)化水平,打下了可能意味著數(shù)十年市場主導地位的基礎。如果像我一樣,你選擇工具時優(yōu)先考慮的事項之一是壽命,那么, 這意味著 VS Code 可能是一個不錯的、值得現(xiàn)在就開始投入學習的文本編輯器。 VS Code 的長存歸結于以下幾點:

流行度:它的流行度達到了文本編輯器在近期歷史上從未有的高度。

文本編輯器即平臺:這是圍繞擴展再造文本編輯器的終結。

范式卓越:它超越了桌面應用的范式,成了托管 Web 應用,甚至成了參考實現(xiàn)。

公司管理:它由一家強大的科技公司管理,并且還處于積極開發(fā)之中。

1 流行度 VS Code 是當今最流行的文本編輯器。它如此流行,以至于它可能是有史以來最流行的 GUI 編程工具。 自 2015 年以來,Stack Overflow 在調(diào)查中就包含關于文本編輯器的問題。當時,Notepad++ 是最受歡迎的文本編輯器,34.7% 的受訪者說他們“可能會使用”。在接下來的幾年里,不同文本編輯器的受歡迎程度有所變化,但沒有任何一個能突破 40% 的大關。2019 年的最新調(diào)查顯示,VS Code 已躍升至 50.7%。

2015–2019 文本編輯器流行度 (注意:在 2015 年到 2016 年間,Stack Overflow 開始允許有多個答案,所以我對這兩年之間的變化持保留態(tài)度。) 2 文本編輯器即平臺 客觀地說,VS Code 非常流行。在過去幾十年,文本編輯器一直在發(fā)展,而我相信 VS Code 是最終表現(xiàn)形式。這是文本編輯器通過增加擴展的作用和功能而成為平臺的進程。下面是這一進程的歷史。

2004 年前:BBEdit、Emacs 和 Vim BBEdit、Emacs 和 Vim 本身都是優(yōu)秀的文本編輯器,但它們都有一些“獨特性”(雖然像我這樣的人很喜歡它們),因此它們無法成為最受歡迎的文本編輯器。 Emacs 和 Vim 的前身 Vi 都是 1976 年首次發(fā)布的,當時,今天的許多用戶界面習慣還未固化下來,比如使用修飾鍵加 Z、X、C 和 V 來撤消、剪切、復制和粘貼(這些鍵盤快捷鍵在 1984 年和 1985 年發(fā)布的初版 Macintosh 和 Windows 1.0 中流行開來。

Emacs 或 Vim 都不使用這些鍵,而是使用它們自己的術語。例如,它們都使用術語“yank”(盡管表示不同的意思,在 Vim 中表示復制,在 Emacs 中表示粘貼)。 BBEdit 發(fā)布于 1992 年,大約是在第一批 GUI 工具出現(xiàn)的時候,這些工具后來成為主流。

注意,這個時間與 Excel(1987)、Illustrator(1987)和 Photoshop(1990)的發(fā)布時間接近。就像那些應用程序一樣,BBEdit 在今天仍然具有重要意義。但與這些應用程序不同的是,它并不是同類應用中最受歡迎的,應用不是很廣泛。似乎至少有一部分原因在于,它從未完全適應文本編輯器生態(tài)系統(tǒng)這個如此強調(diào)包驅(qū)動的世界。 2004 年:TextMate 2004 年發(fā)布的 TextMate 可以說是有史以來最具影響力的文本編輯器。

在眾多特性中,它最受歡迎的特性有有基于縮寫的代碼片段、自動配對字符和根據(jù)文件名進行模糊查找。所有這些功能都成為后來每個流行的文本編輯器的主要特性。TextMate 開創(chuàng)的范圍選擇器和主題實現(xiàn)也構成了以后每個流行的文本編輯器突出顯示主題和語法的基礎。 就一個應用程序來說,這已經(jīng)很多了,但它還沒有包括 TextMate 最重要的創(chuàng)新;該創(chuàng)新將繼續(xù)重塑文本編輯器,鞏固每一個出現(xiàn)在它之前的文本編輯器的利基地位,并為十年后 VS Code 成為歷史上最流行的文本編輯器鋪平道路。

TextMate 最重要的創(chuàng)新是,它是第一個主要圍繞擴展構建的廣受歡迎的文本編輯器。 雖然 TextMate 普及了圍繞擴展構建文本編輯器的概念,但事后看來,它做得還不夠。TextMate 的擴展有一些限制,后來的文本編輯器將通過消除這些限制而蓬勃發(fā)展。 2008 年:Sublime Text 2008 年發(fā)布的 Sublime Text 普及了 MiniMap 和多光標。

與 TextMate 和 BBEdit 不同的是,它是跨平臺的,可以運行在 Linux、MacOS 和 Windows 上,這幫助它獲得了比那些編輯器更廣泛的受眾。但 Sublime Text 最大的影響是極大地提高了擴展功能。 TextMate 使用 macOS 內(nèi)置的腳本語言,它沒有一個合適的擴展 API,而主要是圍繞處理標準輸出,Sublime Text 和它不同,其擴展可以在具有豐富 API 的嵌入式 Python 運行時中運行。 Sublime Text 極大地提高了擴展的功能,允許更復雜的集成,比如包含 GUI 組件的 linters

由 Will Bond(Will Bond 于 2016 年加入 Sublime HQ)為 Sublime Text 開發(fā)的包管理器 Package Control 非常受歡迎,它的特點是有一個集中的包管理源,簡化了包的瀏覽、安裝和更新;后來所有流行的文本編輯器也采用了這個模型。 即使有了 Sublime Text 對擴展的增強,但它仍然走得不夠遠。Package Control 不是內(nèi)置的,而且,雖然 Sublime Text 確實有一個 API,但它使用 Python 和 GUI 組件的自定義調(diào)用仍然為將來的文本編輯器簡化擴展構建留下了空間。

2014 年:Atom 2014 年,GitHub 發(fā)布了 Atom,最終實現(xiàn)了擴展的最終形式。Atom 的包管理器是內(nèi)置的,可以通過內(nèi)聯(lián)圖像顯示擴展的 README(早期由 GitHub 自己制作的擴展推廣了使用 GIF 動畫來演示功能的做法),創(chuàng)建了一種讓人聯(lián)想到應用商店的擴展體驗。 然后是 HTML 和 CSS 的問題。Atom 構建在 Electron8 上,這意味著編輯器本身是用 JavaScript 編寫的,并運行在 Node9 上。與 Sublime Text 的 Python API 相比,HTML、CSS 和 JavaScript 屬于當下最知名的語言,它們極大地降低了創(chuàng)建擴展的門檻。

Atom 從本質(zhì)上完善了基于擴展的編輯器,但只有一個問題:它太慢了。自從 Atom 發(fā)布以來,性能問題就一直困擾著它,與之相比,Sublime Text 的速度快得驚人,最終導致了市場分裂。 2015 年:Visual Studio Code VS Code 于 2015 年發(fā)布,基于微軟于 2013 年首次發(fā)布、可嵌入網(wǎng)站的 Monaco 編輯器。

當 GitHub 和 Atom 一起發(fā)布 Electron 時。微軟用它創(chuàng)建了一個 Monaco 編輯器的桌面版本,名為 Visual Studio Code。 VS Code 采用了和 Atom 一樣的模式——一個基于 Web 的本地文本編輯器,使用 Electron 編寫,重視擴展——但提供了更好的性能。VS Code 將擴展放在側邊欄中,把它們提升到與文件瀏覽、搜索、源代碼控制和調(diào)試相同的級別,從而使擴展更明顯。VS Code 擴展可以有豐富的用戶界面,可以用 HTML、CSS 和 JavaScript 編寫,并且能完全訪問 Node,它們基本上可以做任何其他應用程序可以做的事情。

事實上,一些擴展開始看起來像應用程序本身。 使用 VSCode,基于擴展的文本編輯器似乎已經(jīng)達到了它的最終形式。自從 TextMate 以來,擴展在顯著性和功能方面一直在增加,而通過 VS Code,這種演進似乎達到了頂峰?,F(xiàn)今,已經(jīng)沒有任何其他的發(fā)展方向了。相應地,新的文本編輯器也不可能像以前的文本編輯器那樣通過改進擴展實現(xiàn)跨越式的發(fā)展。 3 范式卓越 到目前為止,作為壽命指標,我們已經(jīng)看了 VS Code 的流行度及其擴展實現(xiàn)。我們將看到的第三個指標是 VS Code 如何超越桌面的限制。

code-server項目將 VS Code 作為一個常規(guī)的 Web 應用程序運行,換句話說,托管在服務器上并通過瀏覽器訪問。GitHub 的 Codespaces 也以 Web 應用程序的形式運行 VS Code,這一次是通過啟動一個特別的開發(fā)環(huán)境。 https://github.com/features/codespaces/ 范式卓越,比如從桌面應用程序到 Web 應用程序,是一個很好的壽命指標。首先,這意味著它更有可能在未來被移植到更多的范式中。

移植到一個新范式需要付出巨大努力,而付出這些努力是一個很好的價值指標。Emacs 和 Vim 都從終端移植到 GUI 應用程序;它們太有價值了,不能沒有 GUI 版本。Photoshop 和 Excel 都可以在移動端運行,Illustrator 也即將推出移動版。Excel 也有一個網(wǎng)絡版本,Photoshop 也有一個流媒體版本(盡管它已經(jīng)進行了 6 年的內(nèi)測)。

VS Code 不僅超越了最初實現(xiàn)時的指標,成為一個 Web 應用程序,而且也成為了某種標準。由 Eclipse 基金會維護的 Theia IDE 的 1.0 版本是 VS Code 的重新實現(xiàn)。VS Code 現(xiàn)在不僅是一個文本編輯器,而且還是一個文本編輯器的行為模型。 4 公司管理 TextMate 主要是 Allan Odgaard 這一位開發(fā)人員的作品,正如 Sublime Text 和 Jon Skinner。這兩個應用程序最終都遇到用戶不滿的問題,因為他們覺得發(fā)布周期過長。 以下是這兩個應用程序主版本的歷史:

2004:TextMate 1

2008:Sublime Text 1

2011:Sublime Text 2 Alpha

2012:Sublime Text 2

2012:TextMate 2 Alpha

2013:Sublime Text 3 Beta

2017:Sublime Text 3

2019:TextMate 2

下圖是其穩(wěn)定主版本的發(fā)布時間(對比 BBEdit 10 到 13 版本的發(fā)布日期):

從這個圖上,我們立即就能得出兩個結論:

TextMate 2 花了很長時間。

Sublime Text 與發(fā)布時間表保持一致。

對 Sublime Text 的抱怨似乎是因為 2013 年發(fā)布 Sublime Text 3 測試版和 2017 年正式發(fā)布之間的時間差,以及在此期間沒有足夠多的變化。與 BBEdit 發(fā)布了三個主版本(11、12 和 13 相比,Sublime Text 的發(fā)布計劃要慢一些,而 Sublime Text 3 還處于 Beta 測試階段。盡管 Coda 2 在 2012 年就發(fā)布了,但從那以后就沒有更新過,所以對一個商業(yè)文本編輯器來說,不知道 Sublime Text 的發(fā)布時間表是否真的很反常。

VS Code 的當前版本是1.49,但 VS Code 是開源的,所以它遵循的規(guī)則與商業(yè)應用程序不同。至少在一定程度上,主版本的存在是為公司提供升級收費的機會。 由于 VS Code 是公開開發(fā)的,所以我們可以通過回顧它的提交歷史來直接評估它的開發(fā)速度。從 VS Code 在 GitHub 上的提交圖能看到其活躍的開發(fā),領先 Atom 以及其他大型開源項目(比如 Facebook 的 React)。注意,這些圖 Y 軸的尺度差異。 Visual Studio Code 提交圖

Atom 提交圖

React 提交圖

積極的開發(fā)可以保證平臺始終處于領先地位,因為其發(fā)展勢頭和第三方基于平臺進行構建這兩者相結合讓其他同類軟件很難與之競爭。同時,這種結合使得新進入者很難與流行的瀏覽器或操作系統(tǒng)競爭。 5 小結 VS Code 表明,文本編輯器短暫處于統(tǒng)治地位的時代已經(jīng)結束。如果我們用其他類別中的流行軟件為參照,那么它有潛力在很長一段時間內(nèi)保持其作為最受歡迎的文本編輯器的地位,可能是幾十年。

在用 VS Code 前,我希望再也不學習除了 Emacs 或 Vim 之外的通用文本編輯器,這太冒險了。我發(fā)現(xiàn)一個很好的預測方法,那就是假設事情保持不變;對于文本編輯器,這就意味著每隔幾年就會出現(xiàn)一個新的文本編輯器,它將獲得最大的發(fā)展勢頭。

責任編輯:xj

原文標題:VS Code會“一統(tǒng)江湖”嗎?

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 文本編輯器
    +關注

    關注

    0

    文章

    28

    瀏覽量

    8100
  • 編輯器
    +關注

    關注

    1

    文章

    800

    瀏覽量

    31057

原文標題:VS Code會“一統(tǒng)江湖”嗎?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    樹莓派gui開發(fā)用什么ide

    )。以下是一些常見的IDE及其特點: Visual Studio Code (VS Code) 簡介 :VS Code 是一款輕量級但功能強
    的頭像 發(fā)表于 08-30 16:49 ?603次閱讀

    Microchip發(fā)布面向VS Code的MPLAB擴展早期體驗版本

    為充分利用Microsoft Visual Studio Code (VS Code) 的多功能性,Microchip Technology(微芯科技公司)發(fā)布面向VS
    的頭像 發(fā)表于 08-28 10:01 ?478次閱讀

    VS Code在ESP_IDE終端輸入idf.py set-target esp32s3報錯的原因?

    VS Code在ESP_IDE終端輸入idf.py set-target esp32s3 報錯 報錯信息為 ———————————————————————— Adding \"
    發(fā)表于 06-05 07:55

    芯海 32 位 MCU 開發(fā)調(diào)試 ,基于 VS Code 插件實現(xiàn)芯海 32 位 MCU 開發(fā)調(diào)試

    編譯器命令行參數(shù)、GCC 鏈 接腳本、JLink 配置等,而且在推廣和移植時也會遇到比較多的問題。因此我們開發(fā)了基于 VS Code 的插件,目的是統(tǒng)一開發(fā)工具、簡化用戶操作、提高開發(fā)效率,不需要學習
    發(fā)表于 05-16 10:46

    VS CodeVS Codium之間的區(qū)別有哪些?你選哪個?

    VS Codium 是一個 VS Code 的克隆版本,百分之百免費且開源。
    的頭像 發(fā)表于 02-23 15:28 ?1487次閱讀
    <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>和<b class='flag-5'>VS</b> Codium之間的區(qū)別有哪些?你選哪個?

    Simplicity Studio 5擴增功能支持以VS Code開發(fā)

    隨著SimplicityStudio 5 (SSv5) 5.6.0.0版本的發(fā)布,SiliconLabs(亦稱“芯科科技”)已經(jīng)引入了針對Visual Studio CodeVS Code)作為
    的頭像 發(fā)表于 01-29 10:34 ?844次閱讀
    Simplicity Studio 5擴增功能支持以<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>開發(fā)

    三星顯示器公司CEO榮任韓國顯示器產(chǎn)業(yè)協(xié)會會長

    據(jù)相關行業(yè)消息,韓國顯示器產(chǎn)業(yè)協(xié)會任命崔周善為新任會長,崔周善被任命為協(xié)會會長,沿襲了三星顯示器和LG顯示器的會長輪流擔任協(xié)會會長的慣例。
    的頭像 發(fā)表于 01-22 11:25 ?785次閱讀

    Visual Studio和VS Code有哪些不同?

    在軟件開發(fā)領域,選擇合適的集成開發(fā)環(huán)境(IDE)對于開發(fā)者至關重要。
    的頭像 發(fā)表于 01-08 09:36 ?4093次閱讀

    vs1053模塊怎么接喇叭

    VS1053模塊是一種音頻解碼芯片,可用于播放音頻文件。它具有多種接口選項,包括I2S,SPI和UART。要連接喇叭到VS1053模塊,你需要以下幾個步驟。 第一步是選擇合適的喇叭。喇叭有多種
    的頭像 發(fā)表于 01-03 17:45 ?2077次閱讀

    如何設置VS代碼配置來調(diào)試嵌入式處理器

    如果您開始使用Visual Studio CodeVS Code)開發(fā)嵌入式軟件,馬上需要回答的一個問題是:“如何調(diào)試我的代碼?”在微控制器(MCU)供應商提供的使用Eclipse的IDE中,調(diào)試
    的頭像 發(fā)表于 12-05 11:08 ?1291次閱讀
    如何設置<b class='flag-5'>VS</b>代碼配置來調(diào)試嵌入式處理器

    教你如何開發(fā)VS Code插件?

    由于之前的國際化的項目中總是要統(tǒng)計老項目中待翻譯的內(nèi)容,然后再交由業(yè)務進行翻譯,如果總是人為統(tǒng)計不僅相當耗費精力和時間,而且還不能保證是否有遺漏,因此想通過編寫一個 i18n-helper 插件來實現(xiàn)這個功能。
    的頭像 發(fā)表于 11-27 10:51 ?1271次閱讀
    教你如何開發(fā)<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件?

    code blocks怎么調(diào)試

    Code::Blocks是一個功能強大的集成開發(fā)環(huán)境(IDE),主要用于C和C++編程。調(diào)試是開發(fā)過程中不可或缺的一部分,可以幫助開發(fā)人員找到代碼中的錯誤并進行修復。Code::Blocks提供了
    的頭像 發(fā)表于 11-26 10:26 ?2287次閱讀

    codeblocks相比vs有什么優(yōu)勢

    Code::Blocks和Visual Studio(VS)都是流行的集成開發(fā)環(huán)境(IDE),用于編寫和調(diào)試各種編程語言的應用程序。雖然它們在很多方面相似,但它們也有一些區(qū)別,每個工具都有其各自
    的頭像 發(fā)表于 11-26 09:52 ?2909次閱讀

    Code Blocks設置語言的方法

    Code Blocks是一款開源的跨平臺集成開發(fā)環(huán)境(IDE),它支持多種編程語言,并提供了一些強大的功能和工具,使得代碼編寫和調(diào)試更加便捷和高效。其中一個重要的功能就是設置代碼塊的語言類型,以便
    的頭像 發(fā)表于 11-26 09:49 ?2746次閱讀

    MCUXpresso for VS Code保姆式教程免費送!

    背景 NXP 在 2023 年 7 月 31 日正式發(fā)布了 MCUXpresso for VS Code? 插件,使得廣大的 VS Code 用戶可以在熟悉的代碼編輯環(huán)境中,快速開發(fā)基
    的頭像 發(fā)表于 11-16 08:55 ?1155次閱讀
    MCUXpresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>保姆式教程免費送!