VS Code 設定Python linter 與formatter:以Flake8、yapf 為例 | pylint vscode設定
替代方案——Ruff:Python開發:RuffLinter、Formatter介紹+設定教學[1]相關文章:在〈Flake8與isortinVSCode[2]〉中提到了Python的linter——pylint與Flake8,今天就來說明linter與formatter的具體設定方法。不得不說,善用linter與formatter,無疑是Python程式開發的起手式。尤其在多人協作的時候,想深入要求每個人的寫作習慣很難,但至少在排版風格上,能藉由工具能達到基本的統一。前言:場景與需求最近幾個月陸續加入了兩位開發同事,開始有了codereview的需求,說真的在程式寫作習慣差異不小的前提下進行review,對雙方往往都很辛...
替代方案——Ruff:Python 開發:Ruff Linter、Formatter 介紹 + 設定教學[1]
相關文章:
在〈Flake8 與 isort in VS Code[2]〉中提到了 Python 的 linter——pylint 與 Flake8,今天就來說明 linter 與 formatter 的具體設定方法。
不得不說,善用 linter 與 formatter,無疑是 Python 程式開發的起手式。尤其在多人協作的時候,想深入要求每個人的寫作習慣很難,但至少在排版風格上,能藉由工具能達到基本的統一。
前言:場景與需求最近幾個月陸續加入了兩位開發同事,開始有了 code review 的需求,說真的在程式寫作習慣差異不小的前提下進行 review,對雙方往往都很辛苦。
而讓每一位成員的程式碼都起碼合乎 linter 的檢查與 formatter 的格式,則多少可以消彌彼此的差距,降低痛苦,減少不必要的消耗,讓我們可以把 review 的主要精力放在實作邏輯的合理性上。
所以把 linter 和 formatter 作為團隊開發的標配,再基本不過,於是我把這部分的設定寫成團隊文件供新成員參考,本文即以該文件為基礎並加上大量的文字說明。
本文主旨主要介紹 linter 與 formatter 的定義與功能,並闡述如何在 VS Code 中設定好 Python 開發時,所需要的 linter 與 formatter。
Linter 部分以最常見的 Flake8 為例,介紹其功能與使用方法。Formatter 部分則選用 Google 出品的 yapf,同時會比較和其餘兩個 formatter 在格式化結果上的差異。
什麼是 linter?Linter 或 lint[3],主要功能是對程式進行靜態分析[4]——在程式未執行情況下檢查出潛在的語法錯誤。我直接引用前文[5]的描述:
Linter,就是協助你檢查程式語法正確性的工具,大部分程式語言都有屬於自己的 linter,而 Python 最常見的 linter 不外乎pylint、pep8(現為 pycodestyle[6]) ...