我的自定义文件有下面的格式,使用显式折叠规则我可以为每个**[]定制折叠,但当我折叠它只折叠1行而不是所有行.\n**不接受显式折叠扩展.
[Table] s1=raw s2=meta [Table2] S2=raw s1=meta
如何使整个[]块折叠并扩展到下一个[]
"explicitFolding.rules": { "*": { "beginRegex": "^\\[.*\\]", "endRegex": " " } },
xghobddn1#
以下设置适用于您的文件格式
"explicitFolding.rules": { "*": { "separatorRegex": "^\\[.*\\]", "foldEOF": true } }
编辑
我不得不调试扩展,以找出为什么马克的建议没有工作。如果你有"endRegex": "^\\s*$",用来查找折叠的正则表达式是a^。这将永远被找到。扩展测试指定的正则表达式(开始. middle,end)是否匹配空字符串。(可能会出现无限循环,我在扩展中通过显式测试修复了这个问题,如果下一个查找实际上是在exec()调用之后推进lastIndex,在Mark提交的问题之后)如果你想使用beginRegex和endRegex,你可以用途:
"endRegex": "^\\s*$"
a^
exec()
lastIndex
beginRegex
endRegex
"explicitFolding.rules": { "*": { "beginRegex": "^\\[.*\\]", "endRegex": "^\\s*$", "bypassProtection": true, "foldEOF": true } }
我建议将这个折叠规则添加到设置中的特定languageID。
1条答案
按热度按时间xghobddn1#
以下设置适用于您的文件格式
编辑
我不得不调试扩展,以找出为什么马克的建议没有工作。
如果你有
"endRegex": "^\\s*$"
,用来查找折叠的正则表达式是a^
。这将永远被找到。扩展测试指定的正则表达式(开始. middle,end)是否匹配空字符串。(可能会出现无限循环,我在扩展中通过显式测试修复了这个问题,如果下一个查找实际上是在
exec()
调用之后推进lastIndex
,在Mark提交的问题之后)如果你想使用
beginRegex
和endRegex
,你可以用途:我建议将这个折叠规则添加到设置中的特定languageID。