Compare commits

..
Author SHA1 Message Date
2189c2346c Merge for 1.32.0 (pre-release) (#14375)
* Update changelog and TPN. (#14298)

* Update flatted and fast-xml-parser. (#14303)

* Bump flatted from 3.4.1 to 3.4.2 in /Extension (#14304)

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.1 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update changelog with recent fixes. (#14313)

* Bump picomatch from 2.3.1 to 2.3.2 in /ExtensionPack (#14318)

Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump picomatch from 2.3.1 to 2.3.2 in /.github/actions (#14319)

Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>

* Bump picomatch from 2.3.1 to 2.3.2 in /Themes (#14323)

Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update picomatch. (#14324)

* Update brace-expansion v5. (#14325)

* Bump serialize-javascript from 7.0.4 to 7.0.5 in /.github/actions (#14332)

Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases)
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v7.0.4...v7.0.5)

---
updated-dependencies:
- dependency-name: serialize-javascript
  dependency-version: 7.0.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update brace-expansion and serialize-javascript. (#14328)

* minimize the calls to lm.selectChatModels (#14327)

* Update brace-expansion for other folders (#14333)

* Update brace-expansion for other folders.

* Update changelog for 1.31.4. (#14338)

* Bump @xmldom/xmldom from 0.8.11 to 0.8.12 in /Extension (#14340)

Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom) from 0.8.11 to 0.8.12.
- [Release notes](https://github.com/xmldom/xmldom/releases)
- [Changelog](https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/xmldom/xmldom/compare/0.8.11...0.8.12)

---
updated-dependencies:
- dependency-name: "@xmldom/xmldom"
  dependency-version: 0.8.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update TPN. (#14343)

* Update npmrc. (#14346)

* Prefer GPT-5-mini for Copilot Hover (#14349)

* Update lodash. (#14350)

* Fix npx @vscode/vsce. (#14354)

* Fix npx @vscode/vsce.

* Fix cg.yml. (#14355)

* UCRTVersion is not required for a developer environment (#14358)

* Update instructions for installing MSVC (#14361)

* Bump axios from 1.13.6 to 1.15.0 in /.github/actions (#14365)

Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add setting doxygen.generateOnCodeAction. (#14342)

* Run without debugging (#14351)

* Switch to GPT-4o. (#14364)

* Fallback to GPT-5.4-mini and cache the model used. (#14369)

* Fallback to GPT-5.4-mini and cache the model used.

* Add a script to copy language server and debugger binaries to the Extension folder (#14370)

* Add internal silent find-all-references command (#14281)

* Add internal silent find-all-references command

Introduce an internal C_Cpp.FindAllReferences command that issues the existing cpptools/findAllReferences request without joining the workspaceReferences single-flight cancellation path.

Extract the shared request and confirmed-location mapping logic from FindAllReferencesProvider so the existing vscode.executeReferenceProvider flow and the new silent command use the same request translation and cancellation handling for server-side cancel responses.

Keep the interactive provider behavior unchanged: user-invoked references still cancel prior work, reset reference progress state, and update the ReferencesManager UI. The new command resolves the owning client from the target URI and returns locations without progress UI, preview notifications, or references panel updates, enabling concurrent silent callers such as Copilot.

* Add internal quiet definition and call hierarchy commands

Align cpptools with the companion changes that now prefer internal
C_Cpp.* navigation commands over the generic vscode.* provider commands
when running extension-driven symbol queries.

Add C_Cpp.GoToDefinition, C_Cpp.PrepareCallHierarchy,
C_Cpp.CallHierarchyCallsTo, and C_Cpp.CallHierarchyCallsFrom as
internal commands that resolve the owning DefaultClient from the target
URI and send requests directly to cpptools without joining the
workspaceReferences UI and single-flight cancellation path.

Extract shared call hierarchy request and conversion logic from
CallHierarchyProvider so the existing interactive provider flow and the
new silent commands share the same request translation and
server-cancellation handling.

Add a dedicated go-to-definition helper that sends the standard
definition request through the language client and normalizes both
Location and DefinitionLink responses to Location[] so companion callers
can consume a stable result shape.

Keep interactive behavior unchanged: user-invoked providers continue to
use the existing VS Code registrations, progress handling, and
workspaceReferences-driven cancellation semantics, while extension
callers such as the devtools companion can use the new internal command
surface without canceling overlapping work.

* Update changelog for 1.32.0. (#14373)

* Update changelog for 1.32.0.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luca <[email protected]>
Co-authored-by: Ben McMorran <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
Co-authored-by: Carson Radtke <[email protected]>
2026-04-14 11:29:39 -07:00
Sean McManus 37e3936cc7 Merge branch 'main' into seanmcm/1_32_0_changelog 2026-04-14 10:57:48 -07:00
Sean McManus f0d05b9cdf Merge pull request #14297 from microsoft/seanmcm/1_31_2_update_skip_duplicates
Update insiders for CFSClean3 fixes (and set the version to 1.31.2 for skip-duplicates)
2026-03-18 13:37:27 -07:00
Sean McManus 401393418f Change version to 1.31.2 to enable skip-duplicates for build verifications. 2026-03-18 13:14:03 -07:00
Sean McManus 1d239e0b31 Merge branch 'main' into seanmcm/1_31_2_update_skip_duplicates 2026-03-18 13:13:17 -07:00
Sean McManus 69485c736d Merge pull request #14283 from microsoft/main
Fix a yarn.lock mismatch. (#14282)
2026-03-16 16:17:32 -07:00
Sean McManus 5e8ca66b5f Merge pull request #14280 from microsoft/main
Merge for 1.31.2
2026-03-16 12:32:54 -07:00
Sean McManus 77effb9b85 Merge pull request #14260 from microsoft/main
Merge for 1.31.1 (3rd time)
2026-03-10 10:55:26 -07:00
Sean McManus 770ef315d5 Merge pull request #14255 from microsoft/main
Update TPN for 1.31.1. (#14254)
2026-03-09 16:50:27 -07:00
Sean McManus 4bc7ad3f6e Merge pull request #14240 from microsoft/main
Merge for 1.31.1 (pre-release)
2026-03-05 18:12:41 -08:00
Sean McManus 4a1150ebaa Merge pull request #14210 from microsoft/main
Merge to insiders -- this is to build a test vsix to confirm pipeline issues are resolved, not an actual release
2026-02-23 13:39:05 -08:00
Sean McManus 9b3b23fafa Merge pull request #14199 from microsoft/main
Merge for 1.31.0 (pre-release)
2026-02-18 18:19:31 -08:00
Sean McManus e9bf244599 Merge pull request #14147 from microsoft/main
Merge for 1.30.2 (pre-release)
2026-01-23 18:46:16 -08:00
Sean McManusandBen McMorran 3e3c93b814 Merge for 1.30.1 (pre-release) (#14134)
* Fix Copilot hover model selection (#14113)

* Update IntelliSense loc strings. (#14131)

* Update changelog for 1.30.1 (#14133)

* Update changelog for 1.30.1

---------

Co-authored-by: Ben McMorran <[email protected]>
2026-01-12 11:49:03 -08:00
Sean McManus fcaadd8ef5 Merge pull request #14107 from microsoft/main
Merge for 1.30.0 (pre-release)
2025-12-12 16:50:30 -08:00
Sean McManus 2b24151d93 Merge pull request #14059 from microsoft/main
Merge for 1.29.1 (pre-release)
2025-11-20 15:09:26 -08:00
Sean McManus e75c76070e Merge pull request #14034 from microsoft/main
Merge for 1.29.0
2025-11-03 11:30:16 -08:00
Sean McManusandBob Brown 97d3735bb2 Merge for 1.28.2 (2nd time) (#13997)
* Fix some invalid assumptions for tasks (#13989)

* Update changeling and version for 1.28.2 (#13990)

* Update changelog and version for 1.28.2.

* Remove llvm from cgmanifest. (#13994)

* Update changelog. (#13996)

---------

Co-authored-by: Bob Brown <[email protected]>
2025-10-13 14:29:28 -07:00
Sean McManus f33c3b6205 Merge pull request #13983 from microsoft/main
Update changleog (2nd time). (#13981)
2025-10-06 14:39:07 -07:00
Sean McManus 55e2ee962e Merge pull request #13978 from microsoft/main
Merge for 1.25.1 (pre-release)
2025-10-03 15:46:00 -07:00
Sean McManus 52620d638c Merge pull request #13964 from microsoft/main
Merge for 1.28.0
2025-09-24 17:13:46 -07:00
Sean McManus 31f8ee8814 Merge pull request #13935 from microsoft/main
Merge for 1.27.6
2025-09-15 16:42:11 -07:00
Sean McManus 1e19dd9f8d Merge pull request #13921 from microsoft/main
Merge for 1.27.5
2025-09-10 12:30:04 -07:00
Sean McManus 9f4077452f Merge pull request #13913 from microsoft/main
Merge for 1.27.4 (2nd time)
2025-09-09 10:23:41 -07:00
Sean McManus 17a1b3199a Merge pull request #13903 from microsoft/main
Merge for 1.27.4
2025-09-05 16:43:18 -07:00
Sean McManus 1ed7c869aa Merge pull request #13895 from microsoft/main
Merge for 1.27.3
2025-09-02 17:11:52 -07:00
Sean McManus b1ed550820 Merge pull request #13871 from microsoft/main
Fix changelog version. (#13870)
2025-08-21 16:15:22 -07:00
Sean McManus 0d6853ce6c Merge pull request #13869 from microsoft/main
Update changelog and version. (#13868)
2025-08-21 14:57:08 -07:00
Sean McManus 49aa6d7543 Merge pull request #13856 from microsoft/main
Merge for 1.27.1
2025-08-18 14:49:10 -07:00
Sean McManus 51615a38c6 Merge pull request #13833 from microsoft/main
Merge for 1.27.0 (4th time)
2025-08-06 18:51:41 -07:00
Bob Brown bcb0bc476b Merge for 1.27.0 (3rd time)
Merge for 1.27.0 (3rd time)
2025-08-04 16:43:29 -07:00
Bob Brown 59c08fba3e Merge branch 'main' into bobbrow/insiders-1.27.0.3 2025-08-04 16:37:10 -07:00
Bob Brown 7ccb51eead Merge pull request #13812 from microsoft/bobbrow/revertSquash
Revert accidental squash commit
2025-08-04 16:35:47 -07:00
Bob Brown 1f3963e9ef Revert "Merge for 1.27.0 (2nd time) (#13803)"
This reverts commit e340d858e7.
2025-08-04 16:25:04 -07:00
Colen Garoutte-Carson e340d858e7 Merge for 1.27.0 (2nd time) (#13803) 2025-08-01 16:47:49 -07:00
Sean McManus d8636d9057 Merge pull request #13759 from microsoft/main
Merge for 1.27.0 (pre-release)
2025-07-14 15:31:34 -07:00
Sean McManus f9199c761a Merge pull request #13714 from microsoft/main
Merge for 1.26.2 pre-release
2025-06-18 14:14:05 -07:00
Sean McManus eedc0a26cc Merge pull request #13631 from microsoft/main
fix typo (#13630)
2025-05-22 18:55:33 -07:00
Sean McManus ae056fd205 Merge pull request #13629 from microsoft/main
Update changelog for 1.26.1 (#13627)
2025-05-22 16:30:41 -07:00
Sean McManusandLuca 598411c6b8 add note about C++ Copilot suggestions improvement (#13624) (#13625)
Co-authored-by: Luca <[email protected]>
2025-05-21 14:01:11 -07:00
Sean McManus d14eb4ec1d Merge pull request #13623 from microsoft/main
Merge for 1.26.0
2025-05-21 12:29:13 -07:00
Sean McManus 68f7e902a5 Merge pull request #13555 from microsoft/main
Merge for 1.25.2 (2nd time)
2025-04-25 15:22:31 -07:00
Sean McManus 9cf7cda837 Merge pull request #13551 from microsoft/main
Merge for 1.25.2
2025-04-25 11:52:07 -07:00
Sean McManus 248788d4f6 Merge pull request #13542 from microsoft/main
Merge for 1.25.1
2025-04-22 09:41:05 -07:00
Sean McManus 4355f92dd8 Merge pull request #13488 from microsoft/main
Merge for 1.25.0 (2nd time)
2025-04-10 16:09:14 -07:00
Sean McManus 86332db0ed Merge pull request #13482 from microsoft/main
Merger for 1.25.0 (pre-release)
2025-04-10 08:37:52 -07:00
Sean McManus ee2fb39cb8 Merge pull request #13429 from microsoft/main
Merge for 1.24.4 (2nd time)
2025-03-26 14:20:09 -07:00
Sean McManus 7d58a314d9 Merge pull request #13419 from microsoft/main
Merge for 1.24.4
2025-03-26 11:10:08 -07:00
Colen Garoutte-Carson 2acdea1cc9 Merge pull request #13387 from microsoft/main 2025-03-18 15:14:59 -07:00
Sean McManus d24f781721 Merge pull request #13384 from microsoft/main
Merge for 1.24.3 (pre-release)
2025-03-18 13:23:26 -07:00
Colen Garoutte-Carson 399d558522 Merge pull request #13346 from microsoft/main 2025-03-06 15:21:29 -08:00
Sean McManus 0fd436f3ef Merge pull request #13280 from microsoft/main
Merge for 1.24.1
2025-02-13 15:03:59 -08:00
Sean McManus b6e18b00a9 Merge pull request #13271 from microsoft/main
Merge for 1.24.0 (2nd time)
2025-02-11 06:55:18 -08:00
Sean McManus cb3964f78e Merge pull request #13267 from microsoft/main
Fix Copilot hover reprompting. (#13266)
2025-02-10 11:51:03 -08:00
Sean McManus 50b4cd3bd5 Merge pull request #13257 from microsoft/main
Merge for 1.24.0 (2nd time)
2025-02-07 16:22:41 -08:00
Sean McManus 161f02dc49 Merge pull request #13250 from microsoft/seanmcm/1_24_0_insiders
Merge for 1.24.0
2025-02-07 13:42:21 -08:00
Sean McManus c48729b0e4 Merge branch 'main' into seanmcm/1_24_0_insiders 2025-02-06 21:18:02 -08:00
Sean McManus e7dff799fd Merge pull request #13179 from microsoft/seanmcm/1_23_4_cherrypicks2
More cherry picks for 1.23.4
2025-01-21 16:31:21 -08:00
Sean McManus ec41c3e481 Add a changelog entry. (#13177) 2025-01-21 16:30:13 -08:00
[email protected] 71cf89ce70 [Auto] Localization - Translated Strings (#13027) 2025-01-21 16:14:44 -08:00
Sean McManus f7863066f3 Merge pull request #13168 from microsoft/seanmcm/cherryPick1_23_4
Cherry-pick for 1.23.4
2025-01-17 18:21:21 -08:00
Sean McManus 0c2862c379 Update changelog for 1.23.4 (3rd time) (#13164)
* Update changelog (3rd time).
* Minor TPN changes.
2025-01-17 18:13:23 -08:00
Sean McManus 6026c84c6f Merge pull request #13163 from microsoft/main
Merge for 1.23.4 (2nd time)
2025-01-16 10:46:23 -08:00
Sean McManus e3ee2ee76a Merge pull request #13156 from microsoft/main
Merge for 1.23.4 (pre-release)
2025-01-15 15:44:30 -08:00
Sean McManus ff1cd88466 Merge pull request #13136 from microsoft/main
Merge for 1.23.3 (pre-release)
2025-01-08 14:04:36 -08:00
Colen Garoutte-Carson 98696368f4 Merge pull request #13025 from microsoft/main 2024-12-05 12:45:31 -08:00
Sean McManus 99d98afcec Merge pull request #13021 from microsoft/main
Merge to insiders for 1.23.2
2024-12-04 20:04:33 -08:00
Sean McManus 784f1450c0 Merge pull request #12939 from microsoft/main
Update changelog. (#12938)
2024-11-06 13:56:23 -08:00
Sean McManus 7d26dd1c4f Merge pull request #12932 from microsoft/main
Merge for 1.23.1
2024-11-05 17:29:22 -08:00
Sean McManus 381d69646b Merge pull request #12900 from microsoft/main
Merge for 1.23.0 (2nd time)
2024-10-29 13:02:21 -07:00
Sean McManus bfa36bc662 Merge pull request #12886 from microsoft/main
Merge for 1.23.0 (2nd time)
2024-10-24 16:59:12 -07:00
Sean McManus 5cbe83ec44 Merge pull request #12877 from microsoft/main
Preliminary merge for 1.23.0
2024-10-22 17:02:44 -07:00
Colen Garoutte-Carson d41ccfd497 Merge pull request #12818 from microsoft/main 2024-10-07 18:05:23 -07:00
Sean McManus c8b7f13c1a Merge pull request #12791 from microsoft/main
Merge for 1.22.7
2024-09-30 16:12:32 -07:00
Colen Garoutte-Carson 8d0d3601a7 Merge pull request #12770 from microsoft/main 2024-09-25 15:46:38 -07:00
Sean McManus e9613ae7ad Merge pull request #12764 from microsoft/main
Merge for 1.22.5
2024-09-24 16:55:39 -07:00
Colen Garoutte-Carson 3570705b5c Merge pull request #12742 from microsoft/main 2024-09-19 16:12:27 -07:00
Colen Garoutte-Carson 096b1463a6 Merge pull request #12740 from microsoft/main 2024-09-19 15:32:11 -07:00
Colen Garoutte-Carson 812318163d Merge pull request #12738 from microsoft/main 2024-09-19 15:04:30 -07:00
Colen Garoutte-Carson 225b776d99 Merge pull request #12734 from microsoft/main 2024-09-18 14:30:06 -07:00
Colen Garoutte-Carson 12d95f4708 Merge pull request #12707 from microsoft/main 2024-09-12 12:23:00 -07:00
Sean McManus 317df57496 Merge pull request #12658 from microsoft/main
Merge for 1.22.2
2024-08-29 19:31:09 -07:00
Sean McManus f63c3652f8 Merge pull request #12654 from microsoft/main
Merge for 1.22.1
2024-08-29 13:36:59 -07:00
Sean McManus 5d62607760 Merge pull request #12633 from microsoft/main
Merge for 1.22.0 (2nd time)
2024-08-26 15:23:50 -07:00
Sean McManus 26d0932972 Merge pull request #12610 from microsoft/main
Merge for 1.22.0 (pre-release)
2024-08-21 14:05:26 -07:00
Sean McManus 825033f768 Merge pull request #12467 from microsoft/main
Merge for 1.21.1 (pre-release)
2024-07-12 11:50:25 -07:00
Sean McManus d8426caacc Merge pull request #12389 from microsoft/main
Fix crash from loc message mismatch. (#12388)
2024-06-17 14:36:02 -07:00
Sean McManus 8942530744 Merge pull request #12386 from microsoft/main
Update changelog date. (#12385)
2024-06-17 11:03:29 -07:00
Sean McManus e663939e56 Merge pull request #12374 from microsoft/seanmcm/1_21_0_insiders
Merge for 1.21.0
2024-06-13 19:22:14 -07:00
Sean McManus 1fb5b63ab7 Merge branch 'main' into seanmcm/1_21_0_insiders 2024-06-13 14:47:55 -07:00
Sean McManus fd482d2169 Merge pull request #12274 from microsoft/seanmcm/1_20_4_cherrypick
Updates for 1.20.4 (#12273)
2024-05-02 11:16:42 -07:00
Sean McManus 2fafd831e5 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:14:49 -07:00
Sean McManus 1ceae9d4ed Merge pull request #12266 from microsoft/seanmcm/1_20_3_cherryPicks
Cherry-picks for 1.20.3
2024-04-30 16:18:52 -07:00
Sean McManus d4d5d4551f Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:11:53 -07:00
Sean McManus 0ef77b5616 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-30 13:11:10 -07:00
Sean McManus efdc8e90f6 Merge pull request #12235 from microsoft/seanmcm/1_20_2_cherryPicks2
Cherry-picks for 1.20.2
2024-04-19 17:17:01 -07:00
Sean McManus 9f020e9258 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:57:13 -07:00
Bob Brown c058568767 rename the property again (#12233)
* rename the property again

* fail
2024-04-19 16:57:00 -07:00
browntarik 8809e69e91 Remove redundant variable resolution in handleSquiggles and fix error messaging for env and delimited paths under include paths in c_cpp_properties.json (#12188)
* remove redundant variable resolution

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 16:56:46 -07:00
Sean McManus 7af5c40dd0 Handle multiple cpptools-srv crashes. (#12225) 2024-04-19 16:56:33 -07:00
Sean McManus 1d2bd10691 Merge pull request #12223 from microsoft/main
Fix SettingsTracking treating numerical loggingLevel as invalid. (#12…
2024-04-18 15:11:30 -07:00
Sean McManus dac96fe852 Merge pull request #12209 from microsoft/main
Merge for 1.20.2
2024-04-16 18:43:48 -07:00
Sean McManus a1487e5e79 Merge pull request #12185 from microsoft/main
Merge for 1.20.1
2024-04-09 17:07:29 -07:00
Sean McManus 6f19496172 Merge pull request #12138 from microsoft/main
Merge for 1.20.0
2024-03-26 14:12:18 -07:00
Colen Garoutte-Carson 76ccb791ff Merge pull request #11947 from microsoft/main 2024-02-09 17:16:17 -08:00
Colen Garoutte-Carson a5a5735089 Merge pull request #11942 from microsoft/main 2024-02-08 17:07:45 -08:00
Sean McManus 5077edf585 Merge pull request #11886 from microsoft/main
Merge for 1.19.2 (2nd time)
2024-01-19 18:08:55 -08:00
Colen Garoutte-Carson f38926f8b1 Merge pull request #11874 from microsoft/main 2024-01-16 17:41:23 -08:00
Sean McManus 30de9bcc27 Merge pull request #11725 from microsoft/main
Update for 1.19.1 (#11724)
2023-11-21 17:12:17 -08:00
Sean McManus 100e2e0828 Merge pull request #11699 from microsoft/main
Merge for 1.19.0
2023-11-16 18:39:02 -08:00
Sean McManus e3b41771c6 Merge pull request #11639 from microsoft/main
Merge for 1.18.2 (2nd time)
2023-11-08 12:34:50 -08:00
Sean McManus 3f7f3090f6 Merge pull request #11633 from microsoft/main
Merge for 1.18.2
2023-11-07 15:59:34 -08:00
Sean McManus 4149493f2c Merge pull request #11607 from microsoft/main
Merge for 1.18.1
2023-11-01 17:55:01 -07:00
Sean McManus 43aad3f65c Merge pull request #11528 from microsoft/main
Update changelog (2nd time) (#11527)
2023-10-12 17:21:18 -07:00
Sean McManus bedcacb0a1 Merge pull request #11526 from microsoft/main
Merge for 1.18.0
2023-10-12 14:58:49 -07:00
Sean McManus a5f8f84b43 Merge pull request #11303 from microsoft/main
Merge for 1.17.1
2023-08-08 17:51:04 -07:00
Sean McManus e53b190380 Merge pull request #11253 from microsoft/main
Merge (again) for 1.17.0
2023-07-26 16:56:43 -07:00
Michelle Matias 1846fd4001 Merge pull request #11250 from microsoft/main 2023-07-26 14:15:17 -07:00
Colen Garoutte-Carson 62e09945e3 Merge pull request #11241 from microsoft/main 2023-07-24 17:32:28 -07:00
Michelle Matias c9b0db02fd Merge pull request #11230 from microsoft/main
Merge 1.17.0
2023-07-21 14:08:21 -07:00
Michelle Matias 51da619eec Merge pull request #11099 from microsoft/main
1.16.1 pre-release
2023-06-15 21:19:13 -07:00
Michelle Matias 3eb50568e9 Merge pull request #10986 from microsoft/main
[Auto] Localization - Translated Strings (#10889)
2023-05-22 13:53:52 -07:00
Michelle Matias 866b145645 Merge pull request #10975 from microsoft/main
1.16.0 pre-release
2023-05-19 15:52:02 -07:00
Sean McManus 9762fe5397 Merge pull request #10862 from microsoft/main
Merge for 1.15.3 (2nd time)
2023-04-21 19:00:16 -07:00
Sean McManus 377896c30a Merge pull request #10846 from microsoft/main
Merge for 1.15.3
2023-04-20 18:55:05 -07:00
Michelle Matias 98f13a6f11 Merge pull request #10815 from microsoft/main
Don't put the compiler selection in the global settings if using the …
2023-04-12 17:57:26 -07:00
Michelle Matias 0d85aea687 Merge pull request #10813 from microsoft/main
Revert walkthrough doc links until walkthrough is published (#10812)
2023-04-12 15:51:05 -07:00
Sean McManus 25d2b76514 Merge pull request #10811 from microsoft/main
Merge for 1.15.2
2023-04-12 11:03:43 -07:00
Sean McManus 42dfef3f6b Merge pull request #10728 from microsoft/main
Merge for 1.15.1
2023-03-22 11:43:15 -07:00
Sean McManus 1ce1e9cd71 Merge pull request #10716 from microsoft/main
Update changelog for 1.15.1. (#10708)
2023-03-21 09:53:45 -07:00
Sean McManus 65163966d5 Merge pull request #10679 from microsoft/main
Merge for 1.15.0
2023-03-15 17:17:35 -07:00
Sean McManus edf8e0a155 Merge pull request #10504 from microsoft/main
Merge for 1.14.2 (2nd time)
2023-02-09 16:30:37 -08:00
Sean McManus 4083075476 Merge pull request #10501 from microsoft/main
Merge for 1.14.2
2023-02-09 14:26:59 -08:00
Michelle Matias b745ebc218 Merge pull request #10453 from microsoft/main
1.14.1 pre-release merge
2023-02-01 14:29:00 -08:00
Michelle Matias b69d17a0f5 Merge pull request #10378 from microsoft/seanmcm/1_14_0_insiders
Merge for 1.14.0
2023-01-11 20:00:38 -08:00
Sean McManus be8b6fb693 Merge branch 'main' into seanmcm/1_14_0_insiders 2023-01-11 19:07:54 -08:00
850 changed files with 4019 additions and 6327 deletions
+1 -4
View File
@@ -1,7 +1,4 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
always-auth=true
# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust
ignore-scripts=true
min-release-age=7
audit=true
audit-level=high
+4 -9
View File
@@ -25,6 +25,7 @@ export const normalizeIssue = (issue: {
const cleanse = (str: string) => {
let out = str
.toLowerCase()
.replace(/<!--.*-->/gu, '')
.replace(/.* version: .*/gu, '')
.replace(/issue type: .*/gu, '')
.replace(/vs ?code/gu, '')
@@ -35,12 +36,6 @@ export const normalizeIssue = (issue: {
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '');
while (
out.includes('<!--') &&
out.includes('-->') &&
out.indexOf('-->') > out.indexOf('<!--')) {
out = out.slice(0, out.indexOf('<!--')) + out.slice(out.indexOf('-->') + 3);
}
while (
out.includes(`<details>`) &&
out.includes('</details>') &&
@@ -121,9 +116,9 @@ Repo: ${context.repo.owner}/${context.repo.repo}
<!-- Context:
${JSON.stringify(context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/--!?\s*>/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`);
};
+570 -132
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -14,8 +14,9 @@
"@actions/github": "^8.0.1",
"@octokit/rest": "^21.1.1",
"@slack/web-api": "^6.9.1",
"axios": "^1.16.0",
"uuid": "^14.0.0"
"applicationinsights": "^2.5.1",
"axios": "^1.15.0",
"uuid": "^8.3.2"
},
"devDependencies": {
"@azure/storage-blob": "^12.13.0",
-11
View File
@@ -1,11 +0,0 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
groups:
github-actions:
patterns: ["*"]
schedule:
interval: "weekly"
cooldown:
default-days: 7
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
-7
View File
@@ -5,12 +5,6 @@ on:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
inputs:
target-ref:
description: Branch, tag, or SHA to test
required: true
default: main
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
@@ -21,4 +15,3 @@ jobs:
with:
runner-env: ubuntu-24.04
platform: linux
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
-8
View File
@@ -5,12 +5,6 @@ on:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
inputs:
target-ref:
description: Branch, tag, or SHA to test
required: true
default: main
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
@@ -21,6 +15,4 @@ jobs:
with:
runner-env: macos-15
platform: mac
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
yarn-args: --network-timeout 100000
-7
View File
@@ -5,12 +5,6 @@ on:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
inputs:
target-ref:
description: Branch, tag, or SHA to test
required: true
default: main
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
@@ -21,4 +15,3 @@ jobs:
with:
runner-env: windows-2025
platform: windows
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
+3 -3
View File
@@ -59,11 +59,11 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
@@ -91,7 +91,7 @@ jobs:
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+41 -49
View File
@@ -11,9 +11,6 @@ on:
# Expects 'mac', 'linux', or 'windows'
required: true
type: string
checkout-ref:
required: false
type: string
yarn-args:
type: string
@@ -25,29 +22,17 @@ jobs:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.checkout-ref }}
- uses: actions/checkout@v5
- name: Use Node.js 24
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/setup-node@v4
with:
node-version: 24
- name: Validate Yarn lockfile
run: yarn test-yarn-lock && yarn verify-yarn-lock
working-directory: Extension
- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
working-directory: Extension
- name: Install gdb (linux)
if: ${{ inputs.platform == 'linux' }}
run: |
sudo apt-get update
sudo apt-get install -y gdb
- name: Compile Sources
run: yarn run compile
working-directory: Extension
@@ -60,46 +45,53 @@ jobs:
run: yarn test
working-directory: Extension
- name: Acquire Native Binaries
run: yarn install-and-copy-binaries-for-test
# These tests don't require the binary.
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
# But it works on Linux during the E2E test.
- name: Run SingleRootProject tests
if: ${{ inputs.platform != 'linux' }}
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
working-directory: Extension
- name: Run languageServer integration tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=SingleRootProject
working-directory: Extension
# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
# - name: Run languageServer integration tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
- name: Run E2E IntelliSense features tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=MultirootDeadlockTest
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
- name: Run RunWithoutDebugging tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=RunWithoutDebugging
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=RunWithoutDebugging
# working-directory: Extension
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
- name: Run languageServer integration tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=SingleRootProject
working-directory: Extension
# - name: Run languageServer integration tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
- name: Run E2E IntelliSense features tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=MultirootDeadlockTest
working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
- name: Run RunWithoutDebugging tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=RunWithoutDebugging --scenario-arg=skipExternalConsole
working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=RunWithoutDebugging
# working-directory: Extension
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Locker
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
-2
View File
@@ -13,5 +13,3 @@ OneLocBuild
# ignore imported localization xlf directory
vscode-translations-import
.vscode/settings.json
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
displayName: Create Staging Directory
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.9.2
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1
displayName: Install vsce
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.9.2
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1
displayName: Install vsce
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
+1 -1
View File
@@ -5,7 +5,7 @@ These steps will allow you to debug the TypeScript code that is part of the Micr
Prerequisite steps:
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
* git clone -b release https://github.com/Microsoft/vscode-cpptools
* Install the [required Node.js version](../Extension/readme.developer.md#required-tools).
* Install [node](https://nodejs.org).
* Install [yarn](https://yarnpkg.com).
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
* `yarn install` will install the dependencies needed to build the extension.
+1 -8
View File
@@ -9,18 +9,11 @@ dist
server
debugAdapters
LLVM
bin/assert_dialog.sh
bin/binaryVersion.json
bin/cpptools*
bin/edge_cli
bin/isense_driver
bin/libc.so
bin/LICENSE.txt
bin/scout_driver
bin/unittests
bin/vcpkgsrvtest
bin/*.dll
bin/.vs
bin/LICENSE.txt
# ignore lock files
install.lock
+1 -4
View File
@@ -1,7 +1,4 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
always-auth=true
# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust
ignore-scripts=true
min-release-age=7
audit=true
audit-level=high
+1 -10
View File
@@ -20,18 +20,9 @@ import { verbose } from '../src/Utility/Text/streams';
export const $root = resolve(`${__dirname}/..`);
export let $cmd = 'main';
export let $scenario = '';
export const $scenarioArgs: string[] = [];
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
// parse out the scenario arguments.
process.argv.slice(2).reduce<string[]>((acc, arg) => {
if (arg.startsWith('--scenario-arg=')) {
acc.push(arg.substring('--scenario-arg='.length));
}
return acc;
}, $scenarioArgs);
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
@@ -48,7 +39,7 @@ chdir($root);
// dump unhandled async errors to the console and exit.
process.on('unhandledRejection', (reason: any, _promise) => {
error(`${reason?.stack?.split(/\r?\n/).filter((l: string) => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
error(`${reason?.stack?.split(/\r?\n/).filter(l => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
process.exit(1);
});
+7 -70
View File
@@ -5,9 +5,8 @@
import { cp, readdir, rm, stat } from 'node:fs/promises';
import { homedir } from 'node:os';
import { basename, join } from 'node:path';
import { verbose } from '../src/Utility/Text/streams';
import { $args, $root, Git, green, heading, note, warn } from './common';
import { join } from 'node:path';
import { $args, $root, green, heading, note } from './common';
const extensionPrefix = 'ms-vscode.cpptools-';
const foldersToCopy = ['bin', 'debugAdapters', 'LLVM'] as const;
@@ -74,47 +73,17 @@ async function getInstalledExtensions(root: string): Promise<InstalledExtension[
}
}
async function findExtensionsFolder(root: string): Promise<string | undefined> {
try {
const entries = await readdir(root, { withFileTypes: true });
for (const entry of entries) {
if (entry.isDirectory()) {
if (entry.name === 'extensions') {
const extensionEntries = await readdir(join(root, entry.name), { withFileTypes: true });
for (const extensionEntry of extensionEntries) {
if (extensionEntry.isDirectory() && extensionEntry.name.startsWith(extensionPrefix)) {
return join(root, entry.name);
}
}
} else {
const result = await findExtensionsFolder(join(root, entry.name));
if (result) {
return result;
}
}
}
}
} catch {
// Ignore errors (permission denied, etc.)
}
return undefined;
}
async function findLatestInstalledExtension(providedPath?: string): Promise<string> {
if (providedPath) {
return providedPath;
}
const searchRoots: string[] = [
join(homedir(), '.vscode', 'extensions'),
join(homedir(), '.vscode-insiders', 'extensions'),
join(homedir(), '.vscode-server', 'extensions'),
join(homedir(), '.vscode-server-insiders', 'extensions')
];
if (providedPath) {
// find a folder called 'extensions' recursively under the provided path and add it to the front of the search roots
const extensionsFolderPath = await findExtensionsFolder(providedPath);
if (extensionsFolderPath) {
verbose(`Found extensions folder under provided path: ${extensionsFolderPath}`);
searchRoots.unshift(extensionsFolderPath);
}
}
const installed: InstalledExtension[] = (await Promise.all(searchRoots.map(each => getInstalledExtensions(each)))).flat();
if (!installed.length) {
@@ -125,34 +94,7 @@ async function findLatestInstalledExtension(providedPath?: string): Promise<stri
return installed[0].path;
}
/**
* A few files inside the copied folders are checked into the repo (for example bin/cpp.hint and
* bin/messages/**). The copy overwrites them with the installed extension's versions, which can differ
* in line endings or content and then show up as spurious local modifications. Restore any tracked files
* that the copy changed so only the untracked binaries remain in the working tree.
*/
async function restoreTrackedFiles(): Promise<void> {
const modified = await Git('ls-files', '--modified', '--', ...foldersToCopy);
if (modified.code) {
warn(`Unable to determine which tracked files to restore: ${modified.error.all().join('\n')}`);
return;
}
const files = modified.stdio.all().map(line => line.trim()).filter(line => line.length > 0);
if (!files.length) {
return;
}
const restored = await Git('checkout', '--', ...files);
if (restored.code) {
warn(`Unable to restore tracked files after copy: ${restored.error.all().join('\n')}`);
return;
}
note(`Restored ${files.length} tracked ${files.length === 1 ? 'file' : 'files'} overwritten by the copy.`);
}
export async function main(sourcePath = $args[0]): Promise<string | undefined> {
export async function main(sourcePath = $args[0]) {
console.log(heading('Copy installed extension binaries'));
const installedExtensionPath: string = await findLatestInstalledExtension(sourcePath);
@@ -168,9 +110,4 @@ export async function main(sourcePath = $args[0]): Promise<string | undefined> {
}
note(`Copied installed binaries into ${$root}`);
await restoreTrackedFiles();
const installedVersion = tryParseVersion(basename(installedExtensionPath));
return installedVersion?.join('.');
}
+2 -12
View File
@@ -85,13 +85,8 @@ function replaceReferences(definitions: any, objects: any): any {
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
}
// Handle 'oneOf' with references
if (objects[key].hasOwnProperty('oneOf')) {
objects[key].oneOf = replaceReferences(definitions, objects[key].oneOf);
}
// Recursively replace references if this schema node has properties.
if (objects[key].hasOwnProperty('properties') && objects[key].properties !== null) {
// Recursively replace references if this object has properties.
if (objects[key].hasOwnProperty('type') && objects[key].type === 'object' && objects[key].properties !== null) {
objects[key].properties = replaceReferences(definitions, objects[key].properties);
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
}
@@ -122,13 +117,11 @@ function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void
export async function main() {
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
const taskDefinitionsJSON: any = JSON.parse(await read(resolve($root, 'tools/TaskDefinitionsSchema.json')));
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
schemaJSON.definitions = replaceReferences(schemaJSON.definitions, schemaJSON.definitions);
taskDefinitionsJSON.definitions = replaceReferences(taskDefinitionsJSON.definitions, taskDefinitionsJSON.definitions);
// Hard Code adding in configurationAttributes launch and attach.
// cppdbg
@@ -139,9 +132,6 @@ export async function main() {
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
// task definitions
packageJSON.contributes.taskDefinitions = [taskDefinitionsJSON.definitions.CppBuildTaskDefinition];
let content: string = JSON.stringify(packageJSON, null, 4);
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
+2 -7
View File
@@ -5,7 +5,7 @@
import * as fs from "fs";
import * as path from 'path';
import { parseString } from 'xml2js';
import { glob, mkdir, write } from './common';
import { mkdir, write } from './common';
export async function main() {
@@ -45,16 +45,11 @@ export async function main() {
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
for (const locFolderName of locFolderNames) {
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
const languageInfo = languages.find(l => l.folderName === locFolderName);
if (!languageInfo) {
return;
}
const localePath = path.join(localizeRepoPath, locFolderName);
const lclPaths = await glob("vc/vc/cpfeui.dll.lcl", { cwd: localePath, nocase: true, nodir: true });
if (lclPaths.length !== 1) {
throw new Error(`Expected one cpfeui.dll.lcl under '${localePath}', found ${lclPaths.length}.`);
}
const lclPath = path.join(localePath, lclPaths[0]);
const languageId = languageInfo.id;
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
const outputPath = path.join(outputLanguageFolder, "messages.json");
@@ -1,37 +0,0 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { runVSCodeCommand } from '@vscode/test-electron';
import { writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { $root, error, heading, note, warn } from './common';
import * as copy from './copyExtensionBinaries';
import { install, isolated, options } from "./vscode";
export async function main() {
console.log(heading(`Install VS Code`));
const vscode = await install();
if (!vscode) {
error('Failed to install VS Code');
return;
}
console.log(heading('Install latest C/C++ Extension'));
const result = await runVSCodeCommand([...vscode.args ?? [], '--install-extension', 'ms-vscode.cpptools', '--pre-release'], options);
if (result.stdout) {
console.log(result.stdout.toString());
}
if (result.stderr) {
// runVSCodeCommand resolves only when the command succeeds (it throws on a non-zero exit), so stderr here is
// non-fatal output such as Node deprecation warnings and must not be reported as an error.
warn(result.stderr.toString());
}
const binaryVersion = await copy.main(isolated);
if (binaryVersion) {
await writeFile(join($root, 'bin', 'binaryVersion.json'), JSON.stringify({ version: binaryVersion }));
note(`Wrote binary version ${binaryVersion} to bin/binaryVersion.json`);
}
}
+2 -4
View File
@@ -14,7 +14,7 @@ import { filepath } from '../src/Utility/Filesystem/filepath';
import { is } from '../src/Utility/System/guards';
import { verbose } from '../src/Utility/Text/streams';
import { getTestInfo } from '../test/common/selectTests';
import { $args, $root, $scenario, $scenarioArgs, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
import { install, isolated, options } from './vscode';
export { install, reset } from './vscode';
@@ -27,7 +27,6 @@ const filters = [
/^Unexpected token A/,
/Cannot register 'cmake.cmakePath'/,
/\[DEP0005\] DeprecationWarning/,
/\[DEP0169\] DeprecationWarning/,
/--trace-deprecation/,
/Iconv-lite warning/,
/^Extension '/,
@@ -91,8 +90,7 @@ async function scenarioTests(assets: string, name: string, workspace: string) {
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
extensionTestsEnv: {
SCENARIO: assets,
SCENARIO_ARGS: $scenarioArgs.join(',')
SCENARIO: assets
}
});
}
-97
View File
@@ -1,97 +0,0 @@
import fs from 'node:fs';
import path from 'node:path';
import process from 'node:process';
import { fileURLToPath, pathToFileURL } from 'node:url';
const dependencySections = ['dependencies', 'devDependencies', 'optionalDependencies'];
function parseLockfileKey(key) {
const selectors = [];
let selectorStart = 0;
let quoted = false;
let escaped = false;
for (let index = 0; index < key.length; index++) {
const character = key[index];
if (escaped) {
escaped = false;
} else if (character === '\\' && quoted) {
escaped = true;
} else if (character === '"') {
quoted = !quoted;
} else if (character === ',' && !quoted) {
selectors.push(key.slice(selectorStart, index));
selectorStart = index + 1;
}
}
selectors.push(key.slice(selectorStart));
return selectors.map(selector => {
const trimmedSelector = selector.trim();
return trimmedSelector.startsWith('"') ? JSON.parse(trimmedSelector) : trimmedSelector;
});
}
function parseLockfileSelectors(lockfile) {
const selectors = new Set();
for (const line of lockfile.split(/\r?\n/)) {
if (/^[^\s#].*:\s*$/.test(line)) {
for (const selector of parseLockfileKey(line.replace(/:\s*$/, ''))) {
selectors.add(selector);
}
}
}
return selectors;
}
function getResolutionPackageName(pattern) {
const segments = pattern.split('/');
const packageName = segments.at(-1);
const scope = segments.at(-2);
return scope?.startsWith('@') ? `${scope}/${packageName}` : packageName;
}
function getExpectedSelectors(manifest) {
const selectors = [];
for (const section of dependencySections) {
for (const [packageName, range] of Object.entries(manifest[section] ?? {})) {
selectors.push(`${packageName}@${range}`);
}
}
for (const [pattern, range] of Object.entries(manifest.resolutions ?? {})) {
selectors.push(`${getResolutionPackageName(pattern)}@${range}`);
}
return selectors;
}
function findMissingSelectors(manifest, lockfile) {
const lockfileSelectors = parseLockfileSelectors(lockfile);
return getExpectedSelectors(manifest)
.filter(selector => !lockfileSelectors.has(selector))
.sort();
}
function validateYarnLock(packageJsonPath, yarnLockPath) {
const manifest = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
const lockfile = fs.readFileSync(yarnLockPath, 'utf8');
const missingSelectors = findMissingSelectors(manifest, lockfile);
if (missingSelectors.length > 0) {
throw new Error(`yarn.lock is missing selectors required by package.json:\n${missingSelectors.map(selector => ` ${selector}`).join('\n')}\nRun yarn install to update yarn.lock.`);
}
}
const invokedUrl = process.argv[1] ? pathToFileURL(path.resolve(process.argv[1])).href : undefined;
if (invokedUrl === import.meta.url) {
const extensionRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
const packageJsonPath = process.argv[2] ?? path.join(extensionRoot, 'package.json');
const yarnLockPath = process.argv[3] ?? path.join(extensionRoot, 'yarn.lock');
try {
validateYarnLock(packageJsonPath, yarnLockPath);
} catch (error) {
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
process.exitCode = 1;
}
}
export { findMissingSelectors, getExpectedSelectors, parseLockfileSelectors, validateYarnLock };
@@ -1,41 +0,0 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { findMissingSelectors } from './verifyYarnLock.mjs';
test('reports a stale resolution selector', () => {
const manifest = { resolutions: { 'fast-uri': '^3.1.5' } };
const lockfile = `fast-uri@^3.0.1, fast-uri@^3.1.4:
version "3.1.5"
`;
assert.deepEqual(findMissingSelectors(manifest, lockfile), ['fast-uri@^3.1.5']);
});
test('accepts direct, scoped, and nested resolution selectors', () => {
const manifest = {
dependencies: { '@scope/direct': '^1.0.0' },
devDependencies: { 'gulp-typescript': '^5.0.1' },
resolutions: {
'@scope/resolved': '^2.0.0',
'gulp-typescript/**/glob-parent': '^5.1.2',
'parent/**/@nested/package': '~3.0.0'
}
};
const lockfile = `"@nested/package@~3.0.0":
version "3.0.1"
"@scope/direct@^1.0.0":
version "1.0.0"
"@scope/resolved@^2.0.0":
version "2.0.0"
glob-parent@^3.1.0, glob-parent@^5.1.2:
version "5.1.2"
gulp-typescript@^5.0.1:
version "5.0.1"
`;
assert.deepEqual(findMissingSelectors(manifest, lockfile), []);
});
+7 -11
View File
@@ -4,24 +4,20 @@
* ------------------------------------------------------------------------------------------ */
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
import { createHash } from 'crypto';
import { tmpdir } from 'os';
import { resolve } from 'path';
import { verbose } from '../src/Utility/Text/streams';
import { mkdir, readJson, rimraf, write } from './common';
import { getVSCodeTestIsolate } from './vscodeTestPath';
export const isolated = getVSCodeTestIsolate(__dirname);
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
export const extensionsDir = resolve(isolated, 'extensions');
export const userDir = resolve(isolated, 'user-data');
export const settings = resolve(userDir, "User", 'settings.json');
// Pin the test VS Code build to a known-good stable release for deterministic CI instead of
// always pulling latest. Launching macOS 1.110+ builds requires @vscode/test-electron >= 3.1.0.
export const testVSCodeVersion = '1.131.0';
export const options = {
version: testVSCodeVersion,
cachePath: `${isolated}/cache`,
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', '--disable-extensions', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
};
export async function install() {
@@ -38,9 +34,9 @@ export async function install() {
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
// install the appropriate extensions
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cpptools'], options);
// runVSCodeCommand([...args, '--install-extension', 'twxs.cmake'], options);
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cmake-tools'], options);
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
const settingsJson = await readJson(settings, {});
if (!settingsJson["workbench.colorTheme"]) {
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
-51
View File
@@ -1,51 +0,0 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { createHash } from 'crypto';
import { homedir } from 'os';
import { posix, win32 } from 'path';
function isFullyQualifiedPath(value: string, platform: NodeJS.Platform): boolean {
const path = platform === 'win32' ? win32 : posix;
return path.isAbsolute(value) && (platform !== 'win32' || path.parse(value).root.length > 1);
}
export function getVSCodeTestIsolate(
scriptDirectory: string,
platform: NodeJS.Platform = process.platform,
environment: NodeJS.ProcessEnv = process.env,
homeDirectory: string = homedir()): string {
const path = platform === 'win32' ? win32 : posix;
const override = environment.CPPTOOLS_VSCODE_TEST_ROOT;
let root: string;
if (override) {
if (!isFullyQualifiedPath(override, platform)) {
throw new Error('CPPTOOLS_VSCODE_TEST_ROOT must be a fully qualified absolute path.');
}
root = override;
} else {
switch (platform) {
case 'win32': {
const localAppData = environment.LOCALAPPDATA;
const cacheDirectory = localAppData && isFullyQualifiedPath(localAppData, platform) ? localAppData : path.resolve(homeDirectory, 'AppData', 'Local');
root = path.resolve(cacheDirectory, 'Microsoft', 'vscode-cpptools', 'vscode-test');
break;
}
case 'darwin':
root = path.resolve(homeDirectory, 'Library', 'Caches', 'vscode-cpptools', 'vscode-test');
break;
default: {
const xdgCacheHome = environment.XDG_CACHE_HOME;
const cacheDirectory = xdgCacheHome && isFullyQualifiedPath(xdgCacheHome, platform) ? xdgCacheHome : path.resolve(homeDirectory, '.cache');
root = path.resolve(cacheDirectory, 'vscode-cpptools', 'vscode-test');
break;
}
}
}
const worktreeHash = createHash('sha256').update(scriptDirectory).digest('hex').substring(0, 6);
return path.resolve(root, worktreeHash);
}
-25
View File
@@ -22,31 +22,6 @@
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debugs the extension with sanitizer (TSan/ASan/UBSan) reports captured to files.
// Requires a sanitizer build of the cpptools language server. Each process writes
// ${userHome}/cpptools-sanitizer-logs/<sanitizer>.<pid> (see readme.developer.md).
"name": "Run Extension (capture sanitizer logs)",
"type": "extensionHost",
"request": "launch",
"env": {
"CPPTOOLS_SANITIZER_LOG_DIR": "${userHome}/cpptools-sanitizer-logs"
},
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debugs the extension (selecting the workspace)
"name": "Run Extension-Select Workspace",
+1 -3
View File
@@ -27,14 +27,12 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"editor.detectIndentation": true,
"files.insertFinalNewline": true
"files.insertFinalNewline": false
},
"[jsonc]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"editor.detectIndentation": true,
"files.insertFinalNewline": true
},
"[typescript]": {
+1
View File
@@ -35,6 +35,7 @@ eslint.config.js
gulpfile.js
localized_string_ids.h
readme.developer.md
Reinstalling the Extension.md
test.tsconfig.json
translations_auto_pr.js
tsconfig.json
+1 -1
View File
@@ -28,4 +28,4 @@
}
}
}
}
}
+1 -1
View File
@@ -7,4 +7,4 @@
"devDependencies": {
"yarn": "1.22.22"
}
}
}
+2 -60
View File
@@ -1,81 +1,23 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.33.8: August 17, 2026
## Version 1.32.0: April 14, 2026
### New Feature
* Unification of tag parsing with the VS implementation. In particular, it's now done using multiple parallel `cpptools-srv2` processes. [PR #14426](https://github.com/microsoft/vscode-cpptools/pull/14426)
### Enhancements
* Allow platform overrides in `cppbuild` tasks. [#11601](https://github.com/microsoft/vscode-cpptools/issues/11601)
* Add the `debuginfod` launch option to the `cppdbg` debugger schema. [#14458](https://github.com/microsoft/vscode-cpptools/issues/14458), [#14460](https://github.com/microsoft/vscode-cpptools/issues/14460), [PR #14471](https://github.com/microsoft/vscode-cpptools/pull/14471), [PR #14506](https://github.com/microsoft/vscode-cpptools/pull/14506), [MIEngine#1562](https://github.com/microsoft/MIEngine/issues/1562)
* Add the `ignoreRunWithoutDebuggingWarnings` property to allow 'Run without debugging' warnings to be suppressed. [#14515](https://github.com/microsoft/vscode-cpptools/issues/14515)
### Bug Fixes
* Fix the wording for the `#include` errors detected message. [#8227](https://github.com/microsoft/vscode-cpptools/issues/8227)
* Fix an incorrect `invalid type conversion` IntelliSense error. [#11294](https://github.com/microsoft/vscode-cpptools/issues/11294)
* Fix include completion (with recursive includes) still suggesting headers from a deleted folder. [#12636](https://github.com/microsoft/vscode-cpptools/issues/12636)
* Fix a spurious recursive includes (`**`) debug console log warning for paths merged from `c_cpp_properties.json` when `C_Cpp.mergeConfigurations` is enabled. [#14125](https://github.com/microsoft/vscode-cpptools/issues/14125)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14620](https://github.com/microsoft/vscode-cpptools/pull/14620)
* Fix 'Find All References' dropping valid references when a template parameter type has a typedef alias in only one translation unit. [#14344](https://github.com/microsoft/vscode-cpptools/issues/14344)
* Fix the remote process picker `ps` command not working with some shells. [#14442](https://github.com/microsoft/vscode-cpptools/issues/14442)
* Thanks for the contribution. [@HuzaifaAbdulRehman](https://github.com/HuzaifaAbdulRehman) [PR #14592](https://github.com/microsoft/vscode-cpptools/pull/14592)
* Fix a spurious IntelliSense error with class template argument deduction (CTAD). [#14453](https://github.com/microsoft/vscode-cpptools/issues/14453), [#14459](https://github.com/microsoft/vscode-cpptools/issues/14459), [#14504](https://github.com/microsoft/vscode-cpptools/issues/14504)
* Add `important` to `C_Cpp.doxygen.sectionTags`. [PR #14473](https://github.com/microsoft/vscode-cpptools/pull/14473)
* Update the minimum supported VS Code version to 1.77. [PR #14502](https://github.com/microsoft/vscode-cpptools/pull/14502)
* Fix issues with the debugger `launch.json` schema. [PR #14523](https://github.com/microsoft/vscode-cpptools/pull/14523)
* Fix `[[no_unique_address]]` empty-base layout `sizeof` being computed too large. [#14524](https://github.com/microsoft/vscode-cpptools/issues/14524)
* Fix `${env:VAR}` and `${env.VAR}` not expanding to an empty string when the environment variable is unset, to match VS Code's behavior. [PR #14535](https://github.com/microsoft/vscode-cpptools/pull/14535)
* Thanks for the contribution. [@notable-equivalent](https://github.com/notable-equivalent)
* Fix C/C++ debug data-tips on members of a dereferenced expression. [PR #14540](https://github.com/microsoft/vscode-cpptools/pull/14540)
* Thanks for the contribution. [@tieo](https://github.com/tieo)
* Fix Windows backslash paths being mangled when adding an SSH target. [PR #14554](https://github.com/microsoft/vscode-cpptools/pull/14554)
* Fix 'Run C/C++ File' not running the program in PowerShell when terminal shell integration is unavailable. [#14583](https://github.com/microsoft/vscode-cpptools/issues/14583)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14585](https://github.com/microsoft/vscode-cpptools/pull/14585)
* Fix the build tools walkthrough for Visual Studio 2026. [PR #14589](https://github.com/microsoft/vscode-cpptools/pull/14589)
* Fix custom configurations being discarded when `C_Cpp.mergeConfigurations` is enabled and a provider supplies the file `uri` as a `vscode.Uri`. [#14621](https://github.com/microsoft/vscode-cpptools/issues/14621)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14624](https://github.com/microsoft/vscode-cpptools/pull/14624)
* Fix a tag parser crash when a UTF-8 string literal is concatenated with a narrow string literal containing an invalid multibyte sequence.
* Fix IntelliSense incorrectly resolving `#include` files through a symbolic link after the target directory was deleted from disk.
* Fix potential browse database corruption when the same workspace is opened by multiple processes on Linux and macOS.
* Fix crashes when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
* Fix empty database folders being created in every folder of a multi-root workspace.
* Fix the `C_Cpp.refactoring.includeHeader` setting not honoring `always`.
* Fix spurious IntelliSense error on `std::variant` brace-initialization.
* Fix several potential deadlocks and data races in the language server.
* Fix an incorrect file path in an error message on Windows.
* Reduce memory usage to help avoid out-of-memory crashes.
* Fix stale diagnostics after editing visible headers.
* Fix several crashes in the recursive include cache.
* Fix an incorrect `#include` casing error on Linux.
* Various other fixes found internally.
* Various localization updates.
* Fix an IntelliSense crash.
* Update dependencies.
## Version 1.32.2: April 28, 2026
### New Feature
* Add support for "Run without debugging". [#1201](https://github.com/microsoft/vscode-cpptools/issues/1201)
* Add support for run without debugging. [#1201](https://github.com/microsoft/vscode-cpptools/issues/1201)
### Enhancements
* Add a `C_Cpp.doxygen.generateOnCodeAction` setting to allow disabling of Doxygen generation code actions. [#14341](https://github.com/microsoft/vscode-cpptools/issues/14341)
* Add a `cpptools.waitForTagParsing` command (for use by the `C/C++ DevTools` extension). [PR #14407](https://github.com/microsoft/vscode-cpptools/pull/14407/changes)
* Improve wildcard matching with the debugger natvis. [MIEngine#1162](https://github.com/microsoft/MIEngine/issues/1162)
* Add support for `HideRawView` with the debugger natvis. [MIEngine#1458](https://github.com/microsoft/MIEngine/issues/1458)
### Bug Fixes
* Fix high CPU usage caused by repeated calls to `selectChatModels`. [#14168](https://github.com/microsoft/vscode-cpptools/issues/14168), [#14211](https://github.com/microsoft/vscode-cpptools/issues/14211), [#14241](https://github.com/microsoft/vscode-cpptools/issues/14241)
* Fix the MSVC developer environment not working if `UCRTVersion` isn't found, and update the walkthrough instructions for installing MSVC. [#14352](https://github.com/microsoft/vscode-cpptools/issues/14352)
* Fix an IntelliSense crash when three special-case comments are used in a template. [#14360](https://github.com/microsoft/vscode-cpptools/issues/14360)
* Fix Copilot hover taking too many premium requests. [#14372](https://github.com/microsoft/vscode-cpptools/issues/14372)
* Fix null pointers being expandable for variables in the debugger. [MIEngine#698](https://github.com/microsoft/MIEngine/issues/698)
* Fix recursive `{this}` evaluation with the debugger natvis. [MIEngine#1391](https://github.com/microsoft/MIEngine/issues/1391)
* Update clang-tidy and clang-format from 22.1.1 to 22.1.3 (bug fixes).
* Fix a bug with semantic colorization of operators.
## Version 1.31.5: April 20, 2026
### Bug Fixes
* Fix `Reinstalling the Extension.md` not being found. [#14389](https://github.com/microsoft/vscode-cpptools/issues/14389)
* Fix the `C/C++ DevTools` extension language service tools not working after the `C/C++` extension updates via `Restart Extensions`. [#14392](https://github.com/microsoft/vscode-cpptools/issues/14392)
## Version 1.31.4: March 31, 2026
### Bug Fix
* Debugging cpptools and cpptools-srv processes on macOS (to get call stacks) is now blocked when SIP is enabled (due to a potential security issue).
+1 -1
View File
@@ -61,7 +61,7 @@ File questions, issues, or feature requests for the extension.
If someone has already filed an issue that encompasses your feedback, please leave a 👍 or 👎 reaction on the issue to upvote or downvote it to help us prioritize the issue.
<br>
**[Quick survey](https://aka.ms/vcvscodesurvey)**
**[Quick survey](https://www.research.net/r/VBVV6C6)**
<br>
Let us know what you think of the extension by taking the quick survey.
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
{
"defaults": [
"cpfe",
"--wchar_t_keyword",
"--no_warnings",
"--rtti",
"--edge",
"--exceptions",
"--error_limit",
"25000",
"-D_EDG_COMPILER",
"-D_USE_DECLSPECS_FOR_SAL=1"
],
"source_file_format": "-f %s",
"expressions": [
{
"match": "^/I(.*)",
"replace": "-I\n$1"
},
{
"match": "^/D(.*)",
"replace": "-D$1"
},
{
"match": "^/AI(.*)",
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--(.*)",
"replace": "--$1"
}
]
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op": "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op": "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op": "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op": "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+13
View File
@@ -0,0 +1,13 @@
{
"defaults": [
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op": "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op": "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op": "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op": "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+12
View File
@@ -0,0 +1,12 @@
{
"defaults": [
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+2 -2
View File
@@ -2810,7 +2810,7 @@
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
"Atribut fallthrough platí jenom pro příkazy null.",
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
@@ -2999,7 +2999,7 @@
"Přiřazení k anachronizmu this není kompatibilní s režimem C++11.",
"Došlo k neznámé chybě. Soubor PCH IntelliSense se nevygeneroval.",
"Nejméně jednu ze vzdálených cest nejde namapovat na stávající místní cesty. Funkce IntelliSense možná nebude fungovat zcela podle očekávání.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+2 -2
View File
@@ -2999,7 +2999,7 @@
"Die Zuweisung zum this-Anachronismus ist mit dem C++11-Modus nicht kompatibel.",
"Unbekannter Fehler. Es wurde keine IntelliSense PCH-Datei generiert.",
"Mindestens ein Remotepfad kann vorhandenen lokalen Pfaden nicht zugeordnet werden. Die IntelliSense-Funktionen werden ggf. beeinträchtigt.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3748,4 +3748,4 @@
"%nd wurde zuvor ohne explizite Enumerationsbasis deklariert",
"Fehlender „typename“ entspricht hier nicht dem Standard.",
"Die abgekürzte Funktionsvorlagensyntax entspricht nicht dem Standard für Deduktionsleitfäden."
]
]
+2 -2
View File
@@ -2999,7 +2999,7 @@
"la asignación al anacronismo \"this\" no es compatible con el modo C++11",
"error desconocido. No se generó un archivo IntelliSense PCH.",
"No se pueden asignar una o varias rutas remotas a las rutas locales actuales. La experiencia con IntelliSense puede degradarse.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3748,4 +3748,4 @@
"%nd se declaró previamente sin una base explícita de enumeración",
"falta 'typename' no estándar aquí",
"La sintaxis abreviada de las plantillas de funciones no es estándar para las guías de deducción"
]
]
+1 -1
View File
@@ -2999,7 +2999,7 @@
"l'assignation à l'anachronisme 'this' n'est pas compatible avec le mode C++11",
"une erreur inconnue s'est produite. Aucun fichier PCH IntelliSense n'a été généré.",
"Impossible de mapper un ou plusieurs chemins distants à des chemins locaux existants. L'expérience IntelliSense risque d'être dégradée.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"l'assegnazione all'anacronismo 'this' non è compatibile con la modalità C++11",
"si è verificato un errore sconosciuto. Non è stato generato alcun file PCH IntelliSense.",
"Non è possibile eseguire il mapping di uno o più percorsi remoti a percorsi locali esistenti. L'operazione potrebbe influire negativamente sull'esperienza IntelliSense.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+2 -2
View File
@@ -2999,7 +2999,7 @@
"'this' への代入 (旧形式) は C++11 モードと互換性がありません",
"不明なエラーが発生しました。IntelliSense PCH ファイルは生成されませんでした。",
"1 つ以上のリモート パスを既存のローカル パスにマップできません。IntelliSense の機能が低下する可能性があります。",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL ルーチン>",
"<NULL routine>",
"<default>",
"パラメーター #",
" (1 つ上のレベル)",
+2 -2
View File
@@ -2999,7 +2999,7 @@
"'this'에 대한 할당(오래된 구문)은 C++11 모드와 호환되지 않습니다.",
"알 수 없는 오류가 발생했습니다. IntelliSense PCH 파일이 생성되지 않았습니다.",
"하나 이상의 원격 경로를 기존 로컬 경로에 매핑할 수 없습니다. IntelliSense 성능이 저하될 수 있습니다.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL 루틴>",
"<NULL routine>",
"<default>",
"parameter #",
" (한 수준 위로)",
+4 -4
View File
@@ -2739,7 +2739,7 @@
"wyrażenie niedozwolone w kontekście, którego nie obliczono",
null,
null,
"instrukcja „return” jest niedozwolona w koprocedurze (użyj zamiast niej instrukcji „co_return”)",
"wyrażenie „return” jest niedozwolone w koprocedurze (zamiast tego użyj wyrażenia „co_return”)",
"wyrażenie „co_return” jest dozwolone tylko w koprocedurach",
"nie można porównać wartości zmiennoprzecinkowych",
"nie można porównać wartości wskaźników, ponieważ nie wskazują na ten sam kompletny obiekt lub wskazują na podobiekty o różnej dostępności",
@@ -2999,7 +2999,7 @@
"przypisanie do przestarzałej konstrukcji „this” nie jest zgodne z trybem C++11",
"wystąpił nieznany błąd. Nie wygenerowano pliku PCH funkcji IntelliSense.",
"Nie można zamapować co najmniej jednej ścieżki zdalnej na istniejące ścieżki lokalne. Może to mieć negatywny wpływ na działanie funkcji IntelliSense.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3177,7 +3177,7 @@
"brak instrukcji co_return, podczas gdy %t nie ma elementu „return_void” na końcu %n",
"nie znaleziono wariantu nothrow globalnego elementu „operator new” dla alokacji stanu koprocedury",
"nie znaleziono zdatnego do użycia elementu „operator delete” dla cofania alokacji koprocedury",
"funkcja constexpr nie może być koprocedurą",
"funkcja constexpr nie może być kokprocedurą",
"argument operacji dla tego wyrażenia %s jest rozpoznawany jako niebędący klasą typ %t",
"wyrażenie co_await jest niedozwolone w inicjatorze statycznym",
"wyrażenie co_await wywołujące funkcję %n musi być niezwracalne",
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<procedura NULL>",
"<NULL routine>",
"<default>",
"parametr #",
" (jeden poziom wyżej)",
+1 -1
View File
@@ -2999,7 +2999,7 @@
"a atribuição ao anacronismo 'this' não é compatível com o modo C++11",
"erro desconhecido. Não foi gerado um arquivo PCH do IntelliSense.",
"Um ou mais caminhos remotos não podem ser mapeados para os caminhos locais existentes. A experiência do IntelliSense pode ser degradada.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"назначение устаревшему элементу this несовместимо с режимом C++11",
"произошла неизвестная ошибка. PCH-файл IntelliSense не был создан.",
"Один или несколько удаленных путей не могут быть сопоставлены с существующими локальными путями. Использование IntelliSense может быть ограничено.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+2 -2
View File
@@ -1664,7 +1664,7 @@
"#include_next, birincil kaynak dosyada kullanılamıyor",
"şablon üye tanımında %no1 belirtilemiyor -- onun yerine %no2 varsayıldı",
"yerel işlev bildiriminde, %sq özniteliği yoksayılıyor",
"%sq öğesi ile %n içerisinde birleştirme işlemi, geçerli bir belirteç oluşturmuyor",
"%sq öğesi ile %n içerisinde birleştirme işlemi, geçerli bir simge oluşturmuyor",
"%no belirsiz (%n2 varsayıldı)",
"statik bir üye işlev üzerinde tür niteleyicisine izin verilmiyor",
"bir tür niteleyicisine, bir oluşturucu veya yıkıcı üzerinde izin verilmiyor",
@@ -2999,7 +2999,7 @@
"'this' anakronizmine yönelik atama C++11 modu ile uyumlu değil",
"bilinmeyen bir hata oluştu. IntelliSense PCH dosyası oluşturulmadı.",
"Bir veya daha fazla uzak yol, mevcut yerel yollarla eşlenemiyor. IntelliSense deneyimi bozulabilir.",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
+2 -2
View File
@@ -2999,7 +2999,7 @@
"对 \"this\" 计时错误的赋值与 C++11 模式不兼容",
"出现了未知错误。未生成 IntelliSense PCH 文件。",
"一个或多个远程路径无法映射到现有本地路径。IntelliSense 体验可能会降级。",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3604,7 +3604,7 @@
"第一个参数必须是指向整数、enum 或支持的浮点类型的指针",
"编译多个翻译单元时无法使用 C++ 模块",
"C++ 模块不能与 C++11 之前的 'export' 功能一起使用",
"不支持 IFC 标记 %sq",
"不支持 IFC 令牌 %sq",
"'pass_object_size' 属性仅对函数声明的参数有效",
"%sq 属性 %d1 的参数必须介于 0 和 %d2 之间",
"此处的 ref-qualifier 被忽略",
+11 -11
View File
@@ -6,7 +6,7 @@
"記憶體不足。請考慮啟用 64 位元 IntelliSense 引擎,並在設定中增加 IntelliSense 記憶體限制。",
null,
"檔案結尾處有未封閉的註解",
"無法辨認的 Token",
"無法辨認的語彙基元",
"遺漏右引號",
"不允許巢狀註解",
"這裡不應該出現 '#'",
@@ -721,8 +721,8 @@
"不允許 mutable",
"不允許 %n 的重新宣告更改其存取權",
null,
"可能誤用替代的 Token '<:'",
"可能誤用替代的 Token '%%:'",
"可能誤用替代的語彙基元 '<:'",
"可能誤用替代的語彙基元 '%%:'",
"不允許命名空間定義",
"名稱必須是命名空間名稱",
"不允許命名空間別名定義",
@@ -782,7 +782,7 @@
"參考的目標是 %nd1 -- 根據舊的 for-init 範圍規則,它可能已 %nd2",
"控制 for-init 差異時警告的選項只有在編譯 C++ 時才能使用",
"這裡需要虛擬 %n 的定義",
"空白註解被解譯為 Token 帶入的運算子 '##'",
"空白註解被解譯為語彙基元帶入的運算子 '##'",
"friend 宣告不能有儲存類別",
"這個宣告不能有 %no 的樣板參數清單",
"%n 不是有效的類別成員範本",
@@ -1664,7 +1664,7 @@
"#include_next 不能用於主要原始程式檔",
"無法在樣板成員定義中指定 %no1 -- 假設為 %no2",
"區域函式宣告忽略 %sq 屬性",
"與 %sq (於 %n 中) 的串連不會建立有效的 Token",
"與 %sq (於 %n 中) 的串連不會建立有效的語彙基元",
"%no 模稜兩可 (假設為 %n2)",
"靜態成員函式不能有類型限定詞",
"建構函式或解構函式不能有類型限定詞",
@@ -2999,7 +2999,7 @@
"'this' 用法已過時,且這種指派與 C++11 模式不相容",
"發生未知的錯誤。未產生 IntelliSense PCH 檔案。",
"有一或多個遠端路徑無法對應到現有的本機路徑。IntelliSense 的效能可能會變差。",
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
null,
@@ -3388,7 +3388,7 @@
"當 %sq 用於匯入或模組指示詞中時,不得為巨集",
"這個指示詞只能出現在全域命名空間範圍內",
"'export' 宣告只能出現在全域或命名空間範圍",
"%sq 剖析為識別碼而非關鍵字,因為後續的 Token 與前置處理器指示詞的標記不相符",
"%sq 剖析為識別碼而非關鍵字,因為後續的權杖與前置處理器指示詞的標記不相符",
"這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止",
"這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中",
"'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)",
@@ -3604,7 +3604,7 @@
"第一個引數必須是整數的指標、enum 或支援的浮點類型",
"編譯多個翻譯單元時,無法使用 C++ 模組",
"C++ 模組無法搭配先前的 C++11 'export' 功能使用",
"IFC Token %sq 不受支援",
"IFC 權杖 %sq 不受支援",
"'pass_object_size' 屬性僅在函式宣告的參數上有效",
"%sq 屬性 %d1 的引數必須是介於 0 到 %d2 之間的值",
"這裡會忽略 ref-qualifier",
@@ -3624,11 +3624,11 @@
"在此模式下,'auto' 作為類型規範並非標準用法",
"由於檔案損毀,無法匯入模組檔案 %sq",
"IFC",
"成員宣告後插入了沒有直接關聯的 Token",
"成員宣告後插入了沒有直接關聯的權杖",
"錯誤的插入範圍 (%r)",
"預期為 std::string_view 類型的值,但收到 %t",
"陳述式後插入了沒有直接關聯的 Token",
"宣告後插入了沒有直接關聯的 Token",
"陳述式後插入了沒有直接關聯的權杖",
"宣告後插入了沒有直接關聯的權杖",
"Tuple 索引值 (%d) 溢位",
">> 輸出來自 std::meta::__report_tokens",
">> 結束輸出自 std::meta::__report_tokens",
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+5
View File
@@ -0,0 +1,5 @@
{
"defaults": [
],
"defaults_op": "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1951",
"-D_MSC_VER=1951",
"-D_MSC_FULL_VER=195136122",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
"defaults_op": "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1951",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1951",
"-D_MSC_FULL_VER=195136122",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
"defaults_op": "merge"
}
+16
View File
@@ -0,0 +1,16 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1951",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1951",
"-D_MSC_FULL_VER=195136122",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1951",
"-D_MSC_VER=1951",
"-D_MSC_FULL_VER=195136122",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
+12 -1
View File
@@ -213,6 +213,17 @@
"recursiveIncludes": {
"type": "object",
"properties": {
"reduce": {
"markdownDescription": "Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to IntelliSense.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string",
"enum": [
"always",
"never",
"default",
"${default}"
]
},
"priority": {
"markdownDescription": "The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
@@ -300,4 +311,4 @@
"version"
],
"additionalProperties": false
}
}
-12
View File
@@ -270,18 +270,6 @@ gulp.task("translations-import", (done) => {
let id = language.transifexId || language.id;
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
.pipe(nls.prepareJsonFiles())
.pipe(es.map((file, cb) => {
// vscode-nls-dev emits .i18n.json files without a trailing newline. Append one so the
// checked-in files match the repo convention (files.insertFinalNewline for [json]) and
// don't produce churn the next time they're opened and saved in VS Code.
if (file.isBuffer()) {
const contents = file.contents;
if (contents.length > 0 && contents[contents.length - 1] !== 0x0A) {
file.contents = Buffer.concat([contents, Buffer.from("\n")]);
}
}
cb(null, file);
}))
.pipe(gulp.dest(path.join("./i18n", language.folderName)))
.pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`.
}))
@@ -18,4 +18,4 @@
"reinstall.extension.text7": "然后通过 VS Code 中的市场 UI 重新安装。",
"reinstall.extension.text8": "如果 VS Code 无法部署扩展的正确版本,则可以 {0} 并使用 VS Code 中市场 UI 内 \"...\" 菜单下的 \"从 VSIX... 安装\" 选项安装系统的正确 VSIX。",
"download.vsix.link.title": "已从 VS Code 市场网站下载"
}
}
@@ -22,10 +22,11 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "设为 `true` 以仅处理直接或间接包含为标头的文件,设为 `false` 则处理指定包含路径下的所有文件。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用于索引和分析工作区符号的路径列表(供“转到定义”、“查找所有引用”等使用)。默认情况下,在这些路径上进行搜索为递归搜索。指定 `*` 以指示非递归搜索。例如,`${workspaceFolder}` 将搜索所有子目录,而 `${workspaceFolder}/*` 将不进行搜索。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "设置为 `always` 可始终将提供给 IntelliSense 的递归包含路径数减少到仅限当前由 #include 语句引用的路径。这需要首先分析文件以确定包含哪些标头。设置为 `never` 可将所有递归包含路径提供给 IntelliSense。当涉及到大量递归包含路径时,减少递归包含路径的数量可能会提高 IntelliSense 性能。如果不减少递归包含路径的数量,则可以通过避免需要分析文件以确定要提供的包含路径来提高 IntelliSense 性能。`default` 值目前会减少提供给 IntelliSense 的递归包含路径数。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "递归包含路径的优先级。如果设置为 `beforeSystemIncludes`,则会在系统包含路径之前搜索递归包含路径。如果设置为 `afterSystemIncludes` ,则会在系统包含路径后搜索递归包含路径。`beforeSystemIncludes` 将更密切地反映编译器的搜索顺序,而 `afterSystemIncludes` 则可能导致性能提升。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜索递归包含的子目录的顺序。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令`${cpptools:activeConfigCustomVariable}` 查询的自定义变量,用于 `launch.json` 或 `tasks.json`. 中的输入变量。",
"c_cpp_properties.schema.json.definitions.env": "可以使用 `${变量}` 或 `${env:变量}` 语法在此文件中的任何位置重复使用的自定义变量。",
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制扩展是否将报告在 `c_cpp_properties.json` 中检测到的错误。"
}
}

Some files were not shown because too many files have changed in this diff Show More