操作系统
Windows 7
最近更新
2024-09-06
使用许可
开源
语言
不支持中文
文件大小
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 软件更新列表
抖店 [行业] 抖店 0.12.19 64位
刚刚
抖店 [行业] 抖店 0.12.19 32位
刚刚
MKVToolNix [媒体] MKVToolNix 87.0 64位
刚刚
MKVToolNix [媒体] MKVToolNix 87.0 32位
刚刚
IBM SPSS Statistics [应用软件] IBM SPSS Statistics 29.0.2.0 64位
刚刚
Discord [网络] Discord 1.0.9162 32位/64位
刚刚
RunJS [开发] RunJS 3.0.0 32位/64位
刚刚
Postman [开发] Postman 11.11 64位
刚刚
逍遥安卓模拟器 [游戏工具] 逍遥安卓模拟器 9.1.7.0 32位/64位
42分钟前
AMD Radeon Software Adrenalin [驱动程序] AMD Radeon Software Adrenalin 24.9.1 64位
46分钟前
新软件·Windows 新软件列表
抖店 [行业] 抖店 0.12.19 64位
刚刚
抖店 [行业] 抖店 0.12.19 32位
刚刚
IBM SPSS Statistics [应用软件] IBM SPSS Statistics 29.0.2.0 64位
刚刚
PostgreSQL 10 [开发] PostgreSQL 10 10.23 64位
今天 00:54
PostgreSQL 10 [开发] PostgreSQL 10 10.23 32位
今天 00:53
PostgreSQL 11 [开发] PostgreSQL 11 11.22 64位
今天 00:41
PostgreSQL 12 [开发] PostgreSQL 12 12.20 64位
今天 00:35
PostgreSQL 13 [开发] PostgreSQL 13 13.16 64位
昨天 23:39
PostgreSQL 14 [开发] PostgreSQL 14 14.13 64位
昨天 23:17
PostgreSQL 15 [开发] PostgreSQL 15 15.8 64位
昨天 23:12