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

|
20 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,支持根节点行内重命名。
    • 支持选择当前工作区主工程目录、应用、板卡、Extra Conf、Extra Overlay 和额外编译参数。
    • 应用和板卡列表支持搜索选择,配置管理和 CI/CD 面板的下拉框支持匹配高亮、最近使用置顶和更清晰的空状态提示。
    • Mist SDK: Add Config 面板支持选择已有配置或输入新配置名称,保存当前配置的应用、板卡、Extra Conf、Extra Overlay 和额外命令。
    • 支持执行额外命令,适合运行与当前 MIST 目录相关的临时命令。
    • Mist SDK: Refresh UI 会清空内存缓存、重新扫描目录,并写入 <MIST>/.cache/mist-sdk-cache.json。
    • Compile Application 默认执行 west build 并输出到 build/<root-name>;若额外参数显式传入 -d/--build-dir,则以用户指定目录为准。
    • Rebuild 会先删除当前生效的 build 目录,再重新构建。
    • 状态栏指示器:底部状态栏实时显示当前活动 root 的板卡名和应用路径(最后 2 段),悬停可查看完整路径,点击可直接打开板卡搜索。
  • AI Agent 切换

    • 新增 Mist SDK: Switch AI Agent 命令,用于在当前工作区切换 AI agent 入口。
    • 支持 GitHub Copilot、OpenAI Codex、Claude Code 三种工具入口的多选启用与一键清理。
    • 底部状态栏会显示当前已启用的 agent 组合,例如 Copilot + Claude,点击即可再次切换。
    • 依赖工作区根目录下的 agent/scripts/link.bat 与 unlink.bat;若未检测到脚本,会给出提示。
  • Actions 视图

    • 在 Mist SDK Tools 容器内显示每个 APP 配置对应的 build 目录。
    • 提供 Build / Rebuild / Clean 快捷按钮,复用当前 root 的应用、板卡和额外编译参数,并可直接清理当前生效 build 目录。
    • 提供 Flash 按钮,执行 west -v flash -d <当前生效 build-dir>。
    • 提供 West Update 按钮,执行 west update 同步仓库依赖。
    • 提供 Ozone 按钮,查找并使用 Ozone 打开当前 build 目录下的 .jdebug 工程。
    • 提供 Kconfig 按钮,在主编辑区打开当前 root 的 Kconfig 配置器。
    • 提供常用 build 按钮:dashboard、dtdoctor、initlevels、ram_report、rom_report、traceconfig。
    • 支持切换 Actions 按钮文字标签显示/隐藏。
    • 支持单独刷新 Actions 视图,并可从标题栏一键清理当前工作区默认 build 目录。
  • Source 视图

    • 解析工程入口文件、编译相关 PROJECT 文件和已生成 build 目录中的 OUTPUT 产物。
    • 支持普通 build 和 sysbuild 多 domain 输出。
    • Entry 包含应用目录中的 CMakeLists.txt、Kconfig、prj.conf、main.c,所选板卡列表项对应的 .dts、.yaml、.yml、*_defconfig、*_deconfig,应用 boards 目录下对应的 .conf、.overlay 文件,以及手动选择的 Extra Conf / Extra Overlay 文件。
    • PROJECT 按依赖文件的最长公共目录生成资源管理器树,展示应用编译用到的所有可定位文件,数据来自 Entry、compile_commands.json 和 ninja -C <build-dir> -t deps。
    • PROJECT 标题栏提供搜索按钮,可在 Source 视图内展开 PROJECT 内容搜索框,只在 PROJECT 当前文件列表中搜索。
    • OUTPUT 包含 .dts、.bin、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 分区。
    • 顶部搜索框同时提供文件搜索下拉:输入关键字后,以文件名加淡化相对路径的格式展示 PROJECT 和 OUTPUT 文件(不含 Entry),可直接点击跳转打开。
    • 记住展开状态、过滤文本和当前打开文件的 active 状态;当打开文件属于 PROJECT 时,会自动展开并选中对应节点。
    • 标题栏按钮支持全部收缩/全部展开,并根据状态切换图标。
  • 配置和默认目录

    • 默认 MIST 目录保存到 workspace setting:mist-sdk-tools.projectDir。
    • 启动时会优先读取当前 workspace .west/config 中 [manifest] 下的 path 作为默认 MIST 目录;如果未配置或目录无效,再回退识别当前 workspace 是否为 mist,或 workspace 下是否存在 mist 子目录。
    • Mist SDK: Select Mist Directory、Mist SDK: Add Config 和 Mist SDK: CICD 面板共用同一个 workspace MIST 目录配置。
    • 当 mist-sdk-tools.projectDir 更新时,已打开的 Mist SDK: Add Config 和 Mist SDK: CICD 面板会自动刷新当前目录并重新加载可选项。
    • 每个 root 保存应用、板卡、Extra Conf、Extra Overlay 和额外命令;构建、烧录和 Source 解析统一使用当前 workspace 的 MIST 目录。
    • 应用扫描优先覆盖 applications、samples、tests,缺失时再回退全工程;板卡扫描在根 boards 目录不可用时会尝试从 west.yml / west.yaml 的 mist 项目路径回退解析。
  • 命令执行与日志

    • 构建、烧录、west update、CI/CD 后端脚本和额外命令输出到 VS Code 集成终端 Mist SDK,支持 ANSI 彩色日志。
    • 命令会统一复用同一个 Mist SDK 终端,不会每次执行命令都新建终端。
    • 插件停用时会主动释放共享终端资源,减少终端残留与环境状态不一致问题。
    • 当前进度通知用于展示执行状态,不提供命令级取消;命令提交到终端后需在终端中自行中断。
    • 历史日志可使用 VS Code Terminal 自带的清理功能处理。
    • 命令执行时会注入常见彩色输出环境变量,如 FORCE_COLOR、CLICOLOR_FORCE、TERM=xterm-256color 等。
    • 虚拟环境通过 VIRTUAL_ENV 和 PATH 注入,不执行 PowerShell Activate.ps1。
  • CI/CD 面板

    • 通过 Webview 选择当前工作区主工程目录、应用、固件并填写 commit hash。
    • 当未手动填写 commit hash 时,会异步获取当前 MIST 仓库最新 commit,避免阻塞扩展界面。
    • 固件下拉会在选择应用前保持禁用,选择应用后再加载对应固件,避免误选旧数据。
    • 可执行后端脚本并查看日志。
    • 固件列表会读取 <MIST>/.cache/mist-sdk-cache.json。
  • 稳定性与安全性改进

    • 主要 Webview 消息入口已增加基础字段校验,用于过滤缺失 type / command 等关键字段的异常消息。
    • Source 搜索缓存增加容量限制,Kconfig 数据缓存增加生存时间控制,降低长时间使用后的内存增长风险。
    • 多处目录检查与 HTML 模板加载已改为异步实现,减少阻塞扩展宿主线程的情况。
    • AI agent 切换命令会输出脚本执行日志,并对缺少脚本或执行失败的情况提供更明确的错误提示。

