[vscode] 给python和lua增加#region功能

首先定位到 D:\Program Files\Microsoft VS Code\resources\app\extensions , 把路径改为自己的,打开 python 和 lua 目录,修改其中的 language-configuration.json 文件。

python

python 默认已经配了,只不过没配好,只支持 #region, 如果#和region之间有一个空格(# region) 就不行了,把 folding 改成下面的就好了:

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

lua

lua 默认没有配,在配置文件的最后一段加上

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

改完后记得要重启vscode才会生效。

后记

  • 试过增加多个 marker, 但以失败告终,看其他语言的配置好像是用|隔开,但没成功,估计跟我用的分隔符有关,我用的 {{ & }}, 这两个在json里有特殊用途,加上转义符\\后仍然不生效,就放弃了。
  • 也试过在 sublime 里支持这个,但是并没有找到能配的地方,在这方面 sublime 实在是差太远了,而且N久不更新一次的,越来越跟不上潮流了。
  • python 里使用 #region 是惯例,python最流行的IDE PyCharm 天生就支持 region, 虽然这并不是 python 语法的一部分(不确定,根据sublime不支持region推断的)。
  • Lua 并没有 -- region/endregion 这种语法,也没有什么IDE或编辑器支持过,这里加上这个特性只是为了方便收缩代码,所以可以不用 region, 比如我之前就想用 {{ … }}, 但没成功,你们有什么想用的可以自己发挥,我就不折腾了,就用 region 吧,好歹很多语言都用这个。

参考文档:https://github.com/Microsoft/vscode-python/issues/33

你可能感兴趣的:(vscode)