Mist 插件
打包
首次需安装vsce
npm i vsce -g
打包
vsce package
使用
大部分功能需要编辑器语言设置为 MIST 才能使用,如果是 .mist 文件,会自动设置为 MIST 语言。
代码高亮
对模版中表达式进行语法高亮。对模版中的错误进行提示,目前包括 Json 语法错误、重复属性、表达式语法。
代码提示
编写 Mist 模版时会根据上下文提示当前可用属性名称和属性值,鼠标移到属性名或枚举值上可以显示描述。
编写表达式时,也会提示可用变量、属性、函数,并支持函数参数提示、鼠标 Hover 提示。
按住 ⌘ 键点击表达式中的变量名,能跳转到变量定义的地方。然后可以使用 ⌃-/⌃⇧- 来 后退/前进。
错误检查
可以对模版进行错误检查,包括:
- Json 语法错误、重复属性
- 表达式语法错误,不存在的属性、方法
- 未引用变量
- 模版属性的类型检查
格式化
在编辑器中右键选择 Format Document 可以格式化当前文档,也可使用快捷键 ⇧ ⌥ F 或自定义其它快捷键。
选中文本时右键选择 Format Selection 可格式化选中部分。
上传模版
工作空间根目录新建配置文件 upload.config.json,配置文件格式:
{
"version": "8.5.0",
"name": "予杨",
"appName": "淘鲜达" // 或 盒马
}
内置模版
同样依赖于 upload.config.json 的配置,点击内置模版,自动下载。需要增加 "platform": "Android/iOS/Harmony" 变量。
预览表达式执行结果
打开 .mist 文件后,点击编辑器右上角预览按钮(眼睛图标),使用与 App 同源的表达式引擎
(hema-dynamic 的 mist-eval.jar,随插件内置)计算模板中各层 vars 的执行结果,
在左侧活动栏「Mist 表达式预览」侧边栏展示(与盒马动态化模板迁移助手同位置,不占用编辑器区域)。
侧边栏:可折叠 JSON 树展示 g_vars 与计算后的节点树,默认只展开第一层,
大对象折叠为 Object{n} / Array[n] 摘要,点击行展开/折叠,工具栏可一键全部展开/折叠;
其中节点树与 mist 源文件结构一一对齐(保持 vars 分组与 key 顺序,表达式替换为计算值,null 保留)
编辑器内联提示:每个表达式变量行右侧以灰色文字显示其计算结果(如 ⇐ "990"),刷新后自动更新
侧边栏打开时:保存 mist / 保存对应 mock 文件会立即自动刷新;切换 mist 文件联动刷新为新文件;
收起侧边栏或内容更新时自动清除行尾提示值
无同名 mock 文件时,侧边栏提供「创建同名 mock 文件」按钮,一键创建后自行填充数据
mock 数据:与 mist 同名的 .json 文件(如 HEMA@xxx.mist → HEMA@xxx.json,也兼容 xxx.json),
不存在时按空数据计算
mock 文件中可额外提供 functionMocks 字段,为依赖 App 运行时的函数注入返回值,例如:
{
"price": "1590",
"functionMocks": {
"getExperimentConfig": { "value": "newStyle", "trackParams": {} }
}
}
- 需要本机安装 JDK(默认从 PATH 找
java,也可通过设置 mist.javaPath 指定路径)
- jar 重新构建:到 hema-dynamic/mist-eval 执行
./build.sh,将 dist/mist-eval.jar 拷贝到插件 jar/ 目录