Regex for VisualCode explicitFolding扩展

ac1kyiln  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(98)

我的自定义文件有下面的格式,使用显式折叠规则我可以为每个**[]定制折叠,但当我折叠它只折叠1行而不是所有行.\n**不接受显式折叠扩展.

[Table]
s1=raw
s2=meta

[Table2]
S2=raw
s1=meta

如何使整个[]块折叠并扩展到下一个[]

"explicitFolding.rules": {
    "*": {
        "beginRegex": "^\\[.*\\]",
        "endRegex": " "
        }
},
xghobddn

xghobddn1#

以下设置适用于您的文件格式

"explicitFolding.rules": {
  "*": {
    "separatorRegex": "^\\[.*\\]",
    "foldEOF": true
  }
}

编辑

我不得不调试扩展,以找出为什么马克的建议没有工作。
如果你有"endRegex": "^\\s*$",用来查找折叠的正则表达式是a^。这将永远被找到。
扩展测试指定的正则表达式(开始. middle,end)是否匹配空字符串。(可能会出现无限循环,我在扩展中通过显式测试修复了这个问题,如果下一个查找实际上是在exec()调用之后推进lastIndex,在Mark提交的问题之后)
如果你想使用beginRegexendRegex,你可以用途:

"explicitFolding.rules": {
  "*": {
    "beginRegex": "^\\[.*\\]",
    "endRegex": "^\\s*$",
    "bypassProtection": true,
    "foldEOF": true
  }
}

我建议将这个折叠规则添加到设置中的特定languageID。

相关问题