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

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