VisualCode 的正则表达式显式折叠扩展

问题描述 投票:0回答:1

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

[Table]
s1=raw
s2=meta

[Table2]
S2=raw
s1=meta

如何使整个 [] 块折叠和展开直到下一个 []

"explicitFolding.rules": {
    "*": {
        "beginRegex": "^\\[.*\\]",
        "endRegex": " "
        }
},
regex visual-studio-code regex-group
1个回答
1
投票

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

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

编辑

我不得不调试扩展以找出为什么 Mark 的建议不起作用。

如果你有

"endRegex": "^\\s*$"
用于查找折叠的正则表达式是
a^
。这将永远被发现。

扩展测试指定的正则表达式 (begin.middle, end) 是否与空字符串匹配。 (可能的无限循环,我通过显式测试在我的扩展中解决了这个问题,如果下一个发现实际上是在

lastIndex
调用之后,在 Mark 提出的问题之后推进
exec()

如果你想使用

beginRegex
endRegex
你可以使用:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.