Skip to content

Commit 67db87a

Browse files
author
wellwei
committed
docs: add 0.2.2 changelog and README for auto-configure wizard
- changelog: 0.2.2 entry covering one-click auto-configure, PCM mismatch detection, non-LLVM toolchain UX, serial executor fix, xlings detection - README: update version to 0.2.2, add mcpp.autoConfigureModules to command table, add auto-configure to troubleshooting and LLVM integration sections, update roadmap and release tag example
1 parent 00f67c4 commit 67db87a

2 files changed

Lines changed: 26 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# 更新日志
22

3+
## 0.2.2
4+
5+
- 新增 **mcpp: 一键配置模块代码提示**:自动检测匹配的 clangd,缺失时通过 xlings 下载
6+
对应版本的 llvm-tools,配置 clangd 并刷新模块状态,无需重启 VS Code。
7+
- 检测 PCM 版本不匹配(`ast_file_version_too_new``ast_file_version_too_old`
8+
`ast_file_different_branch`),并在诊断信息中引导一键配置。
9+
- 非 LLVM 工具链(GCC/MSVC)项目提供清晰的引导说明而非催促安装:状态栏点击弹出
10+
QuickPick,一键配置向导显示原因并提供工具链安装/选择入口。
11+
- 优化编辑器标签切换性能:相同工程内切换文件不再重复协调 clangd。
12+
- 序列执行器使用 AsyncLocalStorage 范围标记替代全局深度计数,修复不相关并发调用
13+
绕过队列的问题。
14+
- 完善 xlings 检测:检查 PATH 中是否实际存在 xlings 而非无条件返回路径名,确保
15+
未安装时的引导分支可达。
16+
317
## 0.2.1
418

519
- 修复项目任务已经结束后,clangd/CDB 重协调仍占用项目锁,导致下一条 CLI 命令误报

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
把 mcpp 工程、C++ 模块语法和官方 clangd 扩展接入 VS Code。
88

9-
当前版本为 `0.2.1`。扩展负责工程发现、clangd 配置、模块状态检查以及常用
9+
当前版本为 `0.2.2`。扩展负责工程发现、clangd 配置、模块状态检查以及常用
1010
mcpp CLI 操作;它不实现新的 C++ 语言服务器,也不替代 mcpp 的构建逻辑。
1111

1212
> 当前完整的模块语义能力只支持 LLVM/Clang 工具链。GCC 和 MSVC 工程仍可使用
@@ -35,7 +35,7 @@ mcpp CLI 操作;它不实现新的 C++ 语言服务器,也不替代 mcpp 的
3535
VSIX,然后在 VS Code 中执行 **Extensions: Install from VSIX...**,或者运行:
3636

3737
```sh
38-
code --install-extension /path/to/mcpp-vscode-0.2.1.vsix
38+
code --install-extension /path/to/mcpp-vscode-0.2.2.vsix
3939
```
4040

4141
安装后确认当前 VS Code profile 中同时存在 `mcpp-community.mcpp-vscode`
@@ -104,6 +104,10 @@ TextMate 语法规则提供。
104104
检查可以区分模块可用、PCM 不匹配、模块产物不可用、语言模式错误和一般检查失败。
105105
完整命令及输出会写入 `mcpp` 输出频道。
106106

107+
当 clangd 与编译器不匹配时,**mcpp: 一键配置模块代码提示** 会通过 xlings 自动下载
108+
匹配版本的 llvm-tools(含 clangd),完成后配置 clangd 并刷新状态栏,无需 Reload
109+
Window。非 LLVM 工具链(GCC/MSVC)项目会得到清晰的引导说明,不做自动切换。
110+
107111
### 自动协调与多根工作区
108112

109113
- CDB 创建或变化后自动重新分析、配置、重启和检查;删除后更新为缺少 CDB 状态。
@@ -146,6 +150,7 @@ TextMate 语法规则提供。
146150
| **mcpp: 配置 clangd** | 手动重新应用当前 LLVM 工程的 clangd 配置 |
147151
| **mcpp: 刷新编译数据库** | 执行 `mcpp build`,随后重新读取 CDB 并协调 clangd |
148152
| **mcpp: 检查模块支持** | 立即执行 clangd 直接检查并刷新模块状态 |
153+
| **mcpp: 一键配置模块代码提示** | 自动检测匹配 clangd,缺失时通过 xlings 安装 llvm-tools 并配置 |
149154

150155
## 设置
151156

@@ -279,6 +284,7 @@ GCC `.gcm` 和 MSVC `.ifc` 是编译器专用产物。mcpp 可以正常构建它
279284

280285
- 使用用户显式构建后产生的 LLVM CDB 和 PCM。
281286
- 自动配置 clangd、检查模块、监听变化并提供 CLI/工具链菜单。
287+
- 一键自动安装匹配的 llvm-tools 并配置模块代码提示。
282288
- GCC/MSVC 保持语法高亮和 mcpp 构建操作,不增加语义后端。
283289

284290
### 阶段 2:mcpp IDE 协议
@@ -327,6 +333,8 @@ macOS 从图形界面启动 VS Code 时可能没有继承终端 `PATH`。将 `mc
327333

328334
### clangd 未安装或无法匹配
329335

336+
- 执行 **mcpp: 一键配置模块代码提示**,扩展会自动通过 xlings 安装与当前编译器
337+
版本匹配的 llvm-tools(含 clangd)。
330338
- `mcpp.clangd.path` 可以指向任意安装来源的真实 clangd,不要求与 mcpp 同目录。
331339
- 自动发现会尝试编译器同目录、匹配的 xlings `xim-x-llvm-tools/<version>/bin`
332340
`PATH`
@@ -363,8 +371,8 @@ API、状态栏、任务和 clangd 集成。
363371
版本完全一致的 tag:
364372

365373
```sh
366-
git tag -a v0.2.1 -m "mcpp-vscode 0.2.1"
367-
git push origin v0.2.1
374+
git tag -a v0.2.2 -m "mcpp-vscode 0.2.2"
375+
git push origin v0.2.2
368376
```
369377

370378
`.github/workflows/release.yml` 会校验 tag,执行测试和打包,生成 VSIX 与 SHA-256 文件,

0 commit comments

Comments
 (0)