Ruff格式化器是否支持ISort?VSCode格式化时规则不生效求助
VSCode中Ruff格式化命令不触发ISort导入排序的解决方法
问题背景
迁移项目至Ruff后,VSCode执行「用Ruff格式化代码」命令时,ISort导入排序规则未生效;但通过快速修复(Ctrl+.)或运行ruff check . --fix命令可以正常修复导入排序问题。
核心原因
Ruff的格式化功能与Lint自动修复功能是独立模块:
- 格式化命令默认仅处理
ruff.toml中[format]段配置的规则(如引号风格、缩进方式等) - ISort属于Lint规则(
I前缀规则),默认不会被格式化命令触发
解决步骤
修改VSCode的Ruff扩展配置,让格式化命令同时执行Lint修复
- 打开VSCode设置(快捷键
Ctrl+,) - 搜索「Ruff: Format Args」
- 添加
--fix参数到参数列表,这样格式化时会自动应用所有可修复的Lint规则(包括ISort) - 也可以直接在
settings.json中添加配置:"ruff.format.args": ["--fix"]
- 打开VSCode设置(快捷键
验证效果
- 打开存在未排序导入的Python文件
- 执行「用Ruff格式化代码」(快捷键
Ctrl+Shift+I) - 检查导入语句是否已自动排序
内容的提问来源于stack exchange,提问作者Danilo Bassi
相关产品推荐
相关产品推荐

