sublime text 默认不支持 wat 语法高亮,需通过 package control 安装 mab851 维护的 wat 插件;安装后打开 .wat 文件右下角应显示 wat,若未自动识别可手动选择或配置扩展名关联,括号匹配与折叠异常需检查插件是否支持 source.wat 作用域。

sublime text 默认不支持 WAT 语法高亮
WAT(WebAssembly Text format)文件(.wat)不是 Sublime Text 内置支持的语言,打开后默认是纯文本,没有关键字、括号配对、注释着色等基础高亮。这不是配置错了,而是根本没加载对应语法定义。
手动安装 WAT 语法包最可靠
推荐用 Package Control 安装社区维护的 WAT 包(作者:mab851),它提供完整语法定义和作用域划分,比自己写 .sublime-syntax 文件省事且稳定。
- 确保已安装
Package Control(没装就先装,搜索 “install package control”) - 按
Ctrl+Shift+P(windows/linux)或Cmd+Shift+P(macos),输入Package Control: Install Package - 等待列表加载完,输入
WAT,选中并回车安装 - 安装后,打开任意
.wat文件,右下角状态栏应显示WAT;若仍显示Plain Text,点击它手动选择WAT→WAT
文件关联和自动检测要手动补全
该插件默认只对 .wat 后缀生效,但你可能还有 .wast(旧版测试格式)或无后缀的 WAT 片段。需要手动告诉 Sublime 哪些文件属于 WAT:
- 打开一个
.wat文件,点击右下角语言名 →Open all with current extension as...→WAT - 对
.wast文件重复上述操作 - 如需让 Sublime 根据内容自动识别(比如粘贴一段
(module ...)就切到 WAT 模式),得编辑WAT.sublime-settings,但实际效果有限;更实用的是用快捷键Ctrl+Shift+P→Set Syntax: WAT
高亮正常但括号匹配/折叠异常?检查作用域冲突
如果看到关键字变色了,但 () 不配对、代码块无法折叠,大概率是其他插件(比如 BracketHighlighter 或 Origami)没识别 WAT 的作用域名。WAT 插件使用的作用域是 source.wat,不是 source.asm 或 source.webassembly。
- 确认
BracketHighlighter的配置里是否包含"source.wat"(在bracket_highlighter.sublime-settings的scope_brackets或bracket_styles中) - 折叠问题通常源于 Sublime 自身对
source.wat缺少折叠规则,可临时在Preferences → Settings – Syntax Specific里加:{ "fold_by_level": true },但不能替代真正的
folding rules支持
WAT 高亮本身简单,难的是周边生态适配——括号匹配、跳转定义、LSP 支持目前都得靠手动补位,别指望装完插件就和 js 一样顺滑。