Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Mist SDK ToolsNew to Visual Studio Code? Get it now.
Mist SDK Tools

Mist SDK Tools

zgmicro

|
6 installs
| (1) | Free
Mist SDK development tools for VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Mist SDK Tools VS Code 插件

Mist SDK Tools 是一个面向 Mist SDK / Zephyr 项目开发的 VS Code 扩展,提供应用与板卡选择、构建、烧录、Source 产物定位、配置管理和 CI/CD 辅助能力。

主要功能

  • Application 视图

    • 在 Mist SDK Tools 活动栏中提供自定义 Webview 侧边栏。
    • 默认根节点为 APP,支持根节点行内重命名。
    • 支持选择 MIST 目录、应用、板卡和额外编译参数。
    • 应用和板卡列表支持搜索选择。
    • 支持执行额外命令,适合运行与当前 MIST 目录相关的临时命令。
    • Refresh UI 会清空内存缓存、重新扫描目录,并写入 <MIST>/.cache/mist-sdk-cache.json。
    • Compile Application 执行 west build,输出目录为 build/<root-name>。
    • Rebuild 会先删除对应 build/<root-name> 目录,再重新构建。
  • Debug 视图

    • 在 Mist SDK Tools 容器内显示每个 APP 配置对应的 build 目录。
    • 提供 West Flash 按钮,执行 west -v flash -d build/<root-name>。
    • 提供 Ozone 按钮,查找并使用 Ozone 打开当前 build 目录下的 .jdebug 工程。
    • 提供常用 build 按钮:initlevels、ram_report、rom_report、dashboard、traceconfig、dtdoctor。
    • 支持单独刷新 Debug 视图。
  • Source 视图

    • 解析工程入口文件、编译相关 PROJECT 文件和已生成 build 目录中的 OUTPUT 产物。
    • 支持普通 build 和 sysbuild 多 domain 输出。
    • Entry 包含应用目录中的 CMakeLists.txt、Kconfig、prj.conf、main.c,所选板卡列表项对应的 .dts、.yaml、.yml、*_defconfig、*_deconfig,以及应用 boards 目录下对应的 .conf、.overlay 文件。
    • PROJECT 按依赖文件的最长公共目录生成资源管理器树,展示应用编译用到的所有可定位文件,数据来自 Entry、compile_commands.json 和 ninja -C <build-dir> -t deps。
    • PROJECT 标题栏提供搜索按钮,可在 Source 视图内展开 PROJECT 内容搜索框,只在 PROJECT 当前文件列表中搜索。
    • OUTPUT 包含 .dts、zephyr/include/generated/zephyr/autoconf.h、kconfig-trace.md、zephyr.map、zephyr.lst 等文件。
    • 板卡路径优先从 <MIST>/.cache/mist-sdk-cache.json 中解析,cache 不可用时回退扫描 boards 下 yaml/yml 的 identifier。
    • 支持过滤搜索;搜索时会自动展开包含匹配文件的 APP 和 Entry/PROJECT/OUTPUT 分区。
    • 记住展开状态、过滤文本和当前打开文件的 active 状态;当打开文件属于 PROJECT 时,会自动展开并选中对应节点。
    • 标题栏按钮支持全部收缩/全部展开,并根据状态切换图标。
  • 配置和默认目录

    • 默认 MIST 目录保存到 workspace setting:mist-sdk-tools.projectDir。
    • 启动时会优先识别当前 workspace 是否为 mist / zns,或 workspace 下是否存在 mist / zns 子目录。
    • 每个 root 可独立保存应用、板卡和额外命令;未配置 root 专属目录时会回退到默认 MIST 目录。
    • Add Config 和 CICD 面板会自动填充默认 MIST 目录。
  • 命令执行与日志

    • 构建、烧录和额外命令输出到 VS Code Terminal Pseudoterminal,支持 ANSI 彩色日志。
    • 同名日志终端会复用,不会每次执行命令都新建终端。
    • Compile Application、Rebuild 和 west build -t 目标复用 Mist SDK Build 终端。
    • West Flash 使用 Mist SDK Flash 终端。
    • 历史日志可使用 VS Code Terminal 自带的清理功能处理。
    • 命令执行时会注入常见彩色输出环境变量,如 FORCE_COLOR、CLICOLOR_FORCE、TERM=xterm-256color 等。
    • 虚拟环境通过 VIRTUAL_ENV 和 PATH 注入,不执行 PowerShell Activate.ps1。
  • CI/CD 面板

    • 通过 Webview 选择 Mist 目录、应用、固件并填写 commit hash。
    • 可执行后端脚本并查看日志。
    • 固件列表会读取 <MIST>/.cache/mist-sdk-cache.json。

