VSCode如何折叠以`if verbosity: print(...)`开头的代码行?
搞定
if verbosity: print(...)语句折叠的几种办法 IDE自定义折叠规则
主流IDE(VS Code、PyCharm)都支持自定义匹配规则来折叠这类语句:- VS Code:在设置里搜索「Folding Rules」,添加正则匹配
^if verbosity: print\(.*\)$,把所有行首符合该格式的语句划为可折叠块,点击行号旁箭头就能收起。 - PyCharm:进入「Settings > Editor > General > Code Folding」,添加自定义折叠的正则表达式,匹配成功后这类语句会自动变成可折叠块。
- VS Code:在设置里搜索「Folding Rules」,添加正则匹配
重构代码封装成函数
把重复的打印逻辑打包成函数,从根源减少冗余,还能通过函数块折叠:def verbose_print(msg, verbosity): if verbosity: print(msg) # 原语句直接替换为调用 verbose_print('Some feedback', verbosity)这样调用处更清爽,函数定义块也能折叠,后续修改逻辑只需改动一处。
手动添加区域标记
不想改代码的话,给连续的这类语句加折叠标记即可,主流IDE都识别:# region 冗余打印语句 if verbosity: print('Feedback 1') if verbosity: print('Feedback 2') if verbosity: print('Feedback 3') # endregion添加后点击标记旁的箭头就能折叠整个块,零散语句也能凑成一组处理。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

