外部工程支持

插件支持将 Ameba SDK 与应用工程目录分离的 外部工程 开发模式,与直接在 SDK 目录内开发的 SDK Root 工程 相比具有以下优势:

  • SDK 可在多个工程间共享,无需为每个项目重复下载

  • 应用代码与 SDK 代码分离,便于独立进行版本管理

  • 切换 SDK 版本时,只需修改配置文件,无需重新整理工程目录

两种工程模式对比:

场景

SDK Root 工程

外部工程

VS Code 打开的目录

SDK 根目录或其子目录

独立的应用工程目录

SDK 路径来源

插件自动检测

.vscode/settings.json 中配置

示例选择

支持

不支持(不显示示例选择框)

编译 / 烧录 / 监控

与 SDK 同目录执行

外部工程根目录执行

新建外部工程

通过向导快速创建含完整 .vscode 配置的新外部工程。

触发方式: 命令面板 Advanced → New External Project

向导步骤:

  1. SDK 选择 — 从已知 SDK 路径列表(含版本信息和来源标注)中选择,或点击 Browse… 手动指定;Browse 选中有效 SDK 后路径自动记录以供下次使用

  2. 模板选择 — 从 SDK examples 目录按类别分组选择项目模板,或选择空白工程(Blank Project);右侧实时预览所选模板的 README.md

  3. 芯片选择 — 选择目标芯片型号

  4. 项目路径 & 名称 — 选择工程保存目录,填写工程名称(选择具体模板时自动填充模板名,可自由修改)

  5. 确认 & 创建 — 核对 SDK / Template / Chip / Project path 摘要,点击 Create Project 执行创建

  6. 完成 — 显示项目路径,提供 Open in New Window 按钮

创建完成后,工程根目录下将自动生成 .vscode/settings.json 和 .vscode/c_cpp_properties.json,包含 SDK 路径、目标芯片、编译输出路径及代码导航配置等信息,详见 代码导航。

导入已有外部工程

将已有的 Ameba 外部工程导入插件,自动生成或补全 .vscode 配置文件。

触发方式 A(命令导入):

  1. 命令面板 Advanced → Import External Project,或按下 Ctrl+Shift+P 输入 Ameba: Import External Project

  2. 在弹出的文件夹选择器中选择工程根目录;若选择的是 SDK 根目录,插件会提示并终止

  3. 若工程缺少 .vscode 配置,插件将引导用户选择 SDK 路径和目标芯片,并自动生成配置文件

  4. 配置完成后,可选择在当前窗口或新窗口中打开该工程

触发方式 B(打开文件夹):

  1. 通过 文件 → 打开文件夹 打开外部工程目录

  2. 工程缺少 .vscode 配置或 SDK 路径无效时,状态栏显示 ⚠ Not Ready,面板中出现 SDK environment not ready. 提示

  3. 点击提示旁的 Setup Wizard 按钮,通过 环境安装向导 选择 SDK(下载或使用本地已有 SDK),向导完成后插件自动生成 .vscode 配置并指向该 SDK

  4. 向导不会弹出芯片选择,默认沿用当前已选芯片,没有则取 SDK 中的第一个芯片,可在状态栏重新选择

如需手动指定 SDK 路径和目标芯片,可使用 设置 SDK 路径。

设置 SDK 路径

为手动打开的外部工程选择 SDK 路径和目标芯片,生成或更新 .vscode/settings.json 和 .vscode/c_cpp_properties.json;也可用于在外部工程中切换所使用的 SDK 版本。

触发方式: 命令面板 Advanced → Set Root SDK Path,或按下 Ctrl+Shift+P 输入 Ameba: Set Root SDK Path

向导依次弹出 SDK 路径和目标芯片的选择列表。SDK 列表包含所有已知 SDK(含版本号和来源标注),也可点击 Browse… 指定新路径;若 .vscode/settings.json 已存在,会弹出确认框,确认后仅更新 ameba.* 和 clangd.* 字段,其余设置保持不变。生成的 settings.json 包含以下关键配置:

{
  "ameba.rootSDKPath": "<ameba-rtos SDK 根目录路径>",
  "ameba.projectPath": "<当前工程根目录路径>",
  "ameba.targetChip": "<目标芯片型号,如 RTL8720E>",
  "ameba.buildPath": "build_<芯片型号>/build"
}

选择有效 SDK 后,ameba.rootSDKPath 将自动更新,插件随即重新检测开发环境。

备注

在 SDK Root 工程中执行该命令时,不会弹出 SDK 选择列表,插件直接以当前工作区作为 SDK,仅生成 .vscode 配置。