首頁 > 後端開發 > Python教學 > 如何在 Python 中設定 VSCode 自動格式化和 Linting

如何在 Python 中設定 VSCode 自動格式化和 Linting

Barbara Streisand
發布: 2025-01-08 18:14:42
原創
220 人瀏覽過

How to Configure VSCode for Auto Formatting and Linting in Python

VSCode Python 程式碼自動格式化和程式碼檢查設定指南

VSCode 以其靈活性和強大的功能成為許多 Python 開發者的首選程式碼編輯器,但它只是眾多程式碼編輯和自動化工具之一。根據工作流程的不同,開發者可能更喜歡 PyCharm、Sublime Text 甚至 Vim 等其他 IDE 或編輯器。本指南重點介紹 VSCode,示範如何設定自動格式化和程式碼檢查,但類似的原則也適用於其他工具。

Python 開發者追求簡潔易讀的程式碼,而 VSCode 等工具則透過自動格式化和程式碼檢查簡化了這個過程。在本指南中,我們將向您展示如何使用設定檔和 CLI 命令來設定 VSCode 以進行 Python 格式化和程式碼檢查,以確保自動化並避免手動介入。

為什麼需要自動格式化和程式碼檢查?

  • 自動格式化 確保程式碼風格一致,遵循 PEP 8,並節省手動調整的時間。
  • 程式碼檢查 可儘早辨識語法錯誤、未使用匯入和其他潛在問題。

兩者共同有助於維護高品質的程式碼並減少錯誤。

格式化和程式碼檢查所需的工具

為了有效地格式化和檢查 Python 程式碼,您需要以下工具:

Black (格式化工具)

  • 用途: Black 是一款功能強大的程式碼格式化工具,可自動確保程式碼風格一致,並遵循 PEP 8 規格。
  • 主要功能: 簡化程式碼格式化,無需手動調整。
  • 安裝: 運行 pip install black

pylint (程式碼檢查工具)

  • 用途: pylint 分析 Python 程式碼以識別錯誤,強制執行編碼標準,並突出顯示潛在問題,例如未使用匯入或未定義變數。
  • 主要功能: 偵測錯誤並強制執行最佳實務。
  • 安裝: 運行 pip install pylint

使用 Black 和 pylint 自動化設定

為了進一步簡化您的工作流程,您可以將 VSCode 配置為在儲存時自動格式化和檢查程式碼。這消除了手動檢查的需要,並確保您的程式碼在無需額外努力的情況下保持一致。

啟用儲存時的自動格式化和程式碼檢查

將以下選項加入您的 settings.json 檔案:

<code class="language-json">{
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  }
}</code>
登入後複製
  • "editor.formatOnSave":儲存檔案時自動格式化程式碼。
  • "editor.codeActionsOnSave":儲存時執行所有可用的程式碼檢查修復,確保自動解決任何識別出的問題。

您可以使用 settings.json 設定檔定義格式化和程式碼檢查首選項,而無需手動調整 VSCode 設定。

以程式設計更新 VSCode 設定

在您的 .vscode 目錄中建立或更新 settings.json 檔案:

<code class="language-json">{
  "python.formatting.provider": "black",
  "editor.formatOnSave": true,
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": true,
  "python.formatting.blackArgs": ["--line-length=79"],
  "python.linting.pylintArgs": ["--disable=C0114,C0115,C0116"]
}</code>
登入後複製
登入後複製

這將啟用 Black 作為格式化工具,將行長設為 79 個字符,啟用 pylint 代碼檢查,並停用特定的文件字串警告。

新增推薦的擴充

為了增強團隊範圍內的程式碼一致性並確保所有成員都使用必要的工具,您可以直接將 extensions.json 檔案新增至您的專案:

<code class="language-json">{
  "recommendations": [
    "ms-python.python",
    "ms-python.black-formatter",
    "ms-python.pylint"
  ]
}</code>
登入後複製

將此檔案儲存在 .vscode 目錄中,命名為 extensions.json

設定檔的視覺化表示

以下是文件及其用途的細分:

文件 用途
.vscode/settings.json 定义项目特定的格式化和代码检查行为设置。
.vscode/extensions.json 推荐团队范围内的开发 IDE 扩展。

目錄結構範例

<code>.vscode/
├── settings.json   # 配置格式化和代码检查行为
├── extensions.json # 推荐 VSCode 扩展</code>
登入後複製

測試您的設定

格式化和程式碼檢查範例

  1. 程式碼問題:
<code class="language-python">   import os

   def example_function():
           print ( "Hello World" )
   print(undefined_variable)</code>
登入後複製
  1. 運行 Black 後:
<code class="language-python">   import os

   def example_function():
       print("Hello World")

   print(undefined_variable)</code>
登入後複製
  1. 運行 pylint 後:會標記以下警告:
    • 未使用的導入:os
    • 未定義的變數:undefined_variable

結合使用 Black 和 pylint

為什麼要結合使用 Black 和 pylint?

  • Black 自動確保一致的格式並遵循 PEP 8。
  • pylint 識別程式碼問題(例如未使用導入、未定義變數)並強制執行編碼標準。

使用這兩種工具的工作流程

更新 settings.json

<code class="language-json">{
  "python.formatting.provider": "black",
  "editor.formatOnSave": true,
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": true,
  "python.formatting.blackArgs": ["--line-length=79"],
  "python.linting.pylintArgs": ["--disable=C0114,C0115,C0116"]
}</code>
登入後複製
登入後複製

結論

使用 settings.json 和 CLI 指令設定 VSCode 進行自動格式化和程式碼檢查,可確保無縫且一致的開發工作流程。透過避免手動步驟並利用自動化,您可以專注於編寫高品質的 Python 程式碼,而無需擔心格式化或程式碼檢查問題。

祝您程式愉快!

以上是如何在 Python 中設定 VSCode 自動格式化和 Linting的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板