sublimelinter-contrib-ruff装不上,先确认系统已安装ruff且在path中;插件默认不启用,需手动开启python文件的linter;扫描规则需通过args指定pyproject.toml路径或--select精简规则集;保存后不自动扫描是因默认仅on_save触发,需配置on_save:true。

SublimeLinter-contrib-ruff 装不上?先确认 Ruff 本体是否可用
插件本身不带 ruff,它只是个“调度器”,真正干活的是你系统里装好的 ruff 可执行文件。如果 ruff --version 在终端报错或找不到命令,插件必然失效。
- Windows 用户:检查
ruff.exe是否在PATH中(比如C:\Users\XXX\AppData\Roaming\Python\Scripts) - macOS/Linux 用户:用
which ruff确认路径;若用uv tool install ruff安装,uv默认把二进制放~/.local/bin,需确保该路径已加入 shell 配置(如~/.zshrc) - 虚拟环境用户:别只在 venv 里装
ruff,Sublime Text 通常不继承 venv 的PATH,得装全局或显式指定路径
SublimeLinter-contrib-ruff 插件安装后没反应?检查 linter 启用状态
插件装完默认不自动启用,必须手动打开 Python 文件的 linter 开关。常见误操作是只装了插件,却没在当前视图里激活它。
- 打开一个
.py文件,按Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入SublimeLinter: Enable Linter回车,再选ruff - 也可通过菜单栏:
Preferences → Package Settings → SublimeLinter → Settings,在用户设置中加这段:
{
"linters": {
"ruff": {
"disable": false
}
}
}
注意:不要删掉整个配置,只改 "disable": false 这一项即可。
扫描结果全是 E501 或 W503?调整 Ruff 规则比改插件更直接
SublimeLinter-contrib-ruff 默认用 ruff check 命令,但不会读取你项目根目录下的 pyproject.toml 里的 [tool.ruff] 配置——除非你明确告诉它去读。
- 在 SublimeLinter 的用户设置里,给
ruff加上args参数:
"ruff": {
"args": ["--config", "./pyproject.toml"]
}
路径用相对写法(./pyproject.toml),避免硬编码绝对路径;若项目没配 pyproject.toml,至少加 --select 限定规则集,比如 --select=E,F,W,否则默认会启用全部 800+ 条规则,噪音极大。
为什么保存后不自动扫描?不是插件问题,是 SublimeLinter 的触发逻辑
SublimeLinter 默认只在文件保存时触发一次,且仅对当前视图生效。它不监听磁盘变化,也不做增量 lint —— 这和 VS Code 的 Ruff 插件行为不同,容易误以为“坏了”。
- 想保存即扫,确认设置里有:
"on_save": true(在SublimeLinter.sublime-settings用户配置中) - 想实时响应编辑,得开
"on_load"和"on_modified",但会明显拖慢响应,尤其大文件;Ruff 虽快,但 SublimeLinter 框架本身有开销 - 真正“秒级”体验的关键不在插件,而在
ruff的缓存机制:首次扫描后,改一行再保存,ruff check实际只重分析改动函数,这才是毫秒级响应的来源
别指望插件能绕过 Sublime Text 的事件循环模型,它本质是同步调用 CLI 工具。所谓秒级,是 Ruff 自身快 + 缓存有效 + 规则精简三者叠加的结果,缺一不可。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











