简介
ruff 是由 astral-sh 用 Rust 编写的 python linter 和代码格式化工具,用于分析或格式化 Python 代码,查找代码中潜在的错误和不符合最佳实践的地方。
它开箱即用,支持 3.7 及以上的 Python,比现有的 Python linter (如 Flake8 )和 Python 格式化程序(如 Black )要快 10 倍以上,是 Flake8 和 Black 的直接替代品。
快速上手
1.安装并启动 ruff:
eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd
x env use ruff # 使用 x-cmd 安装 ruff
2.使用 ruff 处理当前项目或目录下的 python 代码:
ruff check # 检查 python 代码
ruff check --fix # 修复检查出来的问题
ruff check /path
ruff format # 格式化 python 代码
3.调整 ruff 的默认配置,自定义 Ruff 的行为:
- 配置文件:Ruff 会选择文件的目录或任何父目录中第一个查找到的 pyproject.toml、ruff.toml 或 .ruff.toml 文件作为首选配置文件。
- lint 规则:Ruff 支持超过 800 条 lint 规则,其中部分规则可能显得过于严格或仅适用特定框架,你需要根据项目的需求选取合适的规则集。
功能特点
- 速度极快:Ruff 以高性能著称,适合在 CI/CD 管道中使用,或者在开发过程中提供即时反馈。
- 功能丰富:包括但不限于检查代码风格、检测或修复错误和安全问题、格式化代码。
- lint 规则:支持超过 800 条 lint 规则,开发者可以根据项目的需求启用或禁用特定的 lint 规则。
- 与多种 IDE 集成:包括 VSCode、Neovim、Vim、Helix、PyCharm、Emacs 等。
- 跨平台:支持主流的操作系统,包括 Linux、macOS 和 Windows。
竞品和相关项目
- Flake8:一个基于 Python 的代码检查工具,集成了 PyFlakes、pycodestyle(之前叫做 pep8)和 McCabe Complexity Checker。它可以检查代码错误、代码风格和复杂度,并提供详细的输出和建议。
- Black:一个自动代码格式化工具,它会自动格式化 Python 代码以符合规范,并保持一致的代码风格。
- Pylint:一个功能强大的 Python 代码静态分析工具,它可以检查代码中的错误、代码风格和一致性,并提供详细的输出和建议。它与 Ruff 执行不同的规则集,两者不能互相替代。
- ruff-pre-commit:Ruff 的一个插件,能在每次 Git 提交时自动运行 Ruff,以确保代码在提交到版本控制之前符合质量标准。
进一步阅读
- Ruff GitHub - Ruff 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 Ruff 和参与社区贡献。
https://github.com/astral-sh/ruff - Ruff 官网文档 - Ruff 的官方文档提供了详细的指南和参考,包括 Ruff 的基本概念、命令用法。
https://docs.astral.sh/ruff/
更多内容请查阅 :
ruff | x-cmd pkg | 一个非常快的 Python linter 和代码格式化程序转载请标明原文链接 :
https://www.x-cmd.com/pkg/ruff