VSCode脚本语言插件缩进规则优化:末尾回车保持同层级缩进
解决VSCode插件函数调用回车缩进异常问题
针对你遇到的带参数函数(如$trim(%paster%,kalosh))回车后自动增缩进的问题,可通过在onEnterRules最前面新增优先匹配规则来解决,同时保留原有规则:
修改方案
在language-configuration.json的onEnterRules数组头部添加以下规则:
{ "beforeText": "^\\s*(?!//|#).*?(\\)$|$)", "action": { "indent": "none" } }
规则说明
^\\s*(?!//|#):匹配非注释行(这里假设你的语言注释用//或#,如果是其他符号请自行替换).*?(\\)$|$):匹配行尾,或行内以右括号)结尾的位置(对应光标在函数右括号前或行尾的场景)"indent": "none":触发规则时,新行保持当前缩进层级,不自动增缩进
注意事项
- 必须将这条规则放在
onEnterRules的最前面,因为VSCode会按顺序匹配规则,优先触发这条规则后就不会再触发后续可能导致错误缩进的规则 - 原有规则保留在这条规则之后,不影响其他场景的正常缩进逻辑
如果之前添加规则导致全部失效,大概率是正则表达式写得有误,或者规则顺序不对。上述规则针对性匹配你提到的异常场景,不会干扰原有规则的执行。
内容的提问来源于stack exchange,提问作者Terr Lacont
相关产品推荐
相关产品推荐

