Python 语法检查、格式化工具 Ruff 的各项配置
一、配置文件
文档:
Ruff setttings
Ruff supports over 800 lint rules
Ruff extension for Visual Studio Code
1.1 配置文件的位置和优先级
- Ruff支持
pyproject.toml
、ruff.toml
和.ruff.toml
三种文件(同时出现时,右边的优先级高); - 最近的配置文件生效,父级的将被忽略;
- 可使用 extend 继承其他配置;
- 命令行指定参数时,会覆盖配置文件中的选项(即命令行优先级更高);
- 可使用
target-version = "py38"
语法来指定目标 Python 版本,以避免 Ruff 对当前版本不支持的特性报错。 - 当
select
和ignore
冲突时,前缀最长的生效。
1.2 VSCode 中 Ruff 插件和 pip Ruff 包的作用
VSCode
中Ruff
的插件提供了可视化的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"] | 忽略的规则 |
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)