首先定位到 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