Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>模板迁移助手 (DX & Mist)New to Visual Studio Code? Get it now.
模板迁移助手 (DX & Mist)

模板迁移助手 (DX & Mist)

HemaApp

|
1 install
| (0) | Free
一键跨 App 迁移 DinamicX 模板与 Mist 模板:自动创建、代码拷贝、配置同步与发布
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

模板迁移助手 (DX & Mist)

一个用于跨 App 一键迁移 DinamicX(DX)模板与 Mist 模板的 VSCode 插件。

当一个 App 从另一个 App 拆分出来时,需要把大量 DX / Mist 模板配置同步过去——既要在新仓库创建模板、拷贝代码、改工程配置,还要发布。这个插件把整套繁琐流程自动化:自动创建 → 拷贝代码 → 同步配置 → git 提交 → 发布,并提供友好的可视化界面。


✨ 功能特性

  • 双入口:活动栏图标(侧边栏面板)+ 命令面板(编辑器标签页),任选其一
  • DX 模板迁移
    • 自动识别当前工作区的 DX 工程,或手动选择源 / 目标工程
    • 模板多选、全选 / 反选,新模板名自动建议且可逐条编辑
    • 自动调用 dx-cli 创建模板(服务端注册 + 写入新 ID)→ 拷贝 src/ → 同步 pathConfig / dependencies
    • 可选:自动 git commit / push、预发布(prepublish)/ 正式发布(release)
  • Mist 模板迁移
    • 工作区 template/ 目录含 .mist 文件时自动识别为源仓库
    • 源仓库 → 目标仓库拷贝(保留目录结构)、git commit / push、发布到模板平台
  • 智能命名:hm_ai_xxx → txd_ai_xxx、HEMA@xxx.mist → TXD@xxx.mist,前缀可从目标工程名自动推断
  • 仓库映射缓存:记住「源仓库 → 目标仓库」对应关系,下次自动回填目标
  • 实时反馈:彩色日志控制台 + 进度条 + 成功 / 失败汇总

📦 安装

方式一:从 VSIX 安装(推荐)

cd /Users/yuyuhang/Documents/alibaba/dx-migrate
npm install
npx vsce package  # 打包生成 dx-migrate-<version>.vsix
code --install-extension dx-migrate-<version>.vsix --force

若未安装打包工具:npm i -g @vscode/vsce

方式二:F5 调试运行

用 VSCode 打开本目录,按 F5 启动「扩展开发宿主」窗口即可体验。


🚀 使用方法

打开迁移助手

  • 入口一(推荐):点击左侧活动栏的 「双向箭头」图标,迁移助手会在侧边栏展开(可拖到右侧面板)
  • 入口二:Cmd+Shift+P → 输入 DX Migrate: 打开模板迁移助手,在编辑器标签页打开

DX 模板迁移流程

  1. 选择 DX 源工程 和 DX 目标工程(若当前工作区是 DX 工程会自动识别为源)
  2. 在模板列表中勾选要迁移的模板,右侧新名已按规则自动填好,可修改
  3. 勾选发布选项(git commit / push / 预发布 / 正式发布)
  4. 点击 「开始迁移」

Mist 模板迁移流程

  1. 选择 Mist 源仓库 和 Mist 目标仓库(目标仓库必填,可与源仓库相同)
  2. 设置目标 App(淘鲜达 / 盒马)、文件前缀、最低版本、操作人
  3. 勾选要迁移的 .mist 文件
  4. 勾选发布选项(git commit / push / 发布到平台)
  5. 点击 「开始迁移」

🏷️ 命名规则

类型 源名称 目标前缀 txd 下的建议名
DX hm_ai_clarify_card txd_ai_clarify_card
DX hema_ai_img txd_ai_img
DX foo_bar txd_foo_bar
Mist HEMA@search_main.mist TXD@search_main.mist
  • DX:以 hm_ / hema_ 开头的去掉该前缀再拼目标前缀;其他直接前置目标前缀
  • Mist:替换 @ 前的 App 前缀(盒马=HEMA、淘鲜达=TXD)
  • 目标前缀可从目标工程名推断(如 TXDDinamicXTemplate → txd)
  • 注意:DX 模板名在平台全局唯一,目标名不能与已有模板(含源模板)重名,否则创建会失败

💾 仓库映射缓存

每次手动选择目标仓库后,插件会记录「源仓库 → 目标仓库」的对应关系(存于 VSCode globalState,跨工作区、重启不丢失)。下次识别到相同源仓库时,自动回填目标仓库,无需重复选择。

  • DX 映射键:dxMigrate.dxRepoMap
  • Mist 映射键:dxMigrate.mistRepoMap

⚠️ 前置依赖与注意事项

  • dx-cli:DX 迁移依赖 dx-cli(默认从 PATH 或 /usr/local/bin/dx-cli 查找),需先执行 dx-cli login 登录
  • DX 发布:要求代码已 commit 并 push 到远端仓库(服务端会拉取远端代码构建),勾选发布时建议保持 commit + push 开启
  • 正式发布(release) 请谨慎勾选
  • Mist 发布:默认上传到预发平台(pre-hema-template.alibaba-inc.com)

🛠️ 开发与构建

npm install          # 安装依赖
npm run compile      # 编译 TypeScript 到 out/
npm run watch        # 监听模式
npx vsce package     # 打包为 .vsix

项目结构

dx-migrate/
├── package.json            # 插件清单(命令 / 活动栏视图 / 入口)
├── tsconfig.json
├── media/
│   ├── icon.svg            # 活动栏图标
│   └── webview.html        # 迁移助手界面(HTML + 原生 JS)
└── src/
    ├── extension.ts        # 激活入口,注册命令与视图
    ├── panel.ts            # 编辑器标签页载体
    ├── viewProvider.ts     # 侧边栏视图载体
    ├── controller.ts       # 核心控制器(消息路由 / 缓存 / 编排)
    ├── dxMigrator.ts       # DX 迁移引擎(dx-cli create/copy/publish)
    ├── mistMigrator.ts     # Mist 迁移引擎(拷贝/上传/创建)
    ├── parser.ts           # DX 工程 / Mist 仓库解析
    ├── rename.ts           # 重命名建议规则
    ├── exec.ts             # 命令执行 / git 辅助
    ├── webview.ts          # 读取 webview.html
    └── types.ts            # 类型定义

📝 工作流程

DX 模板:读取源工程 cola.build → 用目标工程的 apps/biz/权限组调用 dx-cli create template(服务端注册并返回新 ID)→ 拷贝源模板 src/ → 把 pathConfig/dependencies 同步进新模板 cola.build → 可选 git 提交与 dx-cli publish。

Mist 模板:把源 .mist 文件按新名拷贝到目标仓库 → 可选 git 提交 → 上传文件到 CDN(uploadFileV2 得 md5)→ 调用 addTemplate 创建模板记录。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft