操作系统
Windows 7
最近更新
2024-11-24
使用许可
开源
语言
不支持中文
文件大小
7.02 MB

Ruff是一个基于Python的代码检查工具,由astral开发。它可以帮助开发人员在编写Python代码时发现潜在问题并提供修复建议。

Ruff具有多种功能,包括代码检查、自动纠错等。它使用Rust编写的Python AST解析器,实现了自己的AST遍历、visitor抽象和lint规则逻辑。与其他工具相比,Ruff具有更快的速度和更高的性能,可以比Python的Flake8和Black快10-100倍。

此外,Ruff还支持通过pip安装、内置700+规则、兼容Python 3.12等功能,可以很容易地集成到现有的开发工作流程中。它还提供了实时反馈和自动修复建议,帮助开发人员更快地发现和解决问题。

0.4.0 版本更新说明:

全新的手写解析器

Ruff的新解析器运行速度提高了两倍以上,这意味着所有的linting(代码静态检查)和格式化调用都将获得20%-40%的性能提升。关于这一令人激动的变化,有很多细节可以讨论,因此请查阅博客文章以获取更多信息!


Rust编写的新语言服务器

随着此次发布,我们还想重点介绍我们的新语言服务器。ruff server是一个内置于Ruff的、由Rust驱动的语言服务器。它可以与任何支持语言服务器协议(LSP)的编辑器一起使用。它采用了受rust-analyzer启发的多线程、无锁架构,并将为许多令人兴奋的功能敞开大门。它还比我们之前基于Python的语言服务器更快——不过,你可能已经猜到了这一点。


虽然ruff server目前还处于alpha阶段,但它已经具备了许多今天就可以尝试的功能:

  • 自动对Python文件进行lint检查,并在可用时显示快速修复建议
  • 支持范围格式化的Python文件格式化功能
  • 带有用于快速执行操作的命令:ruff.applyAutofix、ruff.applyFormat和ruff.applyOrganizeImports
  • 支持source.fixAll和source.organizeImports源代码操作
  • 当您更改项目配置时,会自动重新加载项目配置


预览功能

[pycodestyle] 在具有虚拟主体的函数/方法之后的defs上不触发E3规则

[pylint] 实现invalid-bytes-returned(E0308)规则

[pylint] 实现invalid-length-returned(E0303)规则

[pylint] 实现self-cls-assignment(W0642)规则

[pylint] 忽略invalid-bool和invalid-str-return-type规则中的存根

[ruff] 新增unused-async(RUF029)规则,用于检测函数上不必要的async关键字


规则变更

[flake8-bandit] 允许urllib.request.urlopen调用具有静态Request参数(S310)

[flake8-bugbear] 将仅包含raise NotImplemented的函数体视为存根函数(B006)

[flake8-slots] 尊重相同文件中的Enum子类(SLOT000)

[pylint] 支持反向比较(PLR1730)


Linter(代码静态检查)

改进linter规则中内置符号的处理

改进--show-settings中规则的显示

改进BuiltinTypeChecker的推断能力

根据脚本名称解析类和函数

提高RuleTable::any_enabled的性能


服务器

本节专门介绍我们新编写的、基于Rust的语言服务器的更新。

启用针对ruff的特定源代码操作

当文件配置发生变化时,刷新打开文件的诊断信息

现在将重要错误显示为弹出窗口

引入用于直接配置linter和格式化的设置

单独为每个文档解析配置

为Neovim编写设置指南


配置

添加RUFF_OUTPUT_FILE环境变量支持


Bug修复

避免对非增强型赋值使用反向、非交换运算符(PLR6104)

将交换非增强型赋值限制为原始数据类型(PLR6104)

尊重RUF100对blanket # noqa的每文件忽略

考虑带项目的括号解析中的if表达式

考虑带项目的括号解析中的二元表达式

为所有类型的括号重置FOR_TARGET上下文

其他版本
最近更新软件·Windows 软件更新列表
哔哩哔哩直播姬 [网络] 哔哩哔哩直播姬 6.14.0.7992 64位
今天 06:38
JPEG Saver [美化] JPEG Saver 5.35 64位
今天 06:35
JPEG Saver [美化] JPEG Saver 5.35 32位
今天 06:34
NN加速器 [游戏工具] NN加速器 4.8.0.337 32位/64位
今天 06:28
Waterfox [网络] Waterfox 6.5.2 64位
今天 06:26
抖音 [网络] 抖音 5.0.3 32位/64位
今天 06:24
Thunderbird [网络] Thunderbird 133.0 64位
今天 06:21
Thunderbird [网络] Thunderbird 133.0 32位
今天 06:21
迅游网游加速器 [游戏工具] 迅游网游加速器 8.0.214.0 32位/64位
今天 06:19
K-Lite Codec Pack [媒体] K-Lite Codec Pack 18.7.0 32位/64位
今天 06:15
新软件·Windows 新软件列表
向日葵 [网络] 向日葵 15.8.0.17603 ARM64
昨天 01:26
亿图画板 [应用软件] 亿图画板 1.0.1 64位
昨天 00:47
亿图画板 [应用软件] 亿图画板 1.0.0 32位
昨天 00:46
Autodesk Arnold 2025 [设计] Autodesk Arnold 2025 7.3.0.0 64位
11-25
尼康远控 [系统工具] 尼康远控 2.2.0 64位
11-23
RadioMaximus [网络] RadioMaximus 2.33.5 64位
11-21
RadioMaximus [网络] RadioMaximus 2.33.5 32位
11-21
Cursor [开发] Cursor 0.42.5 64位
11-20
Ultraleap Gemini [系统工具] Ultraleap Gemini 5.20.0 64位
11-19
联想电脑管家 [安全] 联想电脑管家 5.1.80.9066 ARM64
11-15