使用指南

打开 Mist SDK Tools

安装后,活动栏会出现 Mist SDK Tools 容器,内部包含三个视图:

  • Application
  • Debug
  • Source

也可以通过命令面板执行扩展命令,例如 Add Config、CICD、Refresh UI、Mist SDK: Compile Application。

配置 MIST 目录

首次使用时,扩展会尝试自动查找 workspace 中的 mist 或 zns 目录,并写入 workspace setting:

{
  "mist-sdk-tools.projectDir": "d:/code/mist/project/mist"
}

如果自动识别失败,可以点击 Application 视图标题栏的文件夹按钮,或执行 Select Mist Directory 手动选择。

选择应用和板卡

  1. 在 Application 视图展开 APP 节点。
  2. 点击应用或板卡分区右侧搜索按钮进行 Quick Pick 搜索。
  3. 选择后,当前 root 会保存 selectedAppRelativePath 和 selectedBoardName。

编译和重新编译

选择应用和板卡后,可以在 Application 视图中点击:

  • Compile Application:执行普通构建。
  • Rebuild:先删除对应构建目录,再执行构建。
  • Extra Command:在当前 MIST 目录下执行额外命令。

构建命令格式:

west build -b <board> <app> -d build/<root-name> [extraCommand]

构建成功后,扩展会更新 clangd.arguments 中的 --compile-commands-dir=<absolute build dir>。

Debug 视图

Debug 视图按 root 展示当前配置对应的 build 目录,并提供烧录、报告和 Ozone 入口。

按钮 作用 终端
West Flash 对当前 root 的 build 目录执行 west -v flash Mist SDK Flash
initlevels 执行 west build -t initlevels Mist SDK Build
ram_report 执行 west build -t ram_report Mist SDK Build
rom_report 执行 west build -t rom_report Mist SDK Build
dashboard 执行 west build -t dashboard Mist SDK Build
traceconfig 执行 west build -t traceconfig Mist SDK Build
dtdoctor 执行 west build -d build/<root-name> -- -DZEPHYR_SCA_VARIANT=dtdoctor Mist SDK Build
Ozone 查找并打开当前 build 目录中的 .jdebug 工程 独立启动 Ozone

West Flash 执行的命令格式:

west -v flash -d build/<root-name>

常用 build target 的命令格式:

west build -d build/<root-name> -t initlevels
west build -d build/<root-name> -t ram_report
west build -d build/<root-name> -t rom_report
west build -d build/<root-name> -t dashboard
west build -d build/<root-name> -t traceconfig
west build -d build/<root-name> -- -DZEPHYR_SCA_VARIANT=dtdoctor

Ozone 按钮会在当前 root 的 build 目录中查找 .jdebug 工程;如果找到多个,会弹出列表选择。默认使用 PATH 中的 Ozone.exe,也可以配置 Ozone 安装目录或 Ozone.exe 完整路径:

{
  "mist-sdk-tools.ozonePath": "D:/Program Files/SEGGER/Ozone"
}

查看 Source 产物

在 Source 视图中可以查看当前 build 目录解析出的:

Entry:

  • 应用目录:CMakeLists.txt、Kconfig、prj.conf、main.c
  • 所选板卡列表项:对应 .dts、.yaml、.yml、*_defconfig、*_deconfig
  • 应用 boards 目录:所选板卡对应 .conf、.overlay

Source 不会在 settings 中保存板卡路径;板卡路径来自 cache,或通过扫描 yaml/yml 的 identifier 解析。

