|
2 | 2 |
|
3 | 3 | **Period:** January – March 2, 2026 |
4 | 4 | **Repository:** `microsoft/vscode-cmake-tools` |
5 | | -**Report generated:** 2026-03-02 (updated) |
| 5 | +**Report generated:** 2026-03-02 (updated — added missing PR #4763) |
6 | 6 | **Data source:** GitHub API (live PR status as of report date) |
7 | 7 |
|
8 | 8 | --- |
9 | 9 |
|
10 | 10 | ## Overall Stats |
11 | 11 |
|
12 | | -38 PRs have been raised so far. |
| 12 | +39 PRs have been raised so far. |
13 | 13 |
|
14 | | -**14/38 PRs were successes and merged.** (#4555/PR #4659, #4484/PR #4681, #4551/PR #4672, #4651/PR #4660, #4219/PR #4708, #4358/PR #4706, #4569/PR #4712, #3578/PR #4713, #4453/PR #4719, #4520/PR #4724, #4726/PR #4729, #4727/PR #4728, #4589/PR #4756, #4656/PR #4757) |
| 14 | +**14/39 PRs were successes and merged.** (#4555/PR #4659, #4484/PR #4681, #4551/PR #4672, #4651/PR #4660, #4219/PR #4708, #4358/PR #4706, #4569/PR #4712, #3578/PR #4713, #4453/PR #4719, #4520/PR #4724, #4726/PR #4729, #4727/PR #4728, #4589/PR #4756, #4656/PR #4757) |
15 | 15 |
|
16 | | -**15/38 PRs are still open.** |
| 16 | +**16/39 PRs are still open.** |
17 | 17 |
|
18 | | -- 5/15 PRs are potential successes. Copilot's solution looks correct, but manual testing needs to be done before merging. (#3575/PR #4702, #4574/PR #4701, #4000/PR #4696, #4563/PR #4679, #4639/PR #4661) |
| 18 | +- 5/16 PRs are potential successes. Copilot's solution looks correct, but manual testing needs to be done before merging. (#3575/PR #4702, #4574/PR #4701, #4000/PR #4696, #4563/PR #4679, #4639/PR #4661) |
19 | 19 |
|
20 | | -- 4/15 PRs have potential. More prompting/testing needs to be done before determining the validity of Copilot's solution. (#4051/PR #4707, #4621/PR #4674, #4560/PR #4680, #4313/PR #4682) |
| 20 | +- 4/16 PRs have potential. More prompting/testing needs to be done before determining the validity of Copilot's solution. (#4051/PR #4707, #4621/PR #4674, #4560/PR #4680, #4313/PR #4682) |
21 | 21 |
|
22 | | -- 1/15 PRs seem like they are potential failures. (#4623/PR #4678) |
| 22 | +- 1/16 PRs seem like they are potential failures. (#4623/PR #4678) |
23 | 23 |
|
24 | | -- 1/15 PRs is a stalled draft with no code committed. (#4667/PR #4686) |
| 24 | +- 1/16 PRs is a stalled draft with no code committed. (#4667/PR #4686) |
25 | 25 |
|
26 | | -- 1/15 PRs has potential but needs further prompting. (#4509/PR #4671) |
| 26 | +- 1/16 PRs has potential but needs further prompting. (#4509/PR #4671) |
27 | 27 |
|
28 | | -- 3/15 PRs are newly opened and need initial review. (#2426/PR #4772, #4777/PR #4778, #4225/PR #4779) |
| 28 | +- 4/16 PRs are newly opened and need initial review. (#2426/PR #4772, #4777/PR #4778, #4225/PR #4779, #2301/PR #4763) |
29 | 29 |
|
30 | | -**9/38 PRs were closed without being merged.** |
| 30 | +**9/39 PRs were closed without being merged.** |
31 | 31 |
|
32 | 32 | - 5/9 PRs were failures. (#4668/PR #4669, #4589/PR #4663, #4267/PR #4665, #4613/PR #4673, #4676/PR #4677) |
33 | 33 |
|
|
81 | 81 | | 36 | 2/27 | | #2426 / PR #4772 | | Potential | Feature request from 2022 to support per-generator-type `cmake.buildDirectory` values (single-config vs multi-config generators). Copilot implemented an object form alongside the existing string form: `{ "singleConfig": "...", "multiConfig": "..." }`. Changes span `package.json` schema (`oneOf`), `config.ts` (type widening + `isMultiConfig?` parameter), `cmakeDriver.ts` (pass `isMultiConfFast`), `projectController.ts` (check both branches in duplicate-directory warning), and 8 new unit tests. Draft with +117/−10 across 7 files. Backward-compatible: existing string form unchanged. Needs manual testing with various generator types. | |
82 | 82 | | 37 | 3/2 | | #4777 / PR #4778 | | Potential Success | Changes to files referenced via `include` in `CMakePresets.json` or `CMakeUserPresets.json` were not detected by the extension until VS Code restart — even "Delete Cache / Reconfigure" didn't pick up new content. Copilot unified FileWatcher event handling: all filesystem events (change, create, delete) now use a single debounced callback. Previously, `onDidCreate` had a separate non-debounced handler causing a race condition when tools like Conan regenerate included files via atomic write (delete→create). Also added `reapplyPresets()` call in `configureInternal()` so explicit user commands always use fresh preset state. Includes unit tests for unified debouncing and atomic write handling. 4 files, +72/−23. Changelog included. Well-scoped fix with clear root cause analysis. | |
83 | 83 | | 38 | 3/2 | | #4225 / PR #4779 | | Potential | [WIP] draft to improve automatic MSVC dev environment setup with presets. Users currently must add `"CMAKE_CXX_COMPILER": "cl"` to cacheVariables — Visual Studio and CLion infer MSVC intent from toolset/architecture fields alone. Copilot's planned approach: detect MSVC intent from VS generator name, `toolset.strategy === 'external'`, and `architecture.strategy === 'external'`. Also plans `log.info` hint when auto mode skips VS Dev Env on Windows. 1 commit with investigation work, implementation not yet complete. Detailed prompt with suggested code structure and acceptance criteria. | |
| 84 | +| 39 | 2/26 | | #2301 / PR #4763 | | Potential | Feature request from 2022 to evaluate `environmentSetupScript` before searching for the CMake executable, so `$PATH` modifications from the script are respected. Copilot threaded an optional `searchPATH` parameter through `Paths.which()` → `getCMakePath()` → `DirectoryContext` wrappers using the `which` npm package's native `path` option. In `getCMakePathofProject()`, calls `effectiveKitEnvironment()` when the active kit has an `environmentSetupScript` and passes the resulting PATH into the resolution chain. Backward-compatible: all new parameters are optional. Draft with +106/−16 across 5 files. No unit tests yet but approach follows existing kit environment patterns. Accepts double script execution (once for cmake resolution, once in driver `_setKit()`) as pragmatic trade-off. | |
84 | 85 |
|
85 | 86 | --- |
86 | 87 |
|
|
118 | 119 | | Opus 4.5 | 3 | 2 | 3 (100%) | 0 | 0% | |
119 | 120 | | Sonnet 4.5 | 8 | 2 | 4 (50%) | 3 | **37.5%** | |
120 | 121 | | GPT-5.2-Codex | 1 | 0 | 0 (0%) | 1 | 100% | |
121 | | -| Unknown (later batch) | 19 | 8 | 14 (74%) | 2 | 11% | |
| 122 | +| Unknown (later batch) | 20 | 8 | 15 (75%) | 2 | 10% | |
122 | 123 |
|
123 | 124 | **Key observation: Opus 4.6 has zero true failures across 7 PRs.** Its one closed PR (#4705) was correctly diagnosed but redundant — closed because the fix was already merged, not because the solution was wrong. Opus 4.6 also produced the strongest individual fixes in the batch: PR #4708 (target resolution with unit tests), PR #4706 (preset installPrefix with pattern matching), and the still-open PR #4696 (cache editor architectural rewrite). |
124 | 125 |
|
|
128 | 129 | - More complete implementations (PR #4702's temp-file approach reuses `visualStudio.ts` and `kit.ts` patterns) |
129 | 130 | - Zero compounding-error iterations — every Opus 4.6 PR was either correct or correctly diagnosed but unimplemented |
130 | 131 |
|
131 | | -The later "unknown model" batch (PRs #27–38, 8 merged out of 19) reflects the shift toward Opus 4.6 and shows a high merge rate with consistently high-quality fixes including unit tests — confirming that the model upgrade delivered measurable quality improvement. Notable additions include PR #4756 (retry of previously-failed #4663 with a simpler approach — succeeded), PR #4757 (feature implementation with build dedup cache and 9 tests), and PR #4779 (MSVC dev env auto-detection with detailed prompt guidance). |
| 132 | +The later "unknown model" batch (PRs #27–39, 8 merged out of 20) reflects the shift toward Opus 4.6 and shows a high merge rate with consistently high-quality fixes including unit tests — confirming that the model upgrade delivered measurable quality improvement. Notable additions include PR #4756 (retry of previously-failed #4663 with a simpler approach — succeeded), PR #4757 (feature implementation with build dedup cache and 9 tests), PR #4779 (MSVC dev env auto-detection with detailed prompt guidance), and PR #4763 (environmentSetupScript PATH evaluation threading through multiple layers). |
0 commit comments