Skip to content

Commit be14ad9

Browse files
authored
Merge branch 'main' into feat/mcpp-toml-structure-completion
2 parents c90bf6a + 18d828e commit be14ad9

24 files changed

Lines changed: 3365 additions & 169 deletions

.github/workflows/ci.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: ci-${{ github.event.pull_request.number || github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
unit-and-package:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: 22
24+
cache: npm
25+
- run: npm ci
26+
- run: npm test
27+
- run: npm run package
28+
- name: Verify VSIX archive
29+
run: unzip -t mcpp-vscode-*.vsix
30+
31+
extension-host-e2e:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- uses: actions/checkout@v4
35+
- uses: actions/setup-node@v4
36+
with:
37+
node-version: 22
38+
cache: npm
39+
- run: npm ci
40+
- name: Run Extension Host smoke tests
41+
run: xvfb-run -a npm run test:e2e

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,11 @@ TextMate 语法规则提供。
114114
检查可以区分模块可用、PCM 不匹配、模块产物不可用、语言模式错误和一般检查失败。
115115
完整命令及输出会写入 `mcpp` 输出频道。
116116

117-
当 clangd 与编译器不匹配时,**mcpp: 一键配置模块代码提示** 会通过 xlings 自动下载
118-
匹配版本的 llvm-tools(含 clangd),完成后配置 clangd 并刷新状态栏,无需 Reload
119-
Window。非 LLVM 工具链(GCC/MSVC)项目会得到清晰的引导说明,不做自动切换。
117+
**mcpp: 一键配置模块代码提示** 会先读取工具链状态,再显示一次模态确认。确认后,
118+
它可以自动安装 host LLVM、设置 mcpp 全局默认、执行 `mcpp build`,并通过已安装的
119+
xlings 补齐匹配版本的 llvm-tools(含 clangd),最后重新读取 CDB、配置 clangd 和检查
120+
模块状态,无需 Reload Window。项目在 `mcpp.toml` 或 target 中显式固定 GCC/MSVC 时,
121+
一键流程会停止并提示手动处理,绝不修改项目配置或伪装成全局切换成功。
120122

121123
### 自动协调与多根工作区
122124

@@ -142,8 +144,9 @@ Window。非 LLVM 工具链(GCC/MSVC)项目会得到清晰的引导说明,
142144
状态和可安装版本。
143145
- 安装 mcpp 支持的工具链 spec,或从已安装/系统项中选择全局默认工具链。
144146

145-
安装和修改默认值都需要确认。取消操作不会被当成成功,工具链安装和默认值修改共享
146-
全局互斥锁。
147+
安装和修改默认值都需要确认。取消操作不会被当成成功,工具链安装、默认值修改和构建
148+
共享一个全局互斥锁;一键配置只在开始处确认一次,之后不会弹出工具链选择或“是否刷新
149+
编译数据库”的二次询问。
147150

148151
## 命令
149152

@@ -160,7 +163,7 @@ Window。非 LLVM 工具链(GCC/MSVC)项目会得到清晰的引导说明,
160163
| **mcpp: 配置 clangd** | 手动重新应用当前 LLVM 工程的 clangd 配置 |
161164
| **mcpp: 刷新编译数据库** | 执行 `mcpp build`,随后重新读取 CDB 并协调 clangd |
162165
| **mcpp: 检查模块支持** | 立即执行 clangd 直接检查并刷新模块状态 |
163-
| **mcpp: 一键配置模块代码提示** | 自动检测匹配 clangd,缺失时通过 xlings 安装 llvm-tools 并配置 |
166+
| **mcpp: 一键配置模块代码提示** | 一次确认后自动安装/切换 host LLVM、执行 `mcpp build`,通过 xlings 补齐匹配 llvm-tools,重载 CDB 并配置 clangd;项目显式固定非 LLVM 工具链时停止 |
164167

165168
## 设置
166169

0 commit comments

Comments
 (0)