vscode Python 代码格式化最好的方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ghostisbored
V2EX    Visual Studio Code

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

  •  
  •   Ghostisbored 2024-06-27 17:55:16 +08:00 2556 次点击
    这是一个创建于 471 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    12 条回复    2024-07-26 18:22:53 +08:00
    luckyc
        1
    luckyc  
       2024-06-27 18:01:38 +08:00
    ruff
    保存就自动处理好了, 默认规则已经很完善了,
    keakon
        2
    keakon  
       2024-06-27 20:14:36 +08:00
    我是用 black ,ruff 也是用 black-compatible 的格式

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

    我在 vscode 一般用 black 不过比较麻烦的就是 每个虚拟环境都需要自己装一遍
    Ghostisbored
        8
    Ghostisbored  
    OP
       2024-06-28 16:08:08 +08:00
    @Motorola3 #7 是的 这就是问题 我还以为大家有好的方案 我平时用 java 比较多 好像没有这个问题 可能 idea 强大的原因
    Campanula
        9
    Campanula  
       2024-06-28 17:34:49 +08:00
    其实单纯是 python 缩进语法的缺陷,自动格式化工具不敢轻举妄动。
    skt041959
        10
    skt041959  
       2024-06-29 00:20:20 +08:00
    python 不是 try-catch ,是 try-except
    Ghostisbored
        11
    Ghostisbored  
    OP
       2024-06-29 17:03:16 +08:00
    @skt041959 #10 hhh 打顺手了 的确是 try-except 但是的确不好格式化 特别是写了一大段逻辑后 发现最好要 try-except 处理下某个抛出的异常 那时就比较麻烦了
    Ghostisbored
        12
    Ghostisbored  
    OP
       2024-07-26 18:22:53 +08:00
    过了这么久 我自己来回答 找到一种不错的方案
    选中按 TAB 整段右移
    选中按 SHIFT+TAB 左移整段左移
    这样对齐就行 很方便
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2692 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:09 PVG 22:09 LAX 07:09 JFK 10:09
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86