VS Code explicitFolding插件:如何实现[]块的完整折叠?
问题
你的自定义文件格式如下:
[Table] s1=raw s2=meta [Table2] S2=raw s1=meta
用explicitFolding规则可以给每个[]设置自定义折叠,但现在只能收起单行,而且插件不接受\n作为结束规则,现有配置是:
"explicitFolding.rules": { "*": { "beginRegex": "^\\[.*\\]", "endRegex": " " } },
怎么实现从当前[]到下一个[]的整块折叠展开?
解决办法
直接修改endRegex,用正向预查匹配下一个[]的开头或者文件末尾,就能把整个区块折叠起来。配置改成这样:
"explicitFolding.rules": { "*": { "beginRegex": "^\\[.*\\]", "endRegex": "(?=^\\[|\\z)" } }
配置说明
beginRegex不用改,还是匹配开头带[]的行(也就是每个区块的标题);endRegex的(?=^\\[|\\z)是指匹配两个位置:- 下一行开头是
[]的位置(这样就折叠到下一个区块标题之前); - 文件的结尾(处理最后一个区块,确保能折叠到文件末尾)。
- 下一行开头是
这样设置后,每个[]标题对应的折叠块就会包含从当前标题开始,到下一个[]标题前的所有内容,空行也包含在内,实现整块折叠的效果。
内容的提问来源于stack exchange,提问作者Prime
相关产品推荐
相关产品推荐

