Python 语法检查、格式化工具 Ruff 的各项配置

一、配置文件

文档:
Ruff setttings
Ruff supports over 800 lint rules
Ruff extension for Visual Studio Code

1.1 配置文件的位置和优先级

  1. Ruff支持 pyproject.tomlruff.toml.ruff.toml 三种文件(同时出现时,右边的优先级高);
  2. 最近的配置文件生效,父级的将被忽略;
  3. 可使用 extend 继承其他配置;
  4. 命令行指定参数时,会覆盖配置文件中的选项(即命令行优先级更高);
  5. 可使用 target-version = "py38" 语法来指定目标 Python 版本,以避免 Ruff 对当前版本不支持的特性报错。
  6. selectignore 冲突时,前缀最长的生效。

1.2 VSCode 中 Ruff 插件和 pip Ruff 包的作用

  • VSCodeRuff 的插件提供了可视化的Ruff检查与修正能力。
  • pip install ruff 后提供了命令行的检查和修正能力。

1.3 命令行常见用法

  • ruff check 检查语法
  • ruff check --fix 检查语法,并修复
  • ruff format 格式化代码

1.4 禁用警告

有些时候,我们一些代码写法不符合规范,但是自己确定要这样写,这个时候想消除 Ruff 告警的话,可以使用以下配置。

  • 单行禁用所有告警: # noqa
  • 单行禁用指定告警: # noqa: D400, D415
  • 文件禁用所有告警: # ruff: noqa
  • 文件禁用指定告警: # ruff: noqa: D400, D415

二、规则

2024-04-06 17:56:13 星期六

2.1 常用规则

类别 规则项 作用
Top-level extend = "../pyproject.toml" 继承配置文件
include = ["*.py"] linting 目标文件
extend-include = ["*.pyw"] 扩展 linting 目标文件
exclude = [".venv"] linting 排除文件
extend-exclude = ["tests", "src/bad.py"] 扩展 linting 排除文件
indent-width = 2 缩进
src = ["src", "test"] 定义源代码位置,以识别一方库
requires-python = ">=3.8" 指定目标版本
unsafe-fixes = true 是否启用不安全的自动修复选项
format docstring-code-format = true 开启文档字符串的格式化
line-ending = "lf" 行尾字符
quote-style = "single" 引号类型
lint select = ["E4", "E7", "E9", "F"] 默认启用的规则
extend-slect = ["D"] 用于扩展 select ,如果直接写在 select 中,会覆盖默认的 select ,所以如果只想在默认规则之上添加部分规则时,应该写在 extend-select 中。
ignore = ["F841"] 忽略的规则
posted @ 2024-04-06 17:03  那个白熊  阅读(181)  评论(0编辑  收藏  举报