使用指南

1. 快速入口

安装扩展后,VS Code 左侧活动栏会出现 Mist SDK Tools 图标。插件的常用入口如下:

入口 用途
Application 视图 设置 MIST 目录、选择应用/板卡、管理配置、发起编译
Actions 视图 执行 Build / Rebuild / Clean / Flash / Ozone / Kconfig / 常用 target
Source 视图 查看 Entry / PROJECT / OUTPUT 文件
命令面板 执行 Add Config、CICD、Refresh UI、Select Mist Directory、清理 build 目录等命令
状态栏 查看当前活动 root 的板卡和应用,并快速打开板卡搜索
状态栏(AI Agent) 查看当前启用的 AI agent 组合,并快速切换

提示:首次使用建议先完成 MIST 目录 → 应用/板卡 → Build → Source 这条主流程。

补充:如果工作区已经接入统一的 agent 仓库,可通过状态栏中的 $(hubot) 项快速切换当前启用的 AI agent 工具组合。


2. Application 视图

Application 视图是日常使用的主入口,负责当前工作区的配置选择与构建发起。

2.1 配置 MIST 目录

首次使用时,扩展会自动尝试识别 MIST 主工程目录:

  1. 优先读取工作区 .west/config 中 [manifest] path 对应的目录
  2. 如果未命中,自动查找工作区中的 mist 目录
  3. 如果工作区根目录本身就是 mist,也会直接将其作为默认目录
  4. 识别成功后写入 workspace setting:
{
  "mist-sdk-tools.projectDir": "d:/code/mist/project/mist"
}

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

设置完成后,Application、Add Config、CICD、构建和 Source 解析都会统一使用这个工作区级 MIST 目录。

注意:mist-sdk-tools.projectDir 是整个 workspace 的唯一 MIST 目录来源,Add Config 和 CICD 面板会直接读取并使用这个值。

2.2 配置管理

执行 Mist SDK: Add Config 打开配置管理面板。

