如何使用 Indentation 折叠策略和自定义折叠规则?

how to use Indentation folding strategy and custom folding rules?

我在 GDscript 上写了一些类似于 python 的代码。 它有一个很好的缩进折叠策略。

但我也喜欢 #region,这在需要将代码分成几个部分时非常有用: 变量、setter 和 getter、public 函数...

我发现了几个可以管理折叠策略的扩展,但它们有一个副作用: 缩进折叠策略消失了。 我找到的唯一方法是在应该结束折叠时写一些注释或特殊符号。

"explicitFolding.rules": {
    "gdscript": [
        {
            "begin": "#spoiler",
            "end": "#end"
        },
        {
            "begin": "func",
            "endRegex": "\t$"
        }
    ]
},

但是我可以在 vs-code 中同时使用缩进折叠策略和区域折叠吗?

所以要解决这个问题,需要在语言扩展设置中更改折叠规则。

C:\Users\usr\.vscode\extensions\geequlim.godot-tools-1.1.2\configurations\gdscript-configuration.json

现在,需要将其放在语言设置的末尾:

"folding": {
    "offSide": true,
    "markers": {
        "start": "#\s*region\b",
        "end": "#\s*end\b"
    }
}

或者您需要的。 实际上,我注意到已经有一些#region 的实现,但要匹配该模式有点困难。 抱歉浪费你的时间。