必须手动绑定 source.wat 作用域,否则高亮、括号匹配、折叠、lsp 全失效;需右下角设语言为 wat、open all with current extension、配置 brackethighlighter/lsp/折叠规则,并可自定义语法扩展私有指令。

WAT 文件打开还是黑白?不是插件没装对,是 Sublime 根本没把它当 WAT 处理——必须手动绑定 source.wat 作用域,否则高亮、括号匹配、折叠、LSP 全失效。
怎么让 .wat 文件真正高亮?
Sublime 默认不识别 .wat 后缀,装完 mab851 的 WAT 插件后,右下角仍显示 Plain Text,就说明语法定义压根没加载。这不是插件问题,是作用域没挂上。
- 打开任意
.wat文件 → 点击右下角Plain Text→ 选择WAT(注意:不是WebAssembly或其他近似项) - 再点一次右下角语言名 →
Open all with current extension as…→ 再选WAT -
.wast和.WAT(大写)要分别重复上述操作,Sublime 区分大小写 - 如果文件没后缀(比如粘贴的代码片段),用
Ctrl+Shift+P→ 输入Set Syntax: WAT强制切换
括号不匹配、(module) 无法折叠?
高亮变色了但括号不配对、模块块不能折叠,问题不在 WAT 插件本身,而在周边工具没认出 source.wat 这个作用域。
-
BracketHighlighter需在bracket_highlighter.sublime-settings的scope_brackets或bracket_styles中显式加入"source.wat" - 折叠依赖 Sublime 自身规则,默认不支持
source.wat;可在Preferences → Settings – Syntax Specific里加:{"fold_by_level": true} - 若用了
LSP(如lsp-wasmbind),也要确认其settings中enabled_capabilities或selector包含source.wat
想高亮自定义指令或扩展注释?
默认 WAT 语法只覆盖标准指令(如 i32.add、local.get)和官方注释(;;)。你加的私有宏(如 %myop)、扩展注释(;;; doc)不会自动着色。
- 打开
Preferences → Browse Packages→ 进入WAT/目录 → 编辑WAT.sublime-syntax - 在
contexts下新增 rule,例如匹配%\w+并赋予keyword.other.custom.wat作用域 - 改完保存后,执行
Ctrl+Shift+P→Reload Syntax Definitions(不是重启 Sublime) - 注意:修改后若出现语法解析错误,Sublime 会回退到
Plain Text,此时检查 YAML 缩进和引号是否匹配
真正卡住人的从来不是装插件这一步,而是 source.wat 这个作用域像一根线,得同时穿起高亮、括号、折叠、LSP 四个孔——漏一环,整个 WAT 开发体验就断掉。别指望“装完即用”,每个环节都得手动对齐。