PROJECT:

  • 以依赖文件的最长公共目录生成资源管理器树;如果涉及多个磁盘卷,则每个卷各自回落到对应公共目录。
  • 优先展示本次 build 实际用到的所有可定位文件,不按 workspace 或 MIST 目录边界过滤。
  • 文件来源包括 Entry 文件、compile_commands.json 中的编译单元,以及 ninja -C <build-dir> -t deps 输出的依赖文件。
  • 文件名右侧会虚显文件大小;如果能从 zephyr.map 和编译数据库建立 source/object 映射,还会显示源文件对应的 flash/ram 占用。
  • 头文件没有独立 object,占用无法精确归属;如果能从 ninja -t deps 解析依赖关系,会显示 used by <n> obj 作为影响范围参考。
  • 相对路径优先按 build 目录解析,找不到时再按 MIST 目录解析;不存在的文件不会展示。
  • 如果 build 目录、compile_commands.json 或 ninja 不可用,会自动降级为能解析到的 Entry/编译单元文件。
  • 目录展开状态会随 Source 视图状态一起保存;过滤时会自动展开命中的目录链。
  • 当前编辑器打开的文件如果属于 PROJECT,会自动展开目录并选中对应节点。
  • 点击 PROJECT 标题栏搜索按钮会在 Source 视图内展开内容搜索框,搜索范围严格限定为 PROJECT 当前文件列表;支持区分大小写、全字匹配和正则表达式,命中行会显示在匹配文件节点下方,可点击跳转到对应文件行号。

OUTPUT:

  • .dts 文件
  • zephyr/include/generated/zephyr/autoconf.h
  • kconfig-trace.md
  • zephyr.map
  • zephyr.lst

点击文件项会在编辑器中打开对应文件。过滤框支持快速定位,并会自动展开命中的分区。

设置示例

{
  "mist-sdk-tools.projectDir": "d:/code/mist/project/mist",
  "mist-sdk-tools.ozonePath": "D:/Program Files/SEGGER/Ozone",
  "mist-sdk-tools.roots": [
    {
      "name": "APP",
      "selectedAppRelativePath": "applications/demo_app",
      "selectedBoardName": "demo_board",
      "extraCommand": "--pristine"
    }
  ]
}

常用命令

命令 说明
Add Config 打开配置管理面板
CICD 打开 CI/CD 面板
Select Mist Directory 设置 workspace 默认 MIST 目录
Refresh UI 刷新 Application 视图并更新 cache
Mist SDK: Search Applications 搜索并选择应用
Mist SDK: Search Boards 搜索并选择板卡
Mist SDK: Set Extra Command 设置当前 root 的额外编译参数
Mist SDK: Extra Command 在当前 MIST 目录下执行额外命令
Mist SDK: Compile Application 编译当前 root 的应用
Mist SDK: West Flash 烧录当前 root 的 build 产物
Mist SDK: Open Ozone 使用 Ozone 打开当前 root 的 .jdebug 工程
Mist SDK: Select Application 选择指定应用
Mist SDK: Select Board 选择指定板卡
Refresh Debug 刷新 Debug 视图
Refresh Source 刷新 Source 视图
Collapse Source / Expand Source 收缩或展开 Source 视图

项目结构

mist-sdk-tools/
├─ commands/                    # 命令处理模块
├─ lib/                         # 共享工具和业务辅助模块
│  ├─ buildUtils.js             # build/source 路径和产物发现工具
│  ├─ common.js                 # 通用校验与搜索辅助
│  ├─ mistDir.js                # 默认 MIST 目录解析与持久化
│  ├─ projectExplorer.js        # PROJECT 依赖文件树构建
│  ├─ projectMetrics.js         # PROJECT 文件大小和编译占用指标
│  ├─ scanner.js                # 应用、板卡、固件扫描
│  └─ utils.js                  # 命令执行、终端日志等工具
├─ providers/                   # VS Code WebviewView provider
│  ├─ debugWebViewProvider.js   # Debug WebviewView
│  ├─ explorerWebViewProvider.js # Application WebviewView
│  └─ sourceWebViewProvider.js  # Source WebviewView
├─ resources/                   # 图标等资源
├─ views/                       # Add Config / CICD Webview HTML
├─ extension.js                 # 扩展入口与命令注册
└─ package.json                 # VS Code 扩展贡献点

注意事项

  • mist-sdk-tools.projectDir 是 workspace 级默认 MIST 目录。
  • mist-sdk-tools.roots 保存 APP/root 配置,包括应用、板卡和额外命令;不保存板卡文件路径,Source 会从 cache 或 yaml/yml identifier 中解析。
  • 缓存文件位于 <MIST>/.cache/mist-sdk-cache.json,包含应用、板卡和固件扫描结果,可删除后通过 Refresh UI 强制重建。
  • 构建目录约定为 build/<root-name>,root 名称中的空格会转换为 _。
  • 彩色日志需要命令本身输出 ANSI 颜色;扩展会尽量设置相关环境变量。
  • VSIX 打包内容由 .vscodeignore 控制,仓库元数据、VS Code 本地配置、测试和 demo 文件不会进入发布包。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft