VSCode怎么配置Ruff作为Python的默认格式化工具

轻涛君_5735

轻涛君_5735

2026-05-05

639人浏览

原创

必须手动指定editor.defaultformatter为charliermarsh.ruff,否则vscode会fallback到其他格式化器;需确认ruff cli已安装且路径正确,配置python专属settings.json中"[python]"块,启用formatonsave和codeactionsonsave的fixall与organizeimports,并验证ruff.toml和python解释器是否匹配。

vscode怎么配置ruff作为python的默认格式化工具

必须手动指定 editor.defaultFormatter 为 charliermarsh.ruff,否则即使 Ruff 扩展已安装、CLI 可运行,VSCode 仍会 fallback 到其他格式化器(如 autopep8 或 black),导致保存时不生效。

确认 Ruff CLI 已就绪且路径正确

Ruff 扩展不自带二进制,完全依赖系统 PATH 中的 ruff 命令。VSCode 图形界面和内嵌终端需能一致识别它。

  • 在系统终端执行 ruff --version,确认输出类似 ruff 0.7.2
  • 若 VSCode 内嵌终端报 command not found: ruff,重启 VSCode;仍失败则需手动配置路径
  • 打开 VSCode 设置,搜索 ruff.path,填入绝对路径,例如:/opt/homebrew/bin/ruff(macOS Homebrew)或 /Users/xxx/Library/Python/3.12/bin/ruff(pip 用户)
  • 不要用 ~ 符号,必须是完整路径;Windows 用户注意反斜杠要写成 C:\Users\xxx\AppData\Roaming\Python\Scripts\ruff.exe

设置 Python 语言专属的默认格式化器

VSCode 的格式化行为按语言 ID 绑定,[python] 块配置不可省略,也不能写成全局 editor.defaultFormatter。

Python Use Agent
Python Use Agent

智能执行Python任务,自动生成、执行代码并反馈结果,无需额外配置,兼容旧命令。

下载
  • 打开命令面板(Cmd+Shift+P 或 Ctrl+Shift+P),输入并选择 Preferences: Open Workspace Settings (JSON)(推荐优先配工作区)
  • 在 settings.json 中添加如下块(不是覆盖整个文件):
{
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true
  }
}
  • 确保没有其他插件(如 ms-python.black-formatter)同时启用;若有,禁用或卸载,避免冲突
  • 保存后,在任意 .py 文件中按 Shift+Alt+F 测试是否触发格式化(观察状态栏是否短暂显示 “Formatting with Ruff”)

启用保存时自动修复与导入整理

仅格式化不够,Ruff 还能自动修复 lint 错误、排序 import —— 这些需通过 codeActionsOnSave 显式开启,且必须限定为 ruff 提供的动作。

  • 在同个 settings.json 的 [python] 块内补全配置:
{
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll.ruff": true,
      "source.organizeImports.ruff": true
    }
  }
}
  • source.fixAll.ruff 仅作用于 Ruff 报出的可修复项(如 F401 unused import),不会动 ESLint 或 Pylance 的问题
  • source.organizeImports.ruff 依赖 ruff.toml 中启用了 isort 规则(即 extend-select = ["I"]),否则无效果
  • 不要写成 "source.fixAll": true —— 它会尝试调用所有可用 Linter,容易报错或静默失败

验证配置是否真正生效

最常被忽略的是:Ruff 配置文件未被读取,或 Python 解释器选错,导致看似配置完成,实则“假就绪”。

  • 在项目根目录放一个 ruff.toml,至少含基础规则:select = ["E", "F", "I"] 和 line-length = 88
  • 打开命令面板,执行 Python: Select Interpreter,确认右下角状态栏显示的是你项目虚拟环境里的 python(如 ./venv/bin/python),不是系统 Python
  • 修改一个 .py 文件,故意写长行或多余 import,保存后观察:
    • 错误波浪线是否来自 Ruff(悬停看提示含 ruff:)?
    • 多余 import 是否被删掉?长行是否被折行?
  • 如果没反应,打开 VSCode 输出面板(Ctrl+Shift+U),选择 Ruff Server,看是否有 Failed to start 或路径错误日志

真正的卡点往往不在扩展安装,而在 CLI 路径、Python 解释器、配置文件位置三者是否对齐 —— 少一个,Ruff 就只是个图标。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

python vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1195

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2432

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1849

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1707

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2567

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1798

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1222

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1096

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

434

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程