VS Code + EmmyLua:解决 region 折叠失效问题
- 一、问题现象
- 二、解决方法(实测有效)
- 三、解决效果
一、问题现象
使用环境:
- VS Code
- 插件:EmmyLua for VSCode(
tangzx.emmylua) - 版本:0.9.35
在 Lua 代码中使用region / endregion进行代码折叠时,如果region标记的上下行紧邻普通注释,左侧的折叠图标就可能消失。
例如:
--------------------------------------------------------------------------------------- region 属性声明 ---------------------------------------------------------------- 角色基础信息localconfig=Configs.cfgPlayerInfo;-- 角色状态缓存localcache=Player.baseInfoCache;-- endregion --------------------------------------------------------------------原本需要在region与普通注释之间插入空行才能正常折叠,影响代码排版。
二、解决方法(实测有效)
在 VS Code 中按Ctrl + Shift + P,搜索并打开:
Preferences: Open User Settings (JSON)
添加以下配置:
"[lua]":{"editor.foldingStrategy":"indentation"}三、解决效果
设置后,VS Code 使用基于缩进和语言标记的折叠机制,不再优先采用 EmmyLua 提供的折叠范围。
实测结果:
region / endregion恢复正常折叠。- 标记上下可以紧邻普通注释。
- 不需要插入额外空行。
- 不需要修改 EmmyLua 插件或源代码。
结论:对于 EmmyLua 0.9.35,将 Lua 的editor.foldingStrategy设置为indentation,即可解决本次遇到的 region 折叠失效问题。