字段 说明
配置名称 从已保存配置中选择,或输入新名称
当前工作区主工程目录 只读展示,点击 设置目录... 可修改
应用 选择当前 root 对应的应用
板卡 选择当前 root 对应的板卡
Extra Conf 选择额外 .conf 配置片段,构建时通过 EXTRA_CONF_FILE 传入
Extra Overlay 选择额外 .overlay 设备树 overlay,构建时通过 EXTRA_DTC_OVERLAY_FILE 传入
额外命令 设置 west build 的额外参数(如 --pristine)
  • 保存配置时,会写入配置名称、应用、板卡、Extra Conf、Extra Overlay 和额外命令,不会单独保存 MIST 目录。
  • 切换已有配置后,会自动回填应用、板卡、Extra Conf、Extra Overlay 和额外命令,并基于当前 MIST 目录重新加载可选项。
  • Extra Conf / Extra Overlay 中位于应用目录内的文件会按应用相对路径保存,例如 bt.conf、boards/app.overlay。
  • 每个配置本质上对应一个 root。若重命名 APP,实际会同步修改该 root 的显示名称,并影响默认 build 目录名 build/<root-name>。

2.3 选择应用和板卡

在 Application 视图中:

  1. 展开 APP 节点(支持行内重命名)
  2. 点击应用或板卡分区右侧的 🔍 按钮进行 Quick Pick 搜索
  3. 选择后,当前 root 会自动保存配置
  4. 状态栏会同步显示当前活动 root 的板卡名和应用路径,点击状态栏项可直接打开板卡搜索

补充说明:配置管理和 CI/CD 面板中的应用、板卡、固件下拉会优先显示当前选择和最近使用项;已有选择时再次展开会显示完整候选列表,方便直接切换到其他项。

2.4 发起构建

展开 APP 节点后,可直接点击:

  • Compile Application — 执行普通构建
  • Rebuild — 先删除 build 目录,再重新构建
  • Extra Command — 执行额外命令
  • Extra Conf / Extra Overlay — 展开查看已选择文件,点击文件可打开,右侧按钮可选择或清空

构建命令格式如下:

west build -b <board> <app> [-d build/<root-name>] [extraCommand] [-- -DEXTRA_CONF_FILE=<files> -DEXTRA_DTC_OVERLAY_FILE=<files>]

构建成功后,扩展会自动更新 clangd.arguments 中的 --compile-commands-dir,实现智能提示。

补充说明:如果额外参数中显式传入 -d 或 --build-dir,插件后续的 Flash、Ozone、Source 解析和部分 target 命令都会以该目录为当前生效 build 目录。

2.5 切换 AI Agent 工具

执行 Mist SDK: Switch AI Agent,或点击状态栏中的 $(hubot) 项,可打开多选列表切换当前工作区启用的 AI agent 工具。

目前支持:

  • GitHub Copilot → 工作区根目录 .github/
  • OpenAI Codex → 工作区根目录 AGENTS.md
  • Claude Code → 工作区根目录 .claude/ 与 CLAUDE.md

行为说明:

  • 可多选启用多个工具入口。
  • 全部取消时,会执行清理入口操作。
  • 若工作区根目录下不存在 agent/scripts/link.bat,命令会提示先准备 agent 脚本仓库。
  • 切换结果会同步刷新状态栏文本,便于确认当前生效组合。

3. Actions 视图

Actions 视图用于集中执行构建相关操作和常用 target。

按钮 / 入口 作用
CCDB 配置 clangd 的 compile_commands 目录(仅 sysbuild 时显示)
Build 按当前 root 配置执行 west build
Rebuild 删除当前生效 build 目录后重新构建
Clean 清除当前 root 当前生效的编译目录
Kconfig 打开 Kconfig 配置器
Flash 烧录当前 root 的 build 产物
Ozone 打开 J-Debug 工程
标题栏垃圾桶按钮 清除当前工作区主工程目录下默认的 build 目录
dashboard / ram_report 等 执行常用 build target

补充说明:Clean 会基于当前 root 实际生效的 build 目录执行清理;如果额外参数中指定了 -d / --build-dir,这里会清理该自定义目录。

sysbuild 说明:dashboard、dtdoctor、initlevels、ram_report、rom_report 在 sysbuild 构建时,会自动读取 build/<root-name>/build_info.yml 解析 image 列表。如果存在多个 image,会弹出选择框让用户指定要分析的 image,实际构建目录变为 build/<root-name>/<image-name>。traceconfig 始终使用根 build 目录,不受 sysbuild 影响。


4. Source 视图

Source 视图展示当前 build 目录解析出的三类文件:

