WAT文件打开为黑白是因为Sublime未识别为source.wat作用域,需手动绑定后缀、配置BracketHighlighter/LSP/折叠规则,并可自定义语法扩展私有指令。

WAT 文件打开还是黑白?不是插件没装好,是 Sublime 根本没把它当 WAT 处理——必须手动绑定 source.wat 作用域,否则高亮、括号匹配、折叠全失效。
为什么 .wat 文件右下角显示 Plain Text
Sublime Text 默认不识别 .wat 后缀,mab851 维护的 WAT 插件只在文件被识别为 source.wat 作用域时才生效。状态栏显示 Plain Text 就说明语法绑定完全没走通。
- 点击右下角语言名(如
Plain Text)→ 选择WAT(注意不是WebAssembly或其他近似项) - 再点一次右下角 →
Open all with current extension as…→ 再选WAT -
.wast和.WAT(大写)须分别操作,Sublime 区分大小写 - 若文件无后缀(比如粘贴的代码片段),用
Ctrl+Shift+P→ 输入Set Syntax: WAT强制切换
括号不配对、(module) 块无法折叠
高亮变色了但 () 不匹配、(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 开发体验就断掉。别指望“装完即用”,每个环节都得手动对。

















