現已釋出!閱讀關於 11 月新增功能和修復的內容。

在 Visual Studio Code 中進行 Python 程式碼風格檢查

程式碼風格檢查會高亮顯示 Python 原始碼中的語義和風格問題,這通常有助於您識別和糾正細微的程式設計錯誤或可能導致錯誤的編碼實踐。例如,程式碼風格檢查可以檢測到未定義變數的使用、未定義函式的呼叫、缺少括號,甚至更微妙的問題,例如嘗試重新定義內建型別或函式。程式碼風格檢查與程式碼格式化不同,因為程式碼風格檢查會分析程式碼的執行方式並檢測錯誤,而程式碼格式化僅重新組織程式碼的外觀。

注意:Python 擴充套件的語言伺服器預設啟用了語法錯誤檢測。要了解如何配置語言伺服器,請參閱語言伺服器設定。本文件涵蓋了如何為其他程式碼檢測啟用程式碼風格檢查,包括風格檢查。

選擇一個程式碼風格檢查工具

VS Code Marketplace中搜索您選擇的程式碼風格檢查擴充套件。如果您願意,可以同時使用多個程式碼風格檢查工具。

Microsoft 為 Python 釋出了以下程式碼風格檢查擴充套件

程式碼風格檢查工具 擴充套件
Pylint https://marketplace.visualstudio.com/items?itemName=ms-python.pylint
flake8 https://marketplace.visualstudio.com/items?itemName=ms-python.flake8
mypy https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker

社群提供的程式碼風格檢查擴充套件

程式碼風格檢查工具 擴充套件
Ruff https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
mypy https://marketplace.visualstudio.com/items?itemName=matangover.mypy

注意:如果您在上面的表格或 Marketplace 中找不到首選的程式碼風格檢查工具,您可以透過擴充套件新增支援。您可以使用Python 擴充套件模板將新的 Python 工具整合到 VS Code 中。

通用設定

您可以參考每個程式碼風格檢查擴充套件的 README 檔案,瞭解有關支援的設定的更多詳細資訊。大多數程式碼風格檢查擴充套件支援以下設定

設定 預設值 描述
args [] 要傳遞給程式碼風格檢查工具的引數。注意:官方支援的程式碼風格檢查工具執行在單個開啟的檔案上。請確保您的配置在該場景下適用。
importStrategy useBundled 當設定為 useBundled 時,擴充套件程式將使用其自帶的版本。當設定為 fromEnvironment 時,它會嘗試首先從您選擇的 Python 環境載入,否則將回退到自帶的版本。
path "" 用於程式碼風格檢查的程式碼風格檢查工具二進位制檔案的路徑。注意:使用此選項可能會減慢程式碼格式化速度。
interpreter [] 當設定為 Python 可執行檔案的路徑時,擴充套件程式將使用該路徑來啟動程式碼風格檢查伺服器及其子程序。
showNotifications off 控制擴充套件程式顯示通知的時間。支援的值為 offalwaysonErroronWarning

停用程式碼風格檢查

程式碼風格檢查工具(如果已安裝)預設啟用。您可以透過在工作區中停用擴充套件來停用它們。

執行程式碼風格檢查

開啟或儲存 Python 檔案時,程式碼風格檢查將自動執行。

錯誤和警告顯示在問題面板中(⇧⌘M (Windows, Linux Ctrl+Shift+M)),並高亮顯示在程式碼編輯器中。將滑鼠懸停在帶下劃線的問題上會顯示詳細資訊。

Linting messages in the editor and the Problems panel

程式碼操作

一些程式碼風格檢查工具可能提供程式碼操作,有助於解決報告的問題。您可以參考您首選程式碼風格檢查擴充套件的“功能貢獻”部分,瞭解它提供的程式碼操作。

日誌

程式碼風格檢查工具的日誌可以在輸出面板中找到(⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H)),當您從下拉選單中選擇 <linter name> 時。

您可以透過從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))執行Developer: Set Log Level命令來更改程式碼風格檢查擴充套件的日誌級別。在Extension Logs組中選擇擴充套件,然後選擇所需的日誌級別。

嚴重性

程式碼風格檢查工具會報告一些預定義的嚴重性問題。這可以透過使用程式碼風格檢查工具的 severity 設定來更改。有關支援的值和嚴重性級別,請參閱每個程式碼風格檢查擴充套件的 README 檔案。

程式碼風格檢查的故障排除

問題 原因 解決方案
程式碼風格檢查擴充套件未報告任何問題。 未為您的工作區選擇任何 Python。 檢視您正在使用的程式碼風格檢查工具的日誌,並檢查它正在使用的 Python 環境的路徑。如果沒有選擇 Python,請從命令面板執行Python: Select Interpreter命令,然後為您選擇一個現有的直譯器。
顯示“您已棄用程式碼風格檢查或格式化設定”的通知 如果您看到此通知,則表示您在 VS Code 中設定了 python.lintingpython.formatting 等設定。Python 擴充套件已不再支援這些設定,因為程式碼風格檢查和格式化支援已遷移到工具擴充套件 透過開啟命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))並執行Preferences: Open User Settings (JSON)命令,找到這些設定在 VS Code 中的定義位置。如果它們不在您的使用者設定中,則執行Preferences: Open Workspace Settings (JSON)命令。然後刪除已棄用的設定。
注意:如果您正在使用遠端開發擴充套件包中的任何擴充套件,您也可以透過執行Preferences: Open Remote Settings (JSON)命令來檢查遠端設定。
即使我安裝了程式碼風格檢查擴充套件,程式碼風格檢查仍然不起作用。 程式碼風格檢查可能因不同原因而失敗,例如使用了不受支援的 Python 版本,或程式碼風格檢查工具配置不正確。請檢查程式碼風格檢查擴充套件的輸出通道,以瞭解程式碼風格檢查工具失敗的原因(從命令面板執行Output: Focus on Output命令,然後選擇程式碼風格檢查工具的輸出通道)。

後續步驟

  • 程式碼格式化 - 瞭解如何格式化您的 Python 程式碼。
  • 除錯 - 瞭解如何在本地和遠端除錯 Python。
  • 測試 - 配置測試環境以及發現、執行和除錯測試。
  • 基本編輯 - 瞭解功能強大的 VS Code 編輯器。
  • Python 擴充套件模板 - 建立一個擴充套件,將您喜歡的程式碼風格檢查工具整合到 VS Code 中。
© . This site is unofficial and not affiliated with Microsoft.