4.1 Entry — 应用入口文件

  • 应用目录:CMakeLists.txt、Kconfig、prj.conf、main.c
  • 板卡文件:.dts、.yaml、.yml、*_defconfig
  • 板卡配置:.conf、.overlay
  • 手动选择的 Extra Conf / Extra Overlay 文件

4.2 PROJECT — 编译依赖文件树

  • 以依赖文件的最长公共目录生成资源管理器树
  • 显示文件大小,部分文件显示 flash/ram 占用
  • 支持搜索过滤,点击可跳转打开
  • 当当前打开文件属于 PROJECT 时,Source 视图会自动展开并高亮对应节点

4.3 OUTPUT — 构建产物

  • .dts、.bin、autoconf.h、kconfig-trace.md、zephyr.map、zephyr.lst

提示:顶部搜索框可同时过滤主树和快速定位文件;全部展开按钮可一键展开所有子目录。

补充说明:顶部文件搜索下拉只检索 PROJECT 和 OUTPUT 文件,不包含 Entry 文件。


5. CI/CD 面板

执行 Mist SDK: CICD 打开 CI/CD 面板。

字段 说明
当前工作区主工程目录 展示当前 mist-sdk-tools.projectDir,可点击修改
应用 从当前 MIST 目录加载的应用列表中选择
固件 选择应用后,从该应用的固件列表中选择
Commit Hash 输入要构建的 commit hash,或默认使用最新 commit

操作流程:

  1. 确认或选择当前工作区主工程目录
  2. 选择应用(从 buildConfigPath 加载)
  3. 选择固件(从应用的 imagesName 加载)
  4. 输入 commit hash(可点击加载最新 commit)
  5. 点击执行按钮触发后端 CI/CD 脚本

提示:当 workspace 的主工程目录发生变化时,页面中的目录、应用列表、固件列表和最新 commit 提示会自动按新目录刷新。

补充说明:未选择应用前,固件下拉会显示“请先选择应用”并保持禁用;选择应用后才会加载对应固件列表。

补充说明:固件列表数据来自 <MIST>/.cache/mist-sdk-cache.json,因此如果目录内容刚发生变化但列表未更新,可先执行 Mist SDK: Refresh UI。

补充说明:面板内部的目录、应用、固件和 commit 加载请求已增加基础消息校验与错误提示,出现异常输入时会更早给出反馈。


6. Kconfig 配置器

点击 Actions 视图中的 Kconfig 按钮,在主编辑区打开配置器:

  • 主区域显示可展开的 Kconfig 树
  • 右侧显示配置详情和 prj.conf 预览
  • 点击配置值可直接修改,Changes 页签列出本次修改
  • 保存只写 prj.conf,不会直接修改 build 目录下的 .config

提示:修改 prj.conf 后需要重新构建才会生效。

常用命令

命令 说明
Mist SDK: Add Config 打开配置管理面板,保存或复用当前 root 的应用、板卡、Extra 文件和额外命令
Mist SDK: CICD 打开 CI/CD 面板
Mist SDK: Select Mist Directory 设置当前 workspace 统一使用的 MIST 目录
Mist SDK: 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: Clean Build Directory 清除当前 root 当前生效的编译目录
Mist SDK: Clean Default Build Directory 清除当前工作区主工程目录下默认的 build 目录
Mist SDK: West Flash 烧录当前 root 的 build 产物
Mist SDK: Open Ozone 使用 Ozone 打开当前 root 的 .jdebug 工程
Mist SDK: West Update 在当前 MIST 目录执行 west update
Mist SDK: Select Application 选择指定应用
Mist SDK: Select Board 选择指定板卡
Mist SDK: Switch AI Agent 切换当前工作区启用的 AI agent 工具入口
Mist SDK: Open Kconfig Editor 打开当前 root 的 Kconfig 配置器
Mist SDK: Refresh Actions 刷新 Actions 视图
Mist SDK: Toggle action button labels 切换 Actions 视图按钮文字标签显示/隐藏
Mist SDK: Refresh Source 刷新 Source 视图
Mist SDK: Collapse Source / Mist SDK: Expand Source 收缩或展开 Source 视图

设置示例

{
  "mist-sdk-tools.projectDir": "d:/code/mist/project/mist",
  "mist-sdk-tools.ozonePath": "D:/Program Files/SEGGER/Ozone",
  "mist-sdk-tools.activeRootId": "APP",
  "mist-sdk-tools.actionsShowLabels": true,
  "mist-sdk-tools.roots": [
    {
      "name": "APP",
      "selectedAppRelativePath": "applications/demo_app",
      "selectedBoardName": "demo_board",
      "extraCommand": "--pristine"
    }
  ]
}
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft