V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ghostisbored
V2EX  ›  Visual Studio Code

vscode Python 代码格式化最好的方案

  •  
  •   Ghostisbored · 3 天前 · 825 次点击

    大家好 刚接触 python 不知道大家有没有遇到这个问题 比如我刚写了一个方法:

    def test:
        num = 5     
        if num == 3:  
           print 'boss'  
        else:
           print 'roadman' 
    
    

    现在我要用一个 try catch 包裹处理逻辑 但是问题来了 我添加 try catch 后 无法格式化 比如代码只会自动缩进第一行 如果我这个方法很多行 那么我目前只能手动缩进对齐 是否有更好的方法是我不知道的 谢谢大家

    11 条回复    2024-06-29 17:03:16 +08:00
    l4ever
        1
    l4ever  
       3 天前
    ruff
    保存就自动处理好了, 默认规则已经很完善了,
    keakon
        2
    keakon  
       2 天前
    我是用 black ,ruff 也是用 black-compatible 的格式

    不过我不喜欢用双引号,所以 fork 了一个 white: https://github.com/keakon/white
    tinytoadd
        3
    tinytoadd  
       2 天前
    你学习的是 python2 吗。首先检查一下看看语法有没有问题
    Ghostisbored
        4
    Ghostisbored  
    OP
       2 天前
    @l4ever #1 测试了下这个 好像也不行 也不知道我哪里的配置是不是有问题 我在看看
    Ghostisbored
        5
    Ghostisbored  
    OP
       2 天前
    @keakon #2 好的 我看看
    Ghostisbored
        6
    Ghostisbored  
    OP
       2 天前
    @tinytoadd #3 应该没有问题 很简单的 demo 进行测试的
    ZnductR0MjHvjRQ3
        7
    ZnductR0MjHvjRQ3  
       2 天前
    就是这样啊 你用 pycharm 也是这样啊,当你本身写的语法出错的时候 比如你的 try 和 num 在一个缩进的时候 就是无法格式化代码,因为 python 的语法原因,你需要手动对齐代码然后再去格式化

    我在 vscode 一般用 black 不过比较麻烦的就是 每个虚拟环境都需要自己装一遍
    Ghostisbored
        8
    Ghostisbored  
    OP
       2 天前
    @Motorola3 #7 是的 这就是问题 我还以为大家有好的方案 我平时用 java 比较多 好像没有这个问题 可能 idea 强大的原因
    Campanula
        9
    Campanula  
       2 天前
    其实单纯是 python 缩进语法的缺陷,自动格式化工具不敢轻举妄动。
    skt041959
        10
    skt041959  
       1 天前
    python 不是 try-catch ,是 try-except
    Ghostisbored
        11
    Ghostisbored  
    OP
       1 天前
    @skt041959 #10 hhh 打顺手了 的确是 try-except 但是的确不好格式化 特别是写了一大段逻辑后 发现最好要 try-except 处理下某个抛出的异常 那时就比较麻烦了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2425 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:55 · PVG 19:55 · LAX 04:55 · JFK 07:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.