W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
VS Code上的 Python 語言插件,是VS Code插件市場(chǎng)中下載量最大的一個(gè)插件。它最初是一個(gè)社區(qū)項(xiàng)目,在開發(fā)了兩年后,作者 Don Jayamanne 加入了微軟,從而將這個(gè)項(xiàng)目正式升級(jí)為微軟的官方維護(hù)項(xiàng)目。它的下載地址如下:https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
Python 插件現(xiàn)在的維護(hù)地址是 https://github.com/Microsoft/vscode-python ,你可以看到這個(gè)項(xiàng)目是從 https://github.com/DonJayamanne/pythonVSCode fork過來的。現(xiàn)在所有的反饋和支持都是在微軟的這個(gè) fork repository 上,希望大家不要搞混了。
Python 插件支持絕大多數(shù)主流的 Python 版本,但是 macOS 用戶要注意一點(diǎn),系統(tǒng)自帶的 Python 并不在支持之列,你可以使用 homebrew 重新安裝一個(gè)版本。
同時(shí),在安裝了 Python 之后,你需要將 Python 的地址添加到環(huán)境變量 PATH 中。這里你可以參考文檔查詢更多的關(guān)于 Python 安裝的指導(dǎo)。
安裝完 Python 和這個(gè)插件后,當(dāng)你第一次打開 Python 文件時(shí),VS Code就會(huì)在本地系統(tǒng)查找 Python 解釋器。如果沒有安裝合適的 Python 的話,VS Code就會(huì)給出錯(cuò)誤提示。比如在 macOS 上,如果沒有額外安裝 Python,你就會(huì)看到下面的錯(cuò)誤提示。
然后你可以通過點(diǎn)擊 “Select Python Interpreter” 來選擇合適的 Python 解釋器。當(dāng)你選擇完正確的 Python 解釋器后,Python 插件則會(huì)提示你安裝它需要的 packages。
你按需安裝或者禁用這個(gè)功能即可。
在狀態(tài)欄的最左側(cè),就能夠看到當(dāng)前使用的 Python 解釋器,你可以通過點(diǎn)擊這個(gè)按鈕進(jìn)行切換。
說到 Python 插件的語言支持,就不得不提 Visual Studio 和 IronPython。IronPython 是 Python 的一個(gè)開源實(shí)現(xiàn),它能夠運(yùn)行在 .NET 環(huán)境之上。Visual Studio 對(duì) IronPython 就有很好的智能語言支持,而它的語言支持的代碼是開源的。這也是VS Code上的 Python 插件在使用的語言服務(wù)。
無論是自動(dòng)補(bǔ)全,還是參數(shù)提醒、代碼跳轉(zhuǎn)等,都可以進(jìn)行,可以說這個(gè)語言服務(wù)還是很成熟的。
Python 插件會(huì)自動(dòng)讀取本地的各種 Python packages,然后為你提供智能提醒。而這里特別值得一提的是,如果你有一些第三方的 Python 腳本,但是它們并沒有被VS Code的 Python 插件所識(shí)別,而你又希望能夠獲得它們的智能提示,那你可以通過添加如下的配置來實(shí)現(xiàn):
"python.autoComplete.extraPaths": [
]
JSON
Python 插件就會(huì)分析 python.autoComplete.extraPaths 下的所有文件夾,然后分析這些代碼,并且提供 IntelliSense。
Python 插件默認(rèn)是使用 autopep8 來進(jìn)行代碼的格式化,同時(shí)也支持 black 和 yapf,你可以通過 python.formatting.provider 來進(jìn)行格式化工具的選擇。
當(dāng)你第一次使用格式化文件(Format Document)時(shí),如果你本地并沒有安裝對(duì)應(yīng)的格式化工具的話,VS Code會(huì)提出警告。
我建議你打開 editor.formatOnSave 或者 editor.formatOnType ,對(duì)代碼進(jìn)行及時(shí)的格式化。因?yàn)榇a格式不對(duì)而無法運(yùn)行 Python 腳本可是十分頭疼的。
此外,你還可以通過 python.formatting.autopep8Args、python.formatting.yapfArgs或者 python.formatting.blackArgs 來調(diào)整格式化參數(shù)。
默認(rèn)情況下,VS Code會(huì)在你保存 Python 文件時(shí)進(jìn)行代碼檢測(cè),然后將錯(cuò)誤顯示在問題面板中。
默認(rèn)使用的代碼檢測(cè)工具是 Pylint。如果你希望使用其他的 Linter,最佳的方法是,打開命令面板,搜索 Python: Select Linter 執(zhí)行,然后選擇你想要的 Linter。
你也可以直接修改設(shè)置來進(jìn)行選擇,不過要相對(duì)復(fù)雜一些,具體則可以參考相關(guān)文檔。
Python 是解釋型語言,無需編譯即可運(yùn)行。你可以在編輯器內(nèi)右擊打開上下文菜單,然后選擇 “在終端中運(yùn)行 Python 文件” 來執(zhí)行腳本,VS Code就會(huì)使用你指定的 Python 解釋器來執(zhí)行這個(gè)文件。
你也可以選擇部分文本,然后將它們?cè)诩山K端中運(yùn)行。
Python 代碼的調(diào)試,并不需要安裝其他的腳本或者工具,只要你選擇了合適的 Python 解釋器即可。和前面專欄介紹的 Node.js 調(diào)試一樣,如果沒有 launch.json 的話,VS Code會(huì)默認(rèn)調(diào)試當(dāng)前文件。
當(dāng)你為 Python 工程創(chuàng)建 launch.json 時(shí),Python 插件會(huì)自動(dòng)提供多種不同的模板,比如在集成終端中調(diào)試當(dāng)前文件,Attach 到某個(gè)正在運(yùn)行的 Python 腳本上,調(diào)試 Python 模塊,調(diào)試 Django 等等。
相信你還記得,在介紹調(diào)試器 launch.json 的書寫時(shí),我提到過,各個(gè)調(diào)試器的配置選項(xiàng)都不完全相同,如果 Python 調(diào)試的模板不能滿足你的需求,你可以通過相關(guān)文檔來了解 Python 插件都支持哪些調(diào)試參數(shù)。
Python 插件既支持 Python 自帶的 unittest,同時(shí)也支持 pytest 和 Nose。在安裝了對(duì)應(yīng)的 Python package 后,你可以從命令面板里執(zhí)行 Python: Discover Unit Tests 命令,Python 插件就會(huì)依次問以下問題:
在測(cè)試被成功找到后,你能夠看到測(cè)試文件里,每個(gè)測(cè)試的上面都有兩個(gè)快捷操作 Run Test 和 Debug Test,你可以點(diǎn)擊它們進(jìn)行測(cè)試的執(zhí)行。
你也可以在狀態(tài)欄上找到一個(gè)按鈕Run Tests,點(diǎn)擊選擇運(yùn)行所有測(cè)試。
測(cè)試執(zhí)行完后,你能在狀態(tài)欄上看到測(cè)試的結(jié)果。
當(dāng)然,真正發(fā)揮VS Code威力,還是通過 “Debug Test” 來調(diào)試某個(gè)單獨(dú)的測(cè)試。你只需設(shè)置斷點(diǎn),點(diǎn)擊 Debug Test 即可進(jìn)入調(diào)試狀態(tài)。
雖然 Python 插件在維護(hù)了接近三年后,已經(jīng)非常成熟了,但是我覺得還有一個(gè)問題很值得一提的。
Windows 10 現(xiàn)在支持了 Linux Subsystem,你可以在這個(gè) Linux 系統(tǒng)中使用 Python 和各種只能在 Linux 上使用的 package。但是受限于VS Code的支持,Python 插件還不能很好地識(shí)別和加載 WSL 里的 Python 環(huán)境,如此一來,你就沒法使用VS Code和 Python 插件的各種功能了。不過好在VS Code團(tuán)隊(duì)已經(jīng)在研究解決方案了。
另外,Python 插件最振奮人心的消息就是微軟加大了對(duì)它的投資,從最開始的一個(gè)個(gè)人項(xiàng)目,到微軟的官方項(xiàng)目,再到微軟請(qǐng)來了 Python 的核心開發(fā)者Brett Cannon擔(dān)任 Python 語言支持的領(lǐng)導(dǎo)工作,所以可以預(yù)見:無論是在VS Code上,還是 Visual Studio 上,Python都會(huì)有不錯(cuò)的前景。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: