vscode進階:Python開發環境配置

vscode對於python的支持之前覺得是不太好的,比如代碼智能提示、補全、快速修復等都體驗都比較差,和CLion或者PyCharm有比較大的差距。
但是在2020年7月份微軟爲vscode發佈了新的語言服務器Pylance,體驗有比較大的提升,目前還是預覽版,還有比較多的改進空間,正式版值得期待。

一 必備插件

通過快捷鍵Ctrl+Shift+X打開擴展安裝界面,安裝需要的插件。

1 Python

安裝完插件後,打開python文件會自動提示選擇Python解析器。
也可以通過Ctrl+Shift+P打開命令面板輸入Select Interpreter來選擇需要的解析器。

安裝完Python插件後,也會提示安裝一些它所依賴的packages,可以按需都安裝上。

2 Pylance

強烈建議使用Pylance替代默認的Python語言服務器,它支持一些很棒的功能,比如:

  1. Docstrings
  2. 自動導入
  3. 類型檢查
  4. Code Lens
  5. IntelliCode 兼容性

設置如下:

{
    "python.languageServer": "Pylance"
}

二 推薦設置

1 設置code formatter爲yapf

它和默認使用的autopep8的不同之處在於它不僅會指出代碼中違反PEP8規範的地方,還會對沒有違反PEP8但代碼風格不一致的地方重新格式化,可以讓令代碼的可讀性更強。

設置步驟:

  1. 打開設置(Ctrl+ ,):搜索"formatting.provider"
  2. 選擇yapf,如果沒有安裝,vscode會發出提示,按提示安裝即可
  3. 也可以直接打開設置文件添加一行:"python.formatting.provider": "yapf",
  4. 使用方法:選中需要格式化的代碼,右鍵選擇格式化選定內容,快捷鍵:Ctrl + K, Ctrl + F或者Ctrl+Shift+I(macos爲Alt+Shift+F)
  5. 可以通過設置"python.formatting.yapfArgs"添加自定義的格式化參數

2 設置自動格式化

可以打開保存時和鍵入一行後立即進行代碼格式化,設置選項爲:

{
    "editor.formatOnSave": true,
    "editor.formatOnType": true
}

3 設置靜態代碼linter爲flake8

Flake8是由Python官方發佈的一款輔助檢測Python代碼是否規範的工具,它包含PEP8編碼風格檢查,代碼靜態檢查則是依託PyFlakes,相對於Pylint,其檢查規則靈活,擴展性更強一些。

設置步驟:

  1. 通過Ctrl+Shift+P打開命名面板,搜索Python: Select Linter選擇flake8即可
  2. 或者打開設置文件添加:"python.linting.flake8Enabled": true,

同時最好關閉Pylint,json設置如下:

{
    "python.linting.flake8Enabled": true,
    "python.linting.pylintEnabled": false,
}

4 自動補全設置

打開自動添加括號,在自動補全函數時,可以自動加上括號,提高效率:

{
    "python.autoComplete.addBrackets": true,
}

5 添加自動補全庫路徑

爲額外的Python庫支持自動補全,設置路徑:

{
    "python.autoComplete.extraPaths": []
}

6 添加分析路徑

添加額外導入路徑,設置:

{
    "python.analysis.extraPaths": []
}

這對於導入項目中一些自己實現的python文件很有幫助。

7 添加垂直參考線

Python的代碼風格要求代碼一行不超過79字符,所以我們可以給代碼編輯器設置一條垂直參考線,直觀判斷代碼是否太長,並且可以自定義參考線的顏色:

{ 
    "editor.rulers": [
        80,
    ],
    "workbench.colorCustomizations": {
        "editorRuler.foreground": "#ff4081"
    }
}

效果如下:

三 常用操作

1 自動導入

在使用到某個庫的時候,可以使用自動導入,並且導入的時候會選擇import語句插入的位置,保持import語句有序,如下演示:

2 排序import

在Python源文件中直接右鍵,選擇排序Import語句,vscode將會通過isort自動將import語句分組並排序,非常nice。

3 重構代碼

光標放到在函數名、參數名上按F2重構變量名。
如果沒有安裝重構工具rope,按提示安裝即可。

4 提取變量或方法

選擇一段代碼,將會出現一個小燈泡(Quick fix),點擊小燈泡即可選擇將所選代碼提取爲變量或者函數。
如下圖:

筆者目前在macos實測功能還有些不完美,期待後續能夠修復。

5 觸發參數提示

在調用函數的時候,vscode會自動彈出參數提示,可以通過ESC關閉,關閉後可以通過快捷鍵Ctrl+Shift+Space喚出。
但是這個快捷鍵可能會被輸入法佔用,可以修改綁定快捷鍵,通過快捷鍵Ctrl+K Ctrl+S打開快捷鍵設置窗口,搜索editor.action.triggerParameterHints,修改快捷鍵即可。

6 在終端運行選中代碼

運行腳本可以通過右鍵選擇在終端中運行Python文件,而如果要運行文件中的一小段代碼,可以通過選中需要運行的代碼,按快捷鍵Shift+Enter就可以了。

其實現的方式是通過終端運行Python,再在Python中執行對應代碼。

通過以上配置和相關知識,即可在使用vscode開發Python的時候獲取到良好的體驗。
本文是vscode系列文章之一,往期文章可以在文末閱讀下一篇,或者在公衆號首頁vscode話題中查看其他文章。

由於vscode對於python的支持在持續優化中,如果有新的好用的特徵,筆者會推出新的文章;
如果有朋友知道其他一些好用的配置,也歡迎通過公衆號給我留言分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章