用VSCode写Python:linter, formatter和debugger配置详解

15次阅读

vscode python开发需配置linter、formatter和debugger:用Pylint检测代码问题,Black或autopep8统一格式,debugpy调试普通脚本,jupyter扩展支持notebook断点调试。

用VSCode写Python:linter, formatter和debugger配置详解

如果您在使用 VSCode 编写 Python 代码时发现代码无语法高亮提示、格式混乱或断点无法触发,可能是 linter、formatter 和 debugger 未正确配置。以下是针对这三类工具的详细配置步骤:

本文运行环境:macBook air,macOS Sequoia。

一、配置 Pylint 作为 linter

Pylint 是一个静态代码分析工具,用于检测代码中的错误、风格问题和潜在 bug,并提供可操作的错误码与修复建议。

1、在 VSCode 中打开命令面板(Cmd+Shift+P),输入并选择“Python: select Linter”。

立即学习Python免费学习笔记(深入)”;

2、从列表中选择 Pylint

3、若提示未安装,终端中执行 pip install pylint

4、在工作区根目录创建 .pylintrc 文件,运行 pylint –generate-rcfile > .pylintrc

5、在 VSCode 设置中搜索 “python.linting.pylintArgs”,添加自定义参数如 [“–rcfile=.pylintrc”]

二、配置 Black 作为 formatter

Black 是一个无需配置的 Python 代码格式化器,强制统一代码风格,避免团队中因缩进、空格、换行引发的争议。

1、终端中执行 pip install black

2、在 VSCode 设置中搜索 “python.formatting.provider”,将其值设为 black

3、搜索 “editor.formatOnSave”,确保其值为 true

4、如需自定义 line-Length,创建 pyproject.toml 文件,在 [tool.black] 下添加 line-length = 88

三、配置 autopep8 替代方案

当 Black 的严格格式限制影响开发节奏时,autopep8 提供更灵活的 PEP 8 兼容调整,支持仅修正选中行或文件。

1、终端中执行 pip install autopep8

2、VSCode 设置中将 “python.formatting.provider” 改为 autopep8

3、在设置中添加 “python.formatting.autopep8Args”,填入 [“–in-place”, “–aggressive”]

4、保存时自动格式化仍由 “editor.formatOnSave” 控制,无需额外启用。

四、配置 Python 官方 debugger(ptvsd 已弃用,使用 debugpy)

debugpy 是微软官方维护的 Python 调试适配器,集成于 VSCode Python 扩展中,支持断点、变量监视、调用和 REPL 式调试控制台。

1、确认已安装 Python 扩展(microsoft 发布,ID:ms-python.python)。

2、终端中执行 pip install debugpy

3、在项目根目录创建 .vscode/launch.json,内容包含配置项 type: “python”、request: “launch”、module: “your_main_module”

4、在代码行号左侧单击设置断点,按 Ctrl+F5 启动调试会话。

五、配置 Jupyter debugger(适用于 .ipynb 文件)

当在 VSCode 中直接编辑和运行 Jupyter Notebook 时,需启用内核级调试能力,使单元格内断点生效。

1、确保已安装 Python 扩展与 Jupyter 扩展(ID:ms-toolsai.jupyter)。

2、启动 notebook 后,点击右上角 kernel 选择器,确认内核状态为 Connected

3、在任意代码单元格中点击行号左侧设置断点,运行该单元格。

4、调试控制台将输出变量值与异常,支持 Step Over / Step Into 操作。

text=ZqhQzanResources