vscode python格式化

插件 Black Formatter

Black 默认会遵循 PEP 8 的规范,可配置的参数很少,用的人很多。

setting.json 配置,更改插件的每行字符数限制

javascript 复制代码
{
    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter"
    },
    "black-formatter.args": [
        "--line-length",
        "120"
    ],
}

可以使用 # fmt: off 和 # fmt: on 来告诉 Black 不要格式化特定的代码块。

python 复制代码
# fmt: off
if     True:
            print(    "我想怎么排版就怎么排版")
# fmt: on

插件 yapf

由 google 开发并维护的格式化工具,特点是支持多种格式化风格。默认支持三种格式化样式:pep8,google,Facebook和 chromium。 yapf的初衷不是让代码符合pep准则,而是让代码看起来更整洁更友好。

setting.json 配置

javascript 复制代码
{
    "[python]": {
        "editor.defaultFormatter": "eeyore.yapf"
    },
    "yapf.args": [
        "--style",
        "{based_on_style: google, indent_width: 4,column_limit: 160}"
    ],
}

不要格式化特定代码块

python 复制代码
# yapf: disable
if     True:
    print(    "我想怎么排版就怎么排版")
# yapf: enable

官方文档:https://github.com/google/yapf

列表格式化,如果末尾加逗号,就会竖向格式化,没有逗号则是横向格式化。

python 复制代码
abc = [
    'a',
    'b',
    'c',
]
相关推荐
学嵌入式的小杨同学3 分钟前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
好家伙VCC1 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
前端玖耀里2 小时前
如何使用python的boto库和SES发送电子邮件?
python
serve the people2 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源2 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
喵手3 小时前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手3 小时前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
2601_949146533 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn3 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
Java面试题总结4 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf