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

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


















 
 
 






 
 
 
 