VS Code是否已成為Python的最佳IDE?
微軟和Python可能是一對不太可能的夫妻,但它們正在蓬勃發(fā)展。
Visual Studio Code是一個模塊化的代碼編輯器,所以擴(kuò)展是必須的。你可以使用它們來獲得諸如語言編譯器之類的必需品,以及諸如代碼格式化程序,lint和事件探查器之類的有用工具。仔細(xì)觀察,你甚至?xí)业奖砬榉栔С值臄U(kuò)展程序。
VS Code的市場上擁有大約2萬個擴(kuò)展程序。但多年來,一直有一個無可爭議的擴(kuò)展占據(jù)著排行榜的主導(dǎo)地位。Python語言擴(kuò)展是最受歡迎的VS Code擴(kuò)展,其下載量是其最接近的競爭對手的近兩倍(2,300萬,并且還在繼續(xù)增長):
Python的廣泛流行已經(jīng)不是什么秘密了。但是Python在其自己的編輯器中超過了微軟自己的語言的流行程度,這是一個不小的成就,這也是五年前似乎不可能實現(xiàn)的發(fā)展。那時,微軟還在擺脫公司老古董的名聲,一個與垂死的桌面軟件世界聯(lián)系在一起的公司,沉迷于過去的開發(fā)工具,完全不能很好地使用別人的技術(shù)。該公司在開源軟件世界中尤其受到鄙視。 (將開源稱為社會主義癌癥可能無濟(jì)于事。)
如果說有什么東西能展示微軟的新自我,那就是Python。
Python如何融入VS Code
微軟早期支持Python的嘗試幾乎被忽略了。IronPython是一個建立在.NET上的Python版本,在微軟公司維護(hù)了幾年,然后他們放棄了努力,把它交給了社區(qū)。Steve Dower,一個為Visual Studio工具開發(fā)早期Python工具的開發(fā)人員,描述了他是如何在公司工作了半年,直到隔壁的開發(fā)人員相信微軟甚至有一個Python團(tuán)隊。
隨著VS Code的出現(xiàn),情況開始發(fā)生變化。最初,VS Code是一個使用JavaScript和TypeScript進(jìn)行Web開發(fā)的工具。但是它的語言擴(kuò)展迅速增加,最初的Python擴(kuò)展是在微軟之外建立的,由一個開發(fā)者維護(hù),微軟直到2017年年底才將其接過來。
今天,VS Code是任何類型的最流行的代碼編輯工具之一:
很容易想象下載VS Code的Python擴(kuò)展的人是相對初學(xué)者,而經(jīng)驗豐富的Python專業(yè)人士堅持使用重量級ide,如PyCharm或Spyder。但事實似乎也并非如此。
PyCharm的創(chuàng)建者JetBrains與Python開發(fā)人員進(jìn)行了自己的年度調(diào)查。他們的2019年結(jié)果顯示,VS Code緊隨更成熟的IDE之后。在經(jīng)常被人津津樂道的數(shù)據(jù)科學(xué)領(lǐng)域,VS Code擁有23%的開發(fā)者,而PyCharm則為28%:
如果將其與兩年前的結(jié)果進(jìn)行比較,這就更令人印象深刻了,當(dāng)時VS Code的采用率還難以達(dá)到7%。(相比之下,Visual Studio的Pythons工具,為Visual Studio的完整版本而構(gòu)建,后來被整合到產(chǎn)品中,仍然在排行榜上,只有1%的Python程序員使用。)
承諾發(fā)力的跡象
有很多理由懷疑微軟對Python的承諾。該公司以熱衷于采用一個新的方向,但幾年后又放棄這個方向而聞名。他們后面有一個墓地,里面堆滿了已棄用的技術(shù),而且已經(jīng)滿了。
任何公司都沒有無限的資源,微軟已經(jīng)在支持自己的快速變化的語言,比如C#、F#和TypeScript。事實上,他們正在遠(yuǎn)離曾經(jīng)流行的Visual Basic語言,讓它在沒有適當(dāng)?shù)腣S Code支持的情況下茍延殘喘。這使得更有趣的是——與此同時微軟正在加深對外部語言的支持。這明顯偏離了他們“那不是這里發(fā)明的”的歷史文化。但如果Python不再是數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的首選語言,誰又能說微軟的注意力是否也會消失呢?
對于這個問題沒有好的答案,除了最近的歷史:Python仍然非常流行,微軟已經(jīng)關(guān)注該語言好幾年了。以下是微軟針對Python支持宣布的一些最新舉措:
- Pylance。Python擴(kuò)展一直都有智能感知支持。但是微軟新的Python語言服務(wù)器要快得多,并且對輸入和核心Python庫有更深的理解。這也是多年來的第二次重啟。
- Native Notebooks。微軟正在預(yù)覽一個新的數(shù)據(jù)科學(xué)Notebooks的本地實現(xiàn)。它可以干凈利落地集成在VS Code中,并提供顯著改善的性能。
- PyTorch for Windows。微軟最近從Facebook接手了流行的機器學(xué)習(xí)庫的開發(fā)和維護(hù)工作。這一切都保證了未來更好的整合。
- Visual Studio IntelliCode。這個基于人工智能的IntelliSense版本能夠理解你的代碼的上下文,并使用它來提出建議。微軟目前只為一些語言提供了它,包括C#/C++、TypeScript/Java和Python。

這是一份令人印象深刻的改進(jìn)清單。但最顯著的事實是,它們都是在上個月宣布的。
那么,這一切給我們今天帶來了什么呢?投資PyCharm的單語言Python程序員不太可能離開他們已經(jīng)熟悉的IDE。但是,VS Code具有兩個重要的優(yōu)點:
- VS Code是免費的。相比之下,PyCharm有一個免費且有限的社區(qū)編輯器,但能力更強的版本每年約200美元。
- VS Code是一個多語言編輯器。它的DNA里有多種語言。如果你期望在不同的項目和平臺之間切換,真的沒有更好的地方了。
其他的細(xì)節(jié),比如VS Code有更小的內(nèi)存占用和更快的啟動性能,更多的是個人品味的問題。它們可能根本不重要。但憑借成本和多語言支持的內(nèi)在優(yōu)勢,以及微軟不遺余力的改進(jìn)步伐,Python編程的未來似乎可以直達(dá)微軟的門口。