wxml文件需装sublime-wxml插件并手动绑定语法;wxss复用原生css语法即可;js需用js custom注入小程序全局变量并添加注释;自动补全用sublime-wxap插件。

WXML 文件不高亮?先装插件再绑定语法
Sublime 默认完全不认识 .wxml 后缀,打开就是纯文本,连标签都无颜色——这不是插件没装对,是根本没被识别为代码文件。最稳的解法是装社区长期维护的 WXML 插件(作者 zjz777 或 hizzgdev,别选名字带 “WXSS Syntax” 或 “WeApp”的混淆包):
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车 - 搜
WXML,认准 GitHub 仓库名含sublime-wxml的结果,安装 - 安装后打开任意
pages/index/index.wxml,右下角点语法名 →Open all with current extension as…→WXML - 若想永久生效,菜单栏
Preferences → Settings – Syntax Specific,右侧加:{ "extensions": ["wxml"] }
注意:装完不手动绑定,.wxml 文件永远是白底黑字;也不要用“设为 HTML”来凑合,那样会丢失 {{ }}、wxs 标签等小程序特有结构的高亮。
WXSS 高亮够用就行,别折腾专用语法
.wxss 本质是 CSS 超集,没有独立语法包的必要。强行找“WXSS Syntax”插件反而容易冲突或失效。直接复用 Sublime 原生 CSS 语法即可,关键在正确关联:
- 右键任一
.wxss文件 →Open all with current extension as…→CSS - 或进
Preferences → Settings – Syntax Specific,右侧加:{ "syntax": "Packages/CSS/CSS.sublime-syntax" }
这样能获得完整属性提示、颜色预览、括号匹配;view::after 这类 WXSS 特有伪元素虽不报错也不高亮,但不影响阅读——真要 lint 或校验 rpx 单位,该用微信开发者工具或 VSCode + minapp 插件,不是编辑器高亮该干的事。
JS 文件里 Page() 没提示?靠 JS Custom 补全局变量
Sublime 自带的 JavaScript 支持对小程序完全“失明”:Page({})、Component()、getApp() 全当未定义变量报黄线,补全也空着。必须用 JS Custom 插件注入小程序运行时环境:
公众号运营:文章发布至草稿、样式封面、评论与用户管理、数据统计等。用户要求将 Markdown 发送到公众号草稿、查看阅读量统计或类似后台操作时,使用本技能。
- 通过 Package Control 安装
JS Custom - 菜单栏
Tools → JS Custom → Configure Environments - 在配置中加入:
"miniprogram": { "globals": ["App", "Page", "Component", "getApp", "getCurrentPages", "wx"] } - 在每个
.js文件顶部加注释:/* jsCustom environment: miniprogram */
漏掉这行注释,补全就失效;wx 必须显式加进 globals,否则 wx.request 等 API 不会出现在提示列表里。
自动补全组件和指令?Sublime-wxap 插件更直接
想输 view:if 按 Tab 就展开 <view wx:if="{{condition}}"></view>,或输 wx. 提示所有 API?WXML 插件只做高亮,得上 Sublime-wxap:
- Package Control 搜
Sublime wxap(注意空格,不是Sublime-wxapp或weapp) - 装完后,菜单栏
Preferences → Settings用户配置里加:"auto_complete_triggers": [ { "characters": "abcdefghijklmnopqrstuvwxyz - 重启 Sublime,打开
.wxml输入view:或wx.,按 Tab 即可补全
这个插件的补全逻辑是硬编码规则,不依赖语言服务器,轻量但有效;但它和 WXML 插件共存没问题,只要别同时启用多个 WXML 高亮包(比如又装 sublime-snippet 又装 WXML),否则 .wxml 文件可能反复切换语法导致高亮闪退。
真正卡住人的往往不是装什么插件,而是装完没绑定文件类型,或者 JS 文件忘了加 /* jsCustom environment: miniprogram */ 注释——这两步跳过,前面所有操作等于白忙。










