Skip to content

feat: add mcpp.newProject command to scaffold and open projects - #3

Open
Ximiaw wants to merge 1 commit into
mcpp-community:mainfrom
Ximiaw:feat/new-project
Open

feat: add mcpp.newProject command to scaffold and open projects#3
Ximiaw wants to merge 1 commit into
mcpp-community:mainfrom
Ximiaw:feat/new-project

Conversation

@Ximiaw

@Ximiaw Ximiaw commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

功能

新增 mcpp.newProject 命令(命令面板「mcpp: 新建工程」),在 VS Code 内完成新项目脚手架:

  1. 输入项目名(校验非空、不含路径分隔符)
  2. 选择项目位置
  3. 模态确认后,在所选位置执行 mcpp new <项目名>,创建同名项目文件夹
  4. 成功后打开新项目文件夹,并在新窗口中自动执行 mcpp.refreshCompilationDatabase,完成首次构建与 clangd 配置

实现说明

  • 命令注册在 McppCliController,复用 runProcessmcpp.path 设置,受工作区信任约束;失败时提示并将日志保留在 mcpp 输出频道
  • vscode.openFolder 会重载窗口,刷新请求通过 globalStatePENDING_NEW_PROJECT_KEY)传递到新窗口,activate 时核对项目路径后兑现,且只兑现一次
  • 刷新以后台方式触发(void),不阻塞 activate()——否则扩展激活期间命令会排队,表现为编辑器标题按钮点击无反应

测试

  • 更新 commands.test.tsartifacts.test.ts 的命令清单断言
  • 新增两个结构测试:确认步骤在创建之前、globalState 标记在打开文件夹之前写入;activate 中刷新为非阻塞调用
  • npm test:97 个测试全部通过

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant