Ruff :是一个用Rust编写的极快的 Python linter 和代码格式化程序

安装

pip install ruff
 

语法检查

要对代码运行 linter,我们使用

ruff check .

b370a1e7ff792564a98b43dca9d4cc02.png

如果你想在单个文件上运行它,请这样做

ruff check <filename.py>

总共有 415 个错误。其中 33 个可以修复!

9dcd89774e2b44ffd315ef6ec5f02d0b.png

为了修复它们,我们使用标志--fix,就像这样

ruff check --fix .

103418cece730c11b2cc7c1f044feddc.png

如您所见,已修复 33 个,剩余 383 个。

格式化

为了格式化,我们使用ruff format

ruff format .

a477fbf3d89b7bfed68f4acb255ac52a.png

您可能不会以这种方式使用 Ruff,并且您有一个编辑器,那么让我们看看如何设置它!

在 VS Code 中使用它

获取VSCode 扩展

现在,就像“修复所有可自动修复的问题”一样简单

a586d03ced5467a92494d79022da7c45.gif

但更好的是,您可以在保存时执行此操作。

保存时格式化

如果你希望 Ruff 自动修复 lint 违规、组织导入和保存格式,请转到你的settings.json文件

添加这个。

"[python]": {
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.organizeImports": "explicit"
  },
  "editor.defaultFormatter": "charliermarsh.ruff"
}

取决于您是否希望 Ruff在键入时或保存时运行 linting 。默认情况下,它是在键入时运行,但我更喜欢在保存时运行。

"ruff.lint.run": "onSave",

Jupyter 笔记本

通过该扩展,您可以使用命令来格式化、检查和组织笔记本中的导入内容。

5d16b3b1de0da18d94deebe5759a6e04.gif

要在保存时启用它,请添加以下内容。

"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
  "source.fixAll.ruff": true,
  "source.organizeImports.ruff": true
}

使用预提交

要使用预提交,可以按照以下方法添加Ruff 的预提交钩子

- repo: https://github.com/astral-sh/ruff-pre-commit
  # Ruff version.
  rev: v0.2.2
  hooks:
    # Run the linter.
    - id: ruff
      types_or: [ python, pyi, jupyter ]
      args: [ --fix ]
    # Run the formatter.
    - id: ruff-format
      types_or: [ python, pyi, jupyter ]

带有 CLI 的 Jupyter Notebook

如果你正在使用笔记本的 CLI,则必须转到或pyproject.tomlruff.toml并添加此行

extend-include = ["*.ipynb"]

更多集成

它支持许多其他集成。包括 Vim!

d786f287f7f4d5fb7f4227bac18f0def.png

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值