| 打开 MRS 工程 |
与 MRS 一致:以 工程名.wvproj 为工程标记(发现/打开入口),.project 作为老工程兜底;随后解析 .project / .cproject / .template 获取全部配置。Open MRS Project / Solution 为 MRS2 同款文件对话框(右下角文件类型下拉:.wvproj / .wvsln / 全部文件),选中后在新 VSCode 窗口打开:选 .wvproj/.project → 打开其所在目录并自动发现;选 .wvsln → 生成同名 .code-workspace 并在新窗口加载 solution;打开整个 EVT/EXAM 目录用 VSCode 自带的 文件 → 打开文件夹(扩展自动递归发现全部工程:最深 6 层嵌套)。自动修复打包残留:EVT 工程的链接文件夹若指向打包机器的绝对路径(如 E:/.../EXAM/SRC),首次打开时自动按"最近祖先+尾段"定位真实目录并回写为可移植的 PARENT-N-PROJECT_LOC 形式(与 MRS2 的 rewriteLinkedFolders 行为一致;MRS1 风格的 <location> 自动转换为 <locationURI>) |
| Solution(工程组) |
支持 MRS 新增的 .wvsln 解决方案:仅当显式打开 .wvsln 文件时启用——Open MRS Project / Solution 选中该文件后,生成同名 .code-workspace 并在新 VSCode 窗口打开,激活时自动加载 solution;树中显示为 solution 节点,成员工程按 MRS2 的 BuildOrder= 行(缺省按文件行序)排列、每个成员都是完整工程节点。解析兼容 MRS2 的宽松语法;生成的 solution 与 MRS2 完全兼容 |
| 生成 Solution |
树标题栏 … 菜单 → Generate Solution From All Projects:把当前已发现的全部工程生成一个 solution 并立即出现在树顶,MRS2 可直接打开 |
| 工程树 |
活动栏 MRVC 容器内的 "Project Explorer":标题栏 4 个按钮(Open Mrs Project(文件对话框)/ Open Mrs Folder(只选目录)/ 折叠全部 / 刷新——外部改名/新增/删除的工程会被自动识别与清理)。工程 → 链接文件夹(蓝色名称)/ 实体目录 / 根级源文件 / 编译输出目录(红色)。Workspace Files 节点列出工程同级目录的散落源文件。源文件自动刷新:工作区与每个工程内的源文件新建/删除/改名即时反映到树(400ms 防抖),配置文件有专属监听 |
| 文件管理 |
树节点右键(每类节点独立菜单):New File / New Folder / Copy→Paste(插件内剪贴板,同名自动 - copy 递增,文件夹递归复制)/ Copy Absolute Path / Copy Project Relative Path(${workspace_loc:/${ProjName}/…} 形式的 CDT 逻辑路径)/ Copy File Name / Rename / Delete(均带确认)/ Open Containing Folder。链接文件夹禁用 Rename/Delete(防误删真实目录),其内部文件操作不受限 |
| 排除 / 恢复编译 |
文件与文件夹右键 Exclude From Build / Include From Build(与 MRS 的 Resource Configurations → Exclude from Build 等价):写回 .cproject 活动配置(首个 cconfiguration)sourceEntries 的 excluding 列表(| 分隔;目录带命名 sourceEntry 时写目录内相对路径,否则写工程根相对全路径并在缺失时自动创建根 entry——与 MRS2 两种工程风格完全一致;排除带命名 entry 的顶层文件夹 = 移除该 entry 并在根 entry 写入 token,恢复时重建 entry)。被排除的资源在树中显示为灰色(行尾 ×)并排在最后;下次编译生效;编译输出目录不可排除 |
| 编译 / 重建 / 清理 |
每次构建前从 .cproject 重新生成 CDT 风格 makefile(现行 MRS 2.1.0 风格,与 MRS2 金标逐字节一致;1.9.2 布局亦可复现),再调 MRS 自带 make;错误进问题面板($mrvcgcc problemMatcher)。行内 Build / Rebuild / Download 按钮 + 右键菜单;Build All / Clean All / Solution 构建批处理(单工程失败不中断、可取消带汇总);Pre-build / Post-build steps 参与生成的 makefile |
| Build Project And Download |
工程右键 / 命令面板 构建工程并下载:编译 + 下载一条龙,编译成功才下载(与 MRS2 同名命令语义一致) |
| Show Full Build Output |
命令面板 / 输出面板右键打开上次构建的完整输出(MRS2 同款 buildContentRecord.txt 位置),单工程与批量构建均记录,尾部附全量编译指令清单(每个源文件的完整命令行) |
| 静态栈分析 |
设置 mrvc.build.analysis 开启后构建自动注入 -fstack-usage / -fdump-rtl-expand;Static Stack Usage / Function Call Analysis 命令生成分析报告(开源方案替代 MRS2 闭源解析器) |
| 新建工程向导 |
… 菜单 → 新建 MounRiver 工程 / 静态库:扫描 MRS2 SDK 模板(系列 → RTOS → 器件三步选择)→ 工程名 → 位置(可键入任意新路径自动创建,或点浏览按钮选择;默认上次创建目录),创建完成提示可一键在新窗口打开;renameProject 全套联动,MRS2 无损打开 |
| 下载烧录 |
工程行内 Flash 按钮 / 右键 Download:通过 MRS2 的 OpenOCD 下载 obj/ 产物(hex/bin,地址取自 .template 的 Address,双核工程自动选 wch-dual-core.cfg;.template 勾选 Erase All 时下载前全片擦除);输出进任务终端,失败弹提示 |
| Download Settings |
属性页 → Download → Download Settings(镜像 MRS2):读保护状态查询 / 使能 / 解除、调试保护、Linked MCU Type 查询、Erase Code Flash(By Pin NRST / By Power off)、MCU Memory Assign(Query/Apply)、Operation Record 操作日志;右侧完整编辑下载参数(MCU Type / Memory Type / Program Address / Debug Interface Mode / CLK Speed / Target File / Main Operations 八项),全部写回 .template(MRS2 无损打开)。硬件操作经系统 32 位 PowerShell P/Invoke 调用 MRS2 的 McuCompilerDll.dll,零新增依赖;芯片 ID 与能力开关自动来自芯片库,不支持的选项按芯片自动灰显 |
| 芯片选择器 |
属性页 → General → Chip / Target:MRS2 同款 "Target MCU Type" 选择器——系列树(RISC-V/ARM 分组)→ 型号列表 → 信息区;数据实时扫描 MRS2 的 SDK 组件目录(40+ 系列),选中后自动填充 Series / MCU / Mcu Type / Address 并写回 .template;SDK 缺失时回退文本编辑 |
| Build Steps / Build Artifact |
属性页 → C/C++ Build 分组:Build Steps(Pre/Post-build 的 Command 与 Description,进 makefile);Build Artifact(Artifact Type:Executable/Static Library;Artifact name 按 MRS 变量形式显示 ${ProjName};Artifact extension;Output prefix——产物名前缀与自定义扩展名在生成的 makefile 中生效) |
| Switch Project Type (C/C++) |
工程右键一键切换 CDT cxx nature:C++ 属性页显隐、.cpp 源扫描与 makefile 生成联动(与 MRS2 判定键一致) |
| 配置修改 |
"MRVC: Project Properties"(右键工程打开)——按 MRS2 原版属性页布局复刻:Tool Settings 分类树(Target Processor / Optimization / Warnings / Debugging / Assembler / C Compiler / C Linker / C++ Compiler / C++ Linker / Create Flash Image / Listing / Print Size 各含子页),左侧树结构、右侧页内容、底部描述区 + Apply/Cancel。涵盖工具链(rvGcc)、全部 ISA 扩展、17 项警告、C/C++ 编译与链接、hex/bin 双产物、objcopy/objdump 细项、WCH 专属库(-lprintf/-lprintfloat/-lIQmath_RV32)。Includes 页为表格编辑器(Add/Edit/Delete,Add 支持 Project 内复选框树浏览或 Local Folder,工程内路径自动写成 ${project}/… 宏)。仅 C++ 工程(Switch Project Type 切换)显示 C++ 配置页 |
| 外部链接文件夹 |
右键工程 → Add Linked Folder:同时更新 .project(linkedResources,支持 PARENT-N-PROJECT_LOC)与 .cproject(include 路径 + sourceEntries) |
| Sync Setting Across Projects |
树标题栏 … 菜单打开专用页面(Properties 同款两级导航树):123 个可同步编译开关(bool/enum)逐行带同步选择框(默认不勾)与值控件(值取自活动工程);勾选后 Apply 批量写入全部工程(C++ 选项自动跳过 C 工程并计数、可取消、输出频道逐工程 [OK/FAIL] 汇总) |
| IntelliSense 自动配置 |
自动生成每个工程的编译数据库(.vscode/mrvc/cc/)并维护 c_cpp_properties.json——c 文件的宏定义/头文件路径随工程精确解析,无需手动配置 includePath;工程树点选工程即切换分析上下文(cpptools 多数据库数组,≥1.23.5) |
| MRS Tools 工具集 |
树标题栏 … 菜单 → Tools 组(对齐 MRS2 Tools 菜单):一键拉起 WCH-LinkUtility / WCH In-System Programmer (WchIspStudio) / WCH Touchkey Calibrate Tool / WCHGUIDesigner / HexBin Studio / Serial Port Debug Tool (COMTransmit),分离进程启动 |
| WCH-LinkUtility |
命令面板 Open WCH-LinkUtility:直接拉起 MRS2 自带的 GUI 下载器(调试器模式切换/固件升级等深度操作);也已归入 … 菜单 Tools 组 |
| MRS 命令终端 |
预置工具链/make/OpenOCD 的 PATH |
| 工具链选择 |
auto(读 .cproject rvGcc/前缀)或强制 GCC8/GCC12/GCC15,均从 sub_manifest.json 动态解析 |