Compare commits

..
222 Commits
Author SHA1 Message Date
Sean McManus 83f034db46 Merge pull request #14572 from microsoft/seanmcm/vs_july9
Merge to the vs branch (1.33.4)
2026-07-10 02:56:35 -07:00
Sean McManus f3f2521b70 Merge branch 'main' into seanmcm/vs_july9 2026-07-09 12:12:29 -07:00
Sean McManus 6f40e5bc24 Update changelog and version for 1.33.4. (#14568) 2026-07-08 11:45:52 -07:00
Bob Brown 24d299fcff Rewording an error message (#14561)
* Rewording an error message
2026-07-07 15:52:55 -07:00
Sean McManusandcsigs bbf1ad3caf Update loc for 1.33.3 (again) (#14566)
* Localization - Translated Strings
* Apply fixes.

---------

Co-authored-by: csigs <[email protected]>
2026-07-06 12:17:18 -07:00
Sean McManus d686c15de1 Add .vscode/settings.json to .gitignore. (#14563) 2026-07-03 01:54:38 +00:00
Sean McManus 44a962969d Update changelog and version for 1.33.3. (#14562) 2026-07-02 18:20:51 -07:00
tieoandSean McManus 894e101363 Fix C/C++ debug hover on intermediate members of a dereferenced expression (#14540)
* Add EvaluatableExpressionProvider to fix C/C++ debug hover on dereferenced members

VS Code's default debug data-tip keeps a leading `*`/`&` and clips on the right, so hovering
an intermediate member of e.g. `*a.b.c` evaluates `*a.b` (a dereference of the struct `a.b`)
and shows no value.

Register an EvaluatableExpressionProvider that, only for that case, returns the expression
without the leading operator. Every other expression returns undefined so the default
behavior is unchanged.

* Move the debug hover provider to the debugger

Register the EvaluatableExpressionProvider during debugger activation
instead of through the language client, so it also works when IntelliSense
is disabled, and move it next to the other debugger code.

The expression computation lives in a vscode-free module
(evaluatableExpression.ts) so it can be unit tested directly. Registering
a provider replaces VS Code's built-in data-tip expression detection, so
it reproduces that for ordinary tokens and additionally handles access
chains the built-in detection gets wrong for C/C++:

- A leading */& binds to the whole access chain (the postfix ., ->, []
  operators bind tighter), so it is dropped for an interior member of a
  dot chain, where *a.b would dereference the struct a.b, and kept on the
  final member and before ->.

- Array subscripts and :: are kept in the token, so members after a
  subscript (a.b[i].c) and scoped names (ns::var) resolve instead of
  producing a broken fragment.

* Document why the leading-operator drop is .-only

The leading */& is kept before -> / [] and at the end of a chain because
those left operands are provably pointers/arrays, so *ptr->m, *a.b[i] and
&a[i] evaluate without error; it is dropped only before . where the left
operand may be a struct. Documents these keep-leading outcomes as deliberate
per review feedback.

* Decline non-token cursor positions inside a subscript

Inside [...] the token spans whitespace and operators (e.g. a[i + j]), so
returning the nearest identifier evaluated the wrong expression when the
cursor was on an operator or space. Return undefined unless the cursor is on
the index identifier itself, and add tests.

* Rewrite hover token detection with a balanced-bracket scanner

Replace the token regex with a manual scanner so nested subscripts (a[b[i]])
stay in one token, fix hovering past the last identifier truncating a trailing
subscript, and decline non-token positions inside [...] (operators/whitespace).
Keep the leading * only on the final dereferenced segment (including a final
subscript element like *a.b[i]); drop it on interior segments and drop a leading
& always. Removes the previous regex (and its ReDoS surface).

---------

Co-authored-by: Sean McManus <[email protected]>
2026-07-01 18:50:47 -07:00
Bob Brown 4aa35c9681 Allow for platform overrides in cppbuild tasks (#14559) 2026-07-01 18:22:57 -07:00
Bob Brown 300d65a9d5 Enable language server tests for GitHub PR's (#14474) 2026-07-01 18:22:03 -07:00
Sean McManus 3203386c6e Localization for 1.33.3 (#14553)
* Localization - Translated Strings
2026-06-30 16:39:00 -07:00
Sean McManus dd1902a8dc Update .npmrc (#14557) 2026-06-30 16:16:30 -07:00
Sean McManus 03ee07113a Fix format settings. (#14558)
* Fix format settings.
2026-06-30 15:54:00 -07:00
Sean McManus 8e68bbba5d Fix Windows backslash paths being mangled when adding an SSH target (#14554)
* Fix Windows backslash paths being mangled when adding an SSH target
2026-06-30 15:31:44 -07:00
Sean McManus fe18c4af95 Improve crash call stack data. (#14555)
* Improve crash call stack data.
2026-06-30 13:55:08 -07:00
Sean McManus 53dd88fd19 Fix clang-format/clang-tidy version check failing on Windows (and paths with spaces) (#14552)
* Fix clang-format/clang-tidy version check failing on Windows (and paths with spaces)
2026-06-29 16:32:42 -07:00
Sean McManus 4e9ebaa180 Merge pull request #14556 from microsoft/seanmcm/vs_1_33_3
Merge to vs (1.33.3)
2026-06-29 15:54:36 -07:00
Sean McManus 97b6775aeb Merge branch 'main' into seanmcm/vs_1_33_3 2026-06-29 12:21:41 -07:00
Sean McManus df58934ca0 Fix TypeScript compilation errors in common.ts (#14551)
* Fix TypeScript errors.
2026-06-26 16:01:26 -07:00
Sean McManus 959a4d15d5 Update changelog for 1.33.2. (#14547)
* Update changelog for 1.33.2.
2026-06-25 19:31:20 -07:00
Sean McManus 7af04f6153 Fix errors in the previous changelog. (#14545) 2026-06-24 19:18:11 -07:00
Sean McManus faa8f425ec Update changelog for 1.33.1. (#14543) 2026-06-23 17:29:43 -07:00
Sean McManus 1ad8241f66 Update .github/actions dependencies. (#14542) 2026-06-23 16:11:05 -07:00
Colen Garoutte-Carson 6ea023c14a Update survey URL (#14538) 2026-06-23 11:52:58 -07:00
Sean McManus a1eef20485 Update changelog again. (#14536) 2026-06-19 21:13:29 +00:00
notable-equivalentandCopilot Autofix powered by AI 0b64d607f5 Substitute ${env:X} with an empty string for unset environment variables (#14535)
* Expand undefined environment variables to empty

* Use unique env var name

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Marked optional capturing groups as potentially undefined

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-06-19 14:03:01 -07:00
Sean McManus 18e9335d76 Update changelog and TPN for 1.33.0. (#14533)
* Update changelog and TPN for 1.33.0.
2026-06-18 17:14:18 -07:00
Bob Brown 0a72712f04 Allow suppression of run without debugging warnings (#14516)
Added a property to disable the warning message generated when a launch config cannot be run directly in the terminal.
2026-06-18 15:46:24 -07:00
Sean McManus 70b35ddbc7 Lock debuginfod strings. (#14520) 2026-06-18 15:36:42 -07:00
Sean McManus 53917c0de2 Update github actions dependencies. (#14531) 2026-06-18 22:32:43 +00:00
Sean McManus 5993256e77 Update dependencies. (#14532) 2026-06-18 15:31:45 -07:00
Bob Brown 239deaf331 get OptionsSchema.json back in sync with package.json (#14523)
* Cleanup from #13654

* Update OptionsSchema for #14108
2026-06-18 14:05:26 -07:00
dependabot[bot] 9b8153617c Bump form-data from 4.0.5 to 4.0.6 in /ExtensionPack (#14530)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 20:36:15 +00:00
dependabot[bot] 205cdf663d Bump js-yaml from 4.1.1 to 4.2.0 in /Themes (#14529)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 13:35:33 -07:00
dependabot[bot] fcac9ac6d1 Bump undici from 7.24.0 to 7.28.0 in /Themes (#14528)
Bumps [undici](https://github.com/nodejs/undici) from 7.24.0 to 7.28.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.24.0...v7.28.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.28.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 20:33:18 +00:00
dependabot[bot] 541f2b158c Bump form-data from 4.0.5 to 4.0.6 in /Themes (#14527)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 13:32:35 -07:00
dependabot[bot] b271ed1c68 Bump markdown-it from 14.1.1 to 14.2.0 in /Extension (#14522)
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.1.1 to 14.2.0.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/14.1.1...14.2.0)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 14.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 13:28:58 -07:00
Sean McManus 4ad4456b40 Merge pull request #14517 from microsoft/seanmcm/vs_june_2026
Merge to vs
2026-06-18 13:27:51 -07:00
Ben McMorran 7a56cf9064 Add plugin-specific login and EULA messages (#14519)
These messages will be used by the plugin mode of the standalone language server.
2026-06-16 17:44:17 -07:00
Sean McManus 0891980f74 Merge branch 'main' into seanmcm/vs_june_2026 2026-06-16 11:13:14 -07:00
Sean McManus 0015bd88c9 Minor IntelliSense loc changes. (#14518) 2026-06-16 11:11:18 -07:00
Sean McManus 2f19d5fc59 Merge branch 'main' into seanmcm/vs_june_2026 2026-06-15 17:49:44 -07:00
dependabot[bot]andSean McManus 0666a0f0e3 Bump form-data from 4.0.5 to 4.0.6 in /Extension (#14513)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  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]>
2026-06-15 10:57:26 -07:00
dependabot[bot] 030c22c6d8 Bump js-yaml from 4.1.1 to 4.2.0 in /Extension (#14514)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 10:52:22 -07:00
dependabot[bot] b9150cbd22 Bump tmp from 0.2.6 to 0.2.7 in /Extension (#14512)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.6 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.6...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 10:42:35 -07:00
dependabot[bot] 3b8c545e09 Bump shell-quote from 1.8.2 to 1.8.4 in /Extension (#14507)
Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.2 to 1.8.4.
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.2...v1.8.4)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-10 11:10:28 -07:00
Andrew Wang a54ba1e1ce Set debuginfod.enable to false (#14506) 2026-06-10 10:55:20 -07:00
Sean McManus d83faa224a Update minimum VS Code version to 1.77 and vscode-languageclient to 9.0.1 (#14502)
* Update minimum VS Code version to 1.77 since Windows 7 and 8 support was dropped.
* Update vscode-languageclient.
2026-06-02 19:53:34 -07:00
Sean McManus bb5b252ee1 Remove always-auth. (#13377)
* Remove always-auth.
2026-06-01 16:06:40 -07:00
Sean McManus 8a6124fd45 Add a progress indicator with cancel for Switch Header/Source. (#14386)
* Add a progress indicator with Cancel for Switch Header/Source.
2026-06-01 15:44:42 -07:00
Sean McManus fd96957a10 Update brace-expansion. (#14494) 2026-06-01 22:42:23 +00:00
Sean McManus 71278ef27b Update uuid and vsce. (#14495)
* Update vsce.
* Update uuid.
2026-06-01 15:36:02 -07:00
Glen Chung 59a3309ac0 Remove compiler argument translation JSON files (#14467) 2026-05-29 19:31:26 +00:00
dependabot[bot] e669bc4802 Bump tmp from 0.2.5 to 0.2.7 in /Themes (#14493)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-29 12:07:25 -07:00
dependabot[bot] 25fd26acdf Bump tmp from 0.2.5 to 0.2.7 in /ExtensionPack (#14492)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-29 12:02:36 -07:00
dependabot[bot] 6797ee4f99 Bump qs from 6.15.0 to 6.15.2 in /ExtensionPack (#14490)
Bumps [qs](https://github.com/ljharb/qs) from 6.15.0 to 6.15.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 03:20:43 -07:00
dependabot[bot] 1f6e545118 Bump qs from 6.15.0 to 6.15.2 in /Extension (#14489)
Bumps [qs](https://github.com/ljharb/qs) from 6.15.0 to 6.15.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 03:17:00 -07:00
dependabot[bot] 52bec4837c Bump tmp from 0.2.5 to 0.2.6 in /Extension (#14488)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.6.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.6)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 02:27:02 -07:00
Sean McManusandcsigs a3d9417e43 Update localization (#14484)
* Localization - Translated Strings

* Update localization.

---------

Co-authored-by: csigs <[email protected]>
2026-05-26 10:21:18 -07:00
dependabot[bot]andSean McManus 96d470acb0 Bump qs from 6.15.0 to 6.15.2 in /Themes (#14477)
Bumps [qs](https://github.com/ljharb/qs) from 6.15.0 to 6.15.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.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]>
2026-05-22 20:04:54 -07:00
dependabot[bot]andSean McManus fd3926ffe4 Bump uuid and @azure/identity in /Themes (#14476)
Removes [uuid](https://github.com/uuidjs/uuid). It's no longer used after updating ancestor dependency [@azure/identity](https://github.com/Azure/azure-sdk-for-js). These dependencies need to be updated together.


Removes `uuid`

Updates `@azure/identity` from 4.13.0 to 4.13.1
- [Release notes](https://github.com/Azure/azure-sdk-for-js/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Changelog-for-next-generation.md)
- [Commits](https://github.com/Azure/azure-sdk-for-js/compare/@azure/identity_4.13.0...@azure/identity_4.13.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version:
  dependency-type: indirect
- dependency-name: "@azure/identity"
  dependency-version: 4.13.1
  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]>
2026-05-22 20:04:03 -07:00
Andrew Wang 2727652801 Add debuginfod launch option to cppdbg debugger schema (#14471)
Add the `debuginfod` configuration option to both launch and attach
configurations for the cppdbg debugger type. This exposes the MIEngine
debuginfod settings (enabled/timeout) so users can control GDB's
debuginfod behavior and prevent hangs when debuginfod servers are
unreachable.
2026-05-22 20:01:52 -07:00
Sean McManus 90f2ed1584 Add "important" doxygen.sectionTags. (#14473)
* Add "important" to doxygen.sectionTags.
2026-05-22 19:42:13 -07:00
Colen Garoutte-Carson 4e8203a95e Reset status UI if DB fails to open (#14475) 2026-05-22 15:43:00 -07:00
Sean McManusandcsigs b3110d8964 Update localization (#14461)
* Localization - Translated Strings

---------

Co-authored-by: csigs <[email protected]>
2026-05-22 13:52:12 -07:00
dependabot[bot] cf49a16515 Bump @nevware21/ts-utils from 0.13.0 to 0.14.0 in /Extension (#14469)
Bumps [@nevware21/ts-utils](https://github.com/nevware21/ts-utils) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/nevware21/ts-utils/releases)
- [Changelog](https://github.com/nevware21/ts-utils/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nevware21/ts-utils/compare/0.13.0...0.14.0)

---
updated-dependencies:
- dependency-name: "@nevware21/ts-utils"
  dependency-version: 0.14.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-21 19:30:49 -07:00
dependabot[bot] 5a07193e50 Bump uuid and @azure/identity in /ExtensionPack (#14468)
Removes [uuid](https://github.com/uuidjs/uuid). It's no longer used after updating ancestor dependency [@azure/identity](https://github.com/Azure/azure-sdk-for-js). These dependencies need to be updated together.


Removes `uuid`

Updates `@azure/identity` from 4.13.0 to 4.13.1
- [Release notes](https://github.com/Azure/azure-sdk-for-js/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Changelog-for-next-generation.md)
- [Commits](https://github.com/Azure/azure-sdk-for-js/compare/@azure/identity_4.13.0...@azure/identity_4.13.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version:
  dependency-type: indirect
- dependency-name: "@azure/identity"
  dependency-version: 4.13.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-21 14:50:31 -07:00
Sean McManus 4ae7cd47e1 cpptools-srv2 crash handler. (#14449)
* cpptools-srv2 crash handler.
2026-05-15 13:43:46 -07:00
Luca 8f0f27e5a0 add strings to localize (#14448) 2026-05-13 11:40:57 -07:00
Sean McManus 63aa33ff1d Update fast-xml-parser. (#14445) 2026-05-11 18:24:37 +00:00
Sean McManus de2aadcb8b Update postcss. (#14444) 2026-05-11 11:23:27 -07:00
dependabot[bot] 76ff264e6b Bump fast-uri from 3.1.0 to 3.1.2 in /Extension (#14439)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 23:18:14 +00:00
dependabot[bot]andSean McManus 61f7ecf39e Bump fast-uri from 3.1.0 to 3.1.2 in /ExtensionPack (#14438)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.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]>
2026-05-08 23:17:47 +00:00
dependabot[bot] a54f5698d2 Bump fast-uri from 3.1.0 to 3.1.2 in /Themes (#14437)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 16:17:11 -07:00
dependabot[bot] 8af9ded977 Bump fast-xml-builder from 1.1.4 to 1.1.9 in /.github/actions (#14436)
Bumps [fast-xml-builder](https://github.com/NaturalIntelligence/fast-xml-builder) from 1.1.4 to 1.1.9.
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-builder/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-builder/compare/v1.1.4...1.1.9)

---
updated-dependencies:
- dependency-name: fast-xml-builder
  dependency-version: 1.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 12:52:32 -07:00
Bob Brown f754fdbe25 Allow for scheduling CI on any branch on demand (#14433) 2026-05-07 16:56:16 -07:00
Bob Brown 0f0d5a34d9 Add telemetry for run without debugging (#14428) 2026-05-07 22:36:46 +00:00
dependabot[bot] 47b3ffd535 Bump axios from 1.15.0 to 1.16.0 in /.github/actions (#14431)
Bumps [axios](https://github.com/axios/axios) from 1.15.0 to 1.16.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.15.0...v1.16.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 15:16:10 -07:00
dependabot[bot] 1f31ea4794 Bump ip-address from 10.1.0 to 10.2.0 in /.github/actions (#14429)
Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.1.0 to 10.2.0.
- [Commits](https://github.com/beaugunderson/ip-address/commits)

---
updated-dependencies:
- dependency-name: ip-address
  dependency-version: 10.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 15:12:08 -07:00
Sean McManus 2c79d00dd3 Merge pull request #14410 from microsoft/seanmcm/vsApr27
Merge to vs
2026-05-07 09:14:20 -07:00
Colen Garoutte-Carson 0dd2603271 Database population unification (#14426) 2026-05-06 16:13:46 -07:00
Bob Brown c4980409a9 address codeQL issues (#14425) 2026-05-05 15:29:32 -07:00
Glen Chung 11df85302c Add Native Strings (#14419) 2026-05-01 16:03:41 -07:00
Sean McManus fce5d98001 Merge branch 'main' into seanmcm/vsApr27 2026-05-01 05:28:33 -07:00
Sean McManus d9a3f8e493 Update changelog and version for 1.32.2. (#14415) 2026-04-28 12:14:10 -07:00
Sergio Ramirez II b435e56ff6 Adding additional parse checking logic (#14407)
Adding additional parse checking logic to determine if idle state has no pending calls and finished workspace parsing, file parsing, and intellisense updates.
2026-04-28 16:05:03 +00:00
Sean McManus 81b40ca82a Merge branch 'main' into seanmcm/vsApr27 2026-04-27 17:56:02 -07:00
Sean McManus 25cc9b758a clang-analyazer (#14411) 2026-04-27 12:28:05 -07:00
Sean McManus c0bbf33742 Merge branch 'main' into seanmcm/vsApr27 2026-04-27 07:36:02 -07:00
dependabot[bot]andSean McManus 11f261e796 Bump @xmldom/xmldom from 0.8.12 to 0.8.13 in /Extension (#14403)
Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom) from 0.8.12 to 0.8.13.
- [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.12...0.8.13)

---
updated-dependencies:
- dependency-name: "@xmldom/xmldom"
  dependency-version: 0.8.13
  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]>
2026-04-23 10:32:03 -07:00
dependabot[bot] f4fb3318f3 Bump uuid from 8.3.2 to 14.0.0 in /.github/actions (#14402)
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.2 to 14.0.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.2...v14.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 10:23:59 -07:00
Sean McManus bfa165a92c Update changelog for 1.32.1 (#14395)
* Update changelog for 1.32.1.
2026-04-17 17:43:12 -07:00
Sean McManus 2b8f7a2060 Fix Reinstalling the Extension.md not being included. (#14390) 2026-04-17 12:08:13 -07:00
Sean McManus ecf12313ad Fix and lock the loc terms. (#14387)
* Fix and lock the loc terms.
2026-04-16 15:41:14 -07:00
Sean McManus 1b29dbf772 Update loc for walkthrough.windows.text2. (#14383) 2026-04-16 14:03:27 -07:00
David Raygoza 7665e11045 Set context flag for when C++ language server is activated (#14382)
The primary purpose of this is for this flag to be consumed by the C++ devtools extensions. This way the C++ specific Copilot tools will only appear in tools list and register when the C++ language server is actually activated.
2026-04-15 17:24:14 -07:00
dependabot[bot] 25b76baa94 Bump follow-redirects from 1.15.11 to 1.16.0 in /.github/actions (#14376)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-14 15:03:22 -07:00
Sean McManus a6b12a8c10 Update changelog for 1.32.0. (#14373)
* Update changelog for 1.32.0.
2026-04-14 10:54:17 -07:00
Carson Radtke 775fd692ea 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.
2026-04-14 04:00:46 +00:00
Bob Brown ddb54454e3 Add a script to copy language server and debugger binaries to the Extension folder (#14370) 2026-04-13 15:48:40 -07:00
Sean McManus 2db5c05c37 Fallback to GPT-5.4-mini and cache the model used. (#14369)
* Fallback to GPT-5.4-mini and cache the model used.
2026-04-13 14:50:38 -07:00
Sean McManus bc9a72cf2f Switch to GPT-4o. (#14364) 2026-04-13 13:07:02 -07:00
Bob Brown 291e5a3228 Run without debugging (#14351) 2026-04-13 19:38:30 +00:00
Sean McManus 7774dafb1f Add setting doxygen.generateOnCodeAction. (#14342) 2026-04-13 12:19:54 -07:00
dependabot[bot] 55ef430b96 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>
2026-04-13 08:49:49 -07:00
Bob Brown bb5943c755 Update instructions for installing MSVC (#14361) 2026-04-09 13:37:29 -07:00
Bob Brown 69d4585eb2 UCRTVersion is not required for a developer environment (#14358) 2026-04-08 16:13:33 -07:00
Sean McManus 8e82004017 Fix cg.yml. (#14355) 2026-04-08 08:49:30 -07:00
Sean McManus 900aa75527 Fix npx @vscode/vsce. (#14354)
* Fix npx @vscode/vsce.
2026-04-07 13:03:03 -07:00
Sean McManus 61b53bcda8 Update lodash. (#14350) 2026-04-03 16:02:22 -07:00
Ben McMorran 34d375a616 Prefer GPT-5-mini for Copilot Hover (#14349) 2026-04-03 10:42:25 -07:00
675855f453 Merge to vs (#14336)
* Bump undici from 7.22.0 to 7.24.0 in /Extension (#14272)

Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  dependency-type: indirect
...

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

* Bump undici from 7.22.0 to 7.24.0 in /ExtensionPack (#14273)

Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  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 undici from 7.22.0 to 7.24.0 in /Themes (#14274)

Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  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 undici from 6.23.0 to 6.24.0 in /.github/actions (#14275)

Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.0
  dependency-type: indirect
...

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

* Update. (#14277)

* Stop using yarn with extension pack (#14278)

* Use npm instead of yarn for the extension package vsix.

* Update changelog for 1.31.2. (#14271)

* Update changelog for 1.31.2.

* Fix a yarn.lock mismatch. (#14282)

* Update flatted. It was already updated in the Extension folder. (#14285)

* Upate @azure/msal-browser for the ExtensionPack. (#14286)

* Update changelog and version for 1.31.3. (#14288)

* Fix a changelog typo missed in the last PR. (#14290)

* Update fast-xml-parser. (#14292)

* Bootstrap yarn to fix/enable CFSClean3. (#14284)

* Switch .github builds to use node 24 and the latest OS images (#14293)

* Switch to node 24.
* Also update the runner-env images.

* Update to 1ESPT-Windows2025. (#14295)

* Remove console.debug calls. (#14296)

* 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.

---------

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]>
2026-04-02 11:33:46 -07:00
Sean McManus 61815d8869 Update npmrc. (#14346) 2026-04-02 18:23:56 +00:00
Sean McManus f309f90a4f Update TPN. (#14343) 2026-04-02 11:10:56 -07:00
dependabot[bot] fa097e4966 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>
2026-04-01 11:09:05 -07:00
Sean McManus 6770b0a25a Update changelog for 1.31.4. (#14338) 2026-03-31 15:16:52 -07:00
Sean McManus c6163a73c5 Merge branch 'main' into seanmcm/mergeToVs_March26 2026-03-30 17:25:11 -07:00
Sean McManus 5f56194feb Update brace-expansion for other folders (#14333)
* Update brace-expansion for other folders.
2026-03-30 11:08:36 -07:00
Luca 21a8e34c91 minimize the calls to lm.selectChatModels (#14327) 2026-03-30 09:41:03 -08:00
Sean McManus 5451e32bd8 Update brace-expansion and serialize-javascript. (#14328) 2026-03-30 10:14:13 -07:00
dependabot[bot] 97943a9d67 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>
2026-03-30 10:09:26 -07:00
Sean McManus 4884af8c94 Update brace-expansion v5. (#14325) 2026-03-27 17:20:36 +00:00
Sean McManus 65beaebaf9 Update picomatch. (#14324) 2026-03-26 18:50:45 -07:00
dependabot[bot] 6e3a7b2b7e 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>
2026-03-26 17:01:33 -07:00
dependabot[bot]andSean McManus 5c16227c40 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]>
2026-03-26 15:44:08 -07:00
dependabot[bot] 37a558260d 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>
2026-03-26 13:27:38 -07:00
Sean McManus e08377a353 Update changelog with recent fixes. (#14313) 2026-03-23 12:01:04 -07:00
dependabot[bot] 61421ea4fe 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>
2026-03-20 11:34:04 -07:00
Sean McManus 0608ecd86f Update flatted and fast-xml-parser. (#14303) 2026-03-20 11:12:36 -07:00
Sean McManus ecdfabdd17 Update changelog and TPN. (#14298) 2026-03-19 11:01:20 -07:00
Sean McManus 6e96c3ea13 Remove console.debug calls. (#14296) 2026-03-18 17:26:24 +00:00
Sean McManus 4bb5b8a11f Update to 1ESPT-Windows2025. (#14295) 2026-03-18 10:25:58 -07:00
Sean McManus be8236fd80 Switch .github builds to use node 24 and the latest OS images (#14293)
* Switch to node 24.
* Also update the runner-env images.
2026-03-18 03:32:51 -07:00
Sean McManus c813ab5a99 Bootstrap yarn to fix/enable CFSClean3. (#14284) 2026-03-17 16:05:06 -07:00
Sean McManus 20cfc2bbef Update fast-xml-parser. (#14292) 2026-03-17 16:00:07 -07:00
Sean McManus 577a7b8361 Fix a changelog typo missed in the last PR. (#14290) 2026-03-17 13:36:02 -07:00
Sean McManus 7a4b4ddb37 Update changelog and version for 1.31.3. (#14288) 2026-03-17 13:26:35 -07:00
Sean McManus 7fe4f030bd Upate @azure/msal-browser for the ExtensionPack. (#14286) 2026-03-17 18:16:44 +00:00
Sean McManus 3a4df8c003 Update flatted. It was already updated in the Extension folder. (#14285) 2026-03-17 11:09:39 -07:00
Sean McManus c9e571a889 Fix a yarn.lock mismatch. (#14282) 2026-03-16 15:57:42 -07:00
Sean McManus 28a834241c Merge pull request #14279 from microsoft/seanmcm/vs_1_31_2
Merge to vs for 1.31.2
2026-03-16 11:29:50 -07:00
Sean McManus b0efdb5628 Update changelog for 1.31.2. (#14271)
* Update changelog for 1.31.2.
2026-03-16 11:25:12 -07:00
Sean McManus 886008ce84 Stop using yarn with extension pack (#14278)
* Use npm instead of yarn for the extension package vsix.
2026-03-16 11:20:36 -07:00
Sean McManus 9d161fb345 Update. (#14277) 2026-03-16 11:12:04 -07:00
dependabot[bot] 1a661ebd5b Bump undici from 6.23.0 to 6.24.0 in /.github/actions (#14275)
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-13 19:06:19 -07:00
dependabot[bot]andSean McManus d84696e9a7 Bump undici from 7.22.0 to 7.24.0 in /Themes (#14274)
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  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]>
2026-03-13 17:50:54 -07:00
dependabot[bot]andSean McManus de84f488f2 Bump undici from 7.22.0 to 7.24.0 in /ExtensionPack (#14273)
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  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]>
2026-03-13 17:44:51 -07:00
dependabot[bot] a9609ef47b Bump undici from 7.22.0 to 7.24.0 in /Extension (#14272)
Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-13 17:20:35 -07:00
Sean McManus 9859b84e04 Merge branch 'main' into seanmcm/vs_1_31_2 2026-03-13 12:09:30 -07:00
Rohan Santhosh Kumarandrohan436 e83f362050 docs: remove duplicate word in developer readme (#14266)
Co-authored-by: rohan436 <[email protected]>
2026-03-12 03:35:31 -07:00
Sean McManus 38e074451a Fix warning "Cannot find" instead of "Path is not a file" for compilerPath. (#14265) 2026-03-11 11:08:50 -07:00
Sean McManus a651e53430 Update serialize-javascript. (#14262)
* Update serialize-javascript.
2026-03-10 18:24:01 -07:00
Sean McManus 304b92419f Add CFSClean2. (#14253)
* Add CFSClean2.
2026-03-10 17:20:31 +00:00
Sean McManus 5aaa9197c2 Update changelog a 2nd time for 1.31.1. (#14256)
* Update changelog a 2nd time for 1.31.1.
2026-03-10 17:19:31 +00:00
Sean McManus c239d6b162 Change fs.existsSync to check[File|Directory]ExistsSync for cases where it matters. (#14258) 2026-03-10 10:18:42 -07:00
Sean McManus a66064beef Update TPN for 1.31.1. (#14254) 2026-03-09 16:44:33 -07:00
Sean McManus b3c1b117c2 Add more CFSClean to pipelines. (#14245)
* Add more CFSClean to pipelines.
* Add --skip-duplicate.
2026-03-05 18:11:34 -08:00
Sean McManus a38624d1ef Add @vscode/vsce. (#14243) 2026-03-05 09:12:10 -08:00
Sean McManus 2c26037f43 Update changelog and version for 1.31.1 (#14239)
* Update changelog and version for 1.31.1
2026-03-04 18:04:42 -08:00
Sean McManus 318f7058b0 Update .github/actions dependencies. (#14237) 2026-03-04 23:31:52 +00:00
Sean McManus 8cadd2dac8 Update TPN for 1.31.1. (#14236) 2026-03-04 15:29:12 -08:00
Sean McManus 622b8ee60c Merge pull request #14233 from microsoft/seanmcm/vs1_31_1
Merge to vs (1.31.1)
2026-03-04 08:02:13 -08:00
Sean McManus 74dd1a27f4 Merge branch 'main' into seanmcm/vs1_31_1 2026-03-03 19:02:38 -08:00
Sean McManus c5fe03c8e6 Update loc. (#14232) 2026-03-04 03:01:19 +00:00
Sean McManus df350e6552 Update msvc versions. (#14231) 2026-03-04 03:00:54 +00:00
Sean McManus a8cb5375e9 Update to clang-tidy 22. (#14230) 2026-03-03 18:34:08 -08:00
Sean McManus 40e39acb0e Revert the shell-quote update. (#14229) 2026-03-02 16:56:15 -08:00
Sean McManus 8ff42d0d00 Update more dependencies. (#14224)
* Update more dependencies.
2026-03-02 21:25:38 +00:00
Sean McManus 597f29c39a Update licenses. (#14225) 2026-03-02 13:24:45 -08:00
dependabot[bot] fc048916c0 Bump minimatch in /.github/actions (#14222)
Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 11:46:34 -08:00
Sean McManus 6de78e2d05 Update ajv. (#14221) 2026-02-27 19:31:47 +00:00
Sean McManus 6bddc0fb58 Update minimatch again. (#14219) 2026-02-27 11:31:06 -08:00
Sean McManus e0cf47d749 Update minimatch. (#14217) 2026-02-25 16:20:04 -08:00
dependabot[bot] adb6bcf8d5 Bump fast-xml-parser and @aws-sdk/xml-builder in /.github/actions (#14214)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [@aws-sdk/xml-builder](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages-internal/xml-builder). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 5.3.4 to 5.3.6
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.4...v5.3.6)

Updates `@aws-sdk/xml-builder` from 3.972.4 to 3.972.5
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages-internal/xml-builder/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/HEAD/packages-internal/xml-builder)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.3.6
  dependency-type: indirect
- dependency-name: "@aws-sdk/xml-builder"
  dependency-version: 3.972.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 11:04:32 -08:00
dependabot[bot] e80bd3b0d1 Bump minimatch from 4.2.3 to 4.2.4 in /Extension (#14213)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 4.2.3 to 4.2.4.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v4.2.3...v4.2.4)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 4.2.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-24 18:50:52 -08:00
Sean McManus a5d00e3123 Switch vsix packing to use Nuget.config (#14209)
* Add a NuGet.config file
2026-02-23 13:35:42 -08:00
Sean McManus b977587cb1 Update the C/C++ extension pack to 1.5.1. (#14203) 2026-02-19 14:06:28 -08:00
Sean McManus ca81d009fd Fix signing for extension pack and themes extensions. (#14202)
* Fix signing for extension pack and themes extensions.
* Fix README.md
2026-02-19 12:45:49 -08:00
Bob Brown 5bbac4e637 update the url for the privacy statement (#14198) 2026-02-18 14:37:56 -08:00
Sean McManus ea1fbea183 Update changelog for 1.31.0. (#14195)
* Update changelog for 1.31.0.
2026-02-18 14:36:46 -08:00
Subham f681142c40 feat: Support program parameter in attach configurations (#14046) (#14108)
* feat: support program parameter in attach configs
2026-02-18 14:34:48 -08:00
Bob Brown 1cd186b3f3 co-install the new C++ Dev Tools extension (#14197) 2026-02-18 12:09:35 -08:00
dependabot[bot] e23c41835d Bump fast-xml-parser and @aws-sdk/xml-builder in /.github/actions (#14182)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [@aws-sdk/xml-builder](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages-internal/xml-builder). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 5.3.3 to 5.3.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.3...v5.3.4)

Updates `@aws-sdk/xml-builder` from 3.972.2 to 3.972.4
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages-internal/xml-builder/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/HEAD/packages-internal/xml-builder)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.3.4
  dependency-type: indirect
- dependency-name: "@aws-sdk/xml-builder"
  dependency-version: 3.972.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 17:27:22 -08:00
Sean McManus d9fe0c8874 Update webpack. (#14180)
* Update webpack.
2026-02-11 17:18:50 -08:00
dependabot[bot] 5ad75b4445 Bump axios from 1.13.4 to 1.13.5 in /.github/actions (#14179)
Bumps [axios](https://github.com/axios/axios) from 1.13.4 to 1.13.5.
- [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.4...v1.13.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 13:18:17 -08:00
Ben McMorranandSean McManus 11b63666c5 Check unified Copilot API before legacy API (#14167)
Co-authored-by: Sean McManus <[email protected]>
2026-02-09 11:00:21 -08:00
Sean McManus 920997d1d8 Update changelog for 1.30.5 (#14171)
* Update changelog for 1.30.5.
2026-02-06 15:10:25 -08:00
Sean McManus 05d57e1c3c Update eslint from 8 to 9. (#14157)
* Update eslint from 8 to 9.
2026-02-05 14:20:32 -08:00
Sean McManus 19a86b5d2a Update changelog and version for 1.30.4. (#14165) 2026-02-03 11:25:30 -08:00
Sean McManus 982dd4e31d Merge pull request #14132 from microsoft/seanmcm/updateVsJan9
Update vs to match 1.30.1
2026-01-09 11:40:35 -08:00
Sean McManus 0cd8e4c491 Merge branch 'seanmcm/updateIntelliSenseLocStringsJan9' into seanmcm/updateVsJan9 2026-01-09 04:36:22 -08:00
Sean McManus 7601046429 Update IntelliSense loc strings. 2026-01-09 04:29:18 -08:00
Sean McManus e82289630e Merge pull request #14048 from microsoft/seanmcm/mergeMainToVs
Merge main to vs
2025-11-14 14:32:46 -08:00
Sean McManus 70e2c0d67e Merge branch 'main' into seanmcm/mergeMainToVs 2025-11-14 14:20:06 -08:00
Sean McManus 7caf05e0d5 Merge pull request #14027 from microsoft/seanmcm/mainToVs
main to vs
2025-10-31 14:12:11 -07:00
Sean McManus ac7b33c48a Merge branch 'main' into seanmcm/mainToVs 2025-10-31 14:03:51 -07:00
Sean McManus 4b67a68c8e Merge pull request #13960 from microsoft/seanmcm/mergeVs
Merge to vs
2025-09-23 18:15:13 -07:00
Sean McManus 5ded58bbf2 Merge branch 'main' into seanmcm/mergeVs 2025-09-23 04:23:59 -07:00
Sean McManus 171e0addb7 Merge branch 'main' into seanmcm/mergeVs 2025-09-23 04:23:03 -07:00
d321f0af78 Merge main to vs (#13828)
* Fix the description of debugServerPath (#13778)

This mentions the non-existent miDebugServerAddress, but the
correct name is actually miDebuggerServerAddress.

* Enable string length encoding fix in cpptools (#13769)

* Try to fix the Windows builds. (#13788)

* Update IntelliSense loc strings. (#13793)

* Makes remote attach picker respect the pipeTransport.quoteArgs config… (#13794)

* Makes remote attach picker respect the pipeTransport.quoteArgs configuration
* fixes linter error - don't compare boolean value to a boolean

* Remove "exceptions" from quoteArgs. (#13796)

* Fix loc for the miDebuggerServerAddress change. (#13797)

* Update changelog for 1.27.0 (2nd time). (#13795)

* Update changelog for 1.27.0 (2nd time).

* Update form-data. (#13800)

* Update form-data.

* Revert didOpen changes in favor of adding encoding to didChangeVisibleTextEditors (#13802)

* fixing formatting (#13810)

* Enable CG trigger on insiders branch

* Handle .txx/tpp headers. (#13811)

* Handle .txx headers.

* Add tpp too.

* fix #13818 (#13824)

* Bump tmp from 0.2.3 to 0.2.4 in /Extension (#13825)

Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: direct:production
...

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]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Joshua Goins <[email protected]>
Co-authored-by: Colen Garoutte-Carson <[email protected]>
Co-authored-by: Matt <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
Co-authored-by: Luca <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 17:12:18 -07:00
Sean McManus 8629260605 Merge branch 'main' into seanmcm/vsAug6 2025-08-06 10:40:56 -07:00
Sean McManus eb2ccf85e7 Merge pull request #13760 from microsoft/seanmcm/vsMergeMain
Merge main to vs
2025-07-14 15:31:50 -07:00
Sean McManus 02db9f4391 Merge branch 'main' into seanmcm/vsMergeMain 2025-07-11 18:59:27 -07:00
Sean McManus 6333535e1d Merge pull request #13720 from microsoft/seanmcm/vsMerge
Merge main to vs
2025-06-20 11:59:11 -07:00
Sean McManus 279a470cf6 Merge branch 'main' into seanmcm/vsMerge 2025-06-18 19:12:25 -07:00
5e3ef1cce7 Merge to vs (#13653)
* Remove -D__building_module(x)=0 workaround. (#13621)

* add note about C++ Copilot suggestions improvement (#13624)

* Update changelog for 1.26.1 (#13627)

* Update changelog for 1.26.1

* fix typo (#13630)

1.26.0->1.26.1

* Remove the .type.descriptions since they don't seem to have any effect. (#13648)

* Lock the PATH variable which was incorrectly being translated. (#13649)

* Fix a couple loc issues. (#13650)

---------

Co-authored-by: Luca <[email protected]>
Co-authored-by: heartacker <[email protected]>
2025-05-29 12:43:45 -07:00
Sean McManus d949d36a42 Merge branch 'main' into seanmcm/vsMerge 2025-05-29 12:35:18 -07:00
Sean McManus 0d976f5f9a Merge pull request #13632 from microsoft/seanmcm/updateVsBranch
Update vs branch
2025-05-23 11:37:14 -07:00
Sean McManus 6b29c5e7a1 Merge branch 'vs' into seanmcm/updateVsBranch 2025-05-23 11:36:59 -07:00
Sean McManus 7a5fad9dfb Merge pull request #13588 from microsoft/seanmcm/vs_may5_2025
Merge to vs
2025-05-06 11:42:44 -07:00
Sean McManus 002436e3d8 Merge branch 'main' into seanmcm/vs_may5_2025 2025-05-05 13:59:37 -07:00
Sean McManus 69ce08c0e8 Merge to vs (#13486) 2025-04-15 10:10:15 -07:00
Sean McManus 5534edf309 Merge branch 'main' into seanmcm/mergeToVS 2025-04-10 15:56:02 -07:00
Sean McManus 2487d52ede Merge branch 'main' into seanmcm/mergeToVS 2025-04-10 15:39:54 -07:00
Colen Garoutte-Carson 269c0d3e36 Merge TypeScript main branch to VC (#13431) 2025-03-26 14:19:39 -07:00
Sean McManus ca56eac5bc Merge pull request #13182 from microsoft/main
Merge to the vs branch
2025-01-27 11:09:09 -08:00
Sean McManus 203624e280 Merge pull request #12927 from microsoft/main
Merge to vs
2024-11-05 11:10:21 -08:00
Sean McManus 8bae3c438e Merge pull request #12858 from microsoft/main
Merge to vs
2024-10-21 14:05:03 -07:00
Sean McManus c2975e7970 Merge pull request #12731 from microsoft/main
Merge to vs
2024-09-18 05:21:13 -07:00
Sean McManus 67cf965ab0 Merge pull request #12609 from microsoft/main
Merge to the vs branch
2024-08-21 14:06:34 -07:00
Sean McManus 6e940318b7 Merge pull request #12563 from microsoft/main
Merge to vs branch
2024-08-13 12:16:42 -07:00
Sean McManus 5868163d21 Merge pull request #12468 from microsoft/main
Merge to vs due July 11, 2024 RI
2024-07-15 10:47:41 -07:00
274 changed files with 18503 additions and 4169 deletions
+6 -1
View File
@@ -1,2 +1,7 @@
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 -1
View File
@@ -38,5 +38,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node20'
using: 'node24'
main: 'index.js'
+1 -1
View File
@@ -29,5 +29,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node20'
using: 'node24'
main: 'index.js'
+1 -1
View File
@@ -33,5 +33,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node20'
using: 'node24'
main: 'index.js'
+1 -1
View File
@@ -43,5 +43,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node20'
using: 'node24'
main: 'index.js'
+9 -4
View File
@@ -25,7 +25,6 @@ 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, '')
@@ -36,6 +35,12 @@ 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>') &&
@@ -116,9 +121,9 @@ Repo: ${context.repo.owner}/${context.repo.repo}
<!-- Context:
${JSON.stringify(context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
.replace(/<!--/gu, '<@--')
.replace(/--!?\s*>/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`);
};
+717 -1226
View File
File diff suppressed because it is too large Load Diff
+6 -5
View File
@@ -14,9 +14,8 @@
"@actions/github": "^8.0.1",
"@octokit/rest": "^21.1.1",
"@slack/web-api": "^6.9.1",
"applicationinsights": "^2.5.1",
"axios": "^1.12.1",
"uuid": "^8.3.2"
"axios": "^1.16.0",
"uuid": "^14.0.0"
},
"devDependencies": {
"@azure/storage-blob": "^12.13.0",
@@ -39,7 +38,9 @@
"typescript": "^4.7.4",
"yargs": "^17.5.1"
},
"resolutions": {
"minimatch": "^3.0.5"
"overrides": {
"serialize-javascript": "^7.0.5",
"flatted": "^3.4.2",
"fast-xml-parser": "^5.5.7"
}
}
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -27,3 +30,4 @@ jobs:
createdAfter: "2024-07-22"
addComment: "Thank you for reporting this issue. Well let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because the described behavior was determined to be by design."
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment: "This issue has been closed because the described behavior was determined to be by design."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
+12 -2
View File
@@ -5,10 +5,20 @@ 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
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: ubuntu-22.04
platform: linux
runner-env: ubuntu-24.04
platform: linux
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
+13 -2
View File
@@ -5,11 +5,22 @@ 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
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: macos-14
runner-env: macos-15
platform: mac
yarn-args: --network-timeout 100000
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
yarn-args: --network-timeout 100000
+11 -1
View File
@@ -5,10 +5,20 @@ 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
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: windows-2022
runner-env: windows-2025
platform: windows
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
+5 -1
View File
@@ -19,6 +19,9 @@ on:
schedule:
- cron: '29 4 * * 3'
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
analyze:
name: Analyze (${{ matrix.language }})
@@ -56,7 +59,7 @@ 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@v4
uses: actions/checkout@v5
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -91,3 +94,4 @@ jobs:
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -31,3 +34,4 @@ jobs:
milestoneName: Triage
setMilestoneId: 28
removeLabels: more votes needed
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because it is external or not applicable to the extension."
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -27,3 +30,4 @@ jobs:
createdAfter: "2024-07-22"
addComment: "Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -31,3 +34,4 @@ jobs:
milestoneName: Triage
setMilestoneId: 28
removeLabels: more votes needed
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels: Language Service,internal
closeDays: 180
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels: Language Service,internal
closeDays: 180
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
+52 -32
View File
@@ -11,25 +11,39 @@ on:
# Expects 'mac', 'linux', or 'windows'
required: true
type: string
checkout-ref:
required: false
type: string
yarn-args:
type: string
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
build:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ inputs.checkout-ref }}
- name: Use Node.js 22
- name: Use Node.js 24
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
- 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
@@ -42,40 +56,46 @@ jobs:
run: yarn test
working-directory: Extension
# 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
- name: Acquire Native Binaries
run: yarn install-and-copy-binaries-for-test
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 languageServer integration tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=SingleRootProject
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
- name: Run E2E IntelliSense features tests (Windows)
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
# 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 (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
- name: Run languageServer integration tests (linux/macOS)
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@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@v1
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=MultirootDeadlockTest
# working-directory: Extension
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Locker
@@ -25,3 +28,4 @@ jobs:
daysSinceClose: 45
daysSinceUpdate: 3
ignoreLabels: more votes needed,debugger,internal
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -29,3 +32,4 @@ jobs:
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
pingDays: 14
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -29,3 +32,4 @@ jobs:
closeComment: "This issue has been closed because it is a question and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+5 -1
View File
@@ -8,6 +8,9 @@ on:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
main:
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment: "This issue has been closed because it is a question and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+2
View File
@@ -13,3 +13,5 @@ OneLocBuild
# ignore imported localization xlf directory
vscode-translations-import
.vscode/settings.json
+16 -22
View File
@@ -31,12 +31,12 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
binskim:
preReleaseVersion: '4.3.1'
@@ -60,6 +60,8 @@ extends:
enabled: true
featureFlags:
autoBaseline: false
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: build
@@ -79,9 +81,6 @@ extends:
steps:
- checkout: self
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: UseNode@1
displayName: Use Node 22.x
inputs:
@@ -90,11 +89,6 @@ extends:
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
displayName: Delete .npmrc if it exists
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
displayName: Create Extension Staging Directory
@@ -105,22 +99,22 @@ extends:
script: |
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
cd "$SRC_DIR/Extension"
yarn run vsix-prepublish
npm run vsix-prepublish
if [ $? -ne 0 ]; then
echo "yarn run vsix-prepublish failed, sleeping for 30s before retrying..."
echo "npm run vsix-prepublish failed, sleeping for 30s before retrying..."
sleep 30
exit 1
fi
retryCountOnTaskFailure: 3
- script: |
cd $(Build.SourcesDirectory)\Extension
vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
name: ProcessRunner_12
displayName: Run VSCE to package vsix
- script: yarn install --frozen-lockfile
displayName: Install dependencies with yarn
workingDirectory: $(Build.SourcesDirectory)\Extension
- task: Npm@0
displayName: Uninstall vsce
inputs:
command: uninstall
arguments: --global @vscode/vsce
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
displayName: Verify vsce-sign binary exists
workingDirectory: $(Build.SourcesDirectory)\Extension
- script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
displayName: Run VSCE to package vsix
workingDirectory: $(Build.SourcesDirectory)\Extension
+2 -2
View File
@@ -30,12 +30,12 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
stages:
- stage: stage
+5 -3
View File
@@ -24,13 +24,15 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
@@ -44,5 +46,5 @@ extends:
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack.vsix
vsixName: cpptools-extension-pack
srcDir: ExtensionPack
+5 -3
View File
@@ -24,13 +24,15 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
@@ -44,5 +46,5 @@ extends:
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-themes.vsix
vsixName: cpptools-themes
srcDir: Themes
+50 -16
View File
@@ -11,7 +11,7 @@ parameters:
jobs:
- job: package
displayName: Build ${{ parameters.vsixName }}
displayName: Build ${{ parameters.vsixName }}.vsix
timeoutInMinutes: 30
cancelTimeoutInMinutes: 1
templateContext:
@@ -26,7 +26,7 @@ jobs:
autoBaseline: false
outputs:
- output: pipelineArtifact
displayName: '${{ parameters.vsixName }}'
displayName: '${{ parameters.vsixName }}.vsix'
targetPath: $(Build.ArtifactStagingDirectory)\vsix
artifactName: vsix
@@ -38,24 +38,58 @@ jobs:
inputs:
version: 22.x
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
displayName: Delete .npmrc if it exists
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: Bash@3
displayName: Build files
inputs:
targetType: 'inline'
script: |
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
cd "$SRC_DIR/${{ parameters.srcDir }}"
npm install
if [ $? -ne 0 ]; then
echo "npm install failed, sleeping for 30s before retrying..."
sleep 30
exit 1
fi
retryCountOnTaskFailure: 3
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
displayName: Create Staging Directory
- script: |
cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
displayName: Run VSCE to package vsix
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
displayName: Install vsce
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- task: Npm@0
displayName: Uninstall vsce
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
displayName: Rebuild vsce-sign binary
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
displayName: Verify vsce-sign binary exists
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- script: npx vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix
displayName: Run VSCE to package vsix
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
# sign the vsix
- script: npx vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest
displayName: generate manifest
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
displayName: prepare manifest for signing
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- task: NuGetToolInstaller@1
displayName: Install NuGet
- task: NuGetAuthenticate@1
displayName: Authenticate NuGet
- script: nuget restore $(Build.SourcesDirectory)\Build\signing\SignVsix.proj -PackagesDirectory $(Build.SourcesDirectory)\Build\signing\packages -ConfigFile $(Build.SourcesDirectory)\Build\signing\NuGet.config
displayName: Restore MicroBuild Core
- task: MSBuild@1
displayName: Sign the vsix
inputs:
command: uninstall
arguments: --global @vscode/vsce
solution: $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
msbuildArguments: /p:SignType=${{ parameters.signType }}
+3 -3
View File
@@ -18,12 +18,12 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
stages:
@@ -39,5 +39,5 @@ extends:
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack.vsix
vsixName: cpptools-extension-pack
+3 -3
View File
@@ -18,12 +18,12 @@ extends:
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2022
image: 1ESPT-Windows2025
os: windows
stages:
@@ -39,5 +39,5 @@ extends:
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-themes.vsix
vsixName: cpptools-themes
+10 -8
View File
@@ -21,11 +21,6 @@ jobs:
inputs:
versionSpec: 22.x
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- task: AzureCLI@2
displayName: Generate AAD_TOKEN
inputs:
@@ -36,9 +31,16 @@ 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: |
vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
displayName: Install vsce
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
displayName: Rebuild vsce-sign binary
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
displayName: Verify vsce-sign binary exists
- script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
displayName: Publish to Marketplace
env:
VSCE_PAT: $(AAD_TOKEN)
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="Engineering" value="https://pkgs.dev.azure.com/devdiv/_packaging/MicroBuildToolset/nuget/v3/index.json" />
</packageSources>
</configuration>
-4
View File
@@ -1,4 +0,0 @@
*.js
dist/
vscode*.d.ts
-155
View File
@@ -1,155 +0,0 @@
module.exports = {
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/strict",
],
"env": {
"browser": true,
"es6": true,
"node": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["tsconfig.json", ".scripts/tsconfig.json"],
"ecmaVersion": 2022,
"sourceType": "module",
"warnOnUnsupportedTypeScriptVersion": false,
},
"plugins": [
"@typescript-eslint",
"eslint-plugin-jsdoc",
"@typescript-eslint/eslint-plugin",
"eslint-plugin-import",
"eslint-plugin-header"
],
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
"camelcase": "off",
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "typeLike",
"format": ["PascalCase"]
}
],
"@typescript-eslint/member-delimiter-style": [
"error",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "semi",
"requireLast": false
}
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extraneous-class": "off",
"no-case-declarations": "off",
"no-useless-escape": "off",
"no-floating-decimal": "error",
"keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }],
"arrow-spacing": ["error", { "before": true, "after": true }],
"semi-spacing": ["error", { "before": false, "after": true }],
"no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-extra-non-null-assertion": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-type-arguments": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-function-type": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/semi": "error",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/method-signature-style": ["error", "method"],
"@typescript-eslint/space-infix-ops": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
"arrow-body-style": "error",
"comma-dangle": "error",
"comma-spacing": "off",
"@typescript-eslint/comma-spacing": "error",
"constructor-super": "error",
"curly": "error",
"eol-last": "error",
"eqeqeq": [
"error",
"always"
],
"import/no-default-export": "error",
"import/no-unassigned-import": "error",
"jsdoc/no-types": "error",
"new-parens": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-cond-assign": "error",
"no-debugger": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-eval": "error",
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"rest-spread-spacing": ["error", "never"],
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
"no-new-wrappers": "error",
"no-return-await": "error",
"no-sequences": "error",
"no-sparse-arrays": "error",
"no-trailing-spaces": "error",
"no-multi-spaces": "error",
"no-undef-init": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"space-before-blocks": "error",
"no-var": "error",
"one-var": [
"error",
"never"
],
"prefer-const": "error",
"prefer-object-spread": "error",
"space-in-parens": [
"error",
"never"
],
"spaced-comment": [
"off",
"always",
{ "line": { "exceptions": ["/"] } } // triple slash directives
],
"use-isnan": "error",
"valid-typeof": "error",
"yoda": "error",
"space-infix-ops": "error",
"header/header": [
"warn",
"block",
[
" --------------------------------------------------------------------------------------------",
" * Copyright (c) Microsoft Corporation. All Rights Reserved.",
" * See 'LICENSE' in the project root for license information.",
" * ------------------------------------------------------------------------------------------ "
],
],
}
};
+6 -1
View File
@@ -1,2 +1,7 @@
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
+9 -6
View File
@@ -18,18 +18,20 @@ export async function main() {
}
export async function all() {
await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules')));
await rimraf(...(await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined && !each.includes('node_modules')));
}
export async function reset() {
verbose(`Resetting all .gitignored files in extension`);
await rimraf(...await getModifiedIgnoredFiles());
await rimraf(...(await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined));
}
async function details(files: string[]) {
let all = await Promise.all(files.filter(each => each).map(async (each) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [filename, stats ] = await filepath.stats(each);
const results = await Promise.all(files.filter(each => each).map(async (each) => {
const [, stats] = await filepath.stats(each);
if (!stats) {
return null;
}
return {
filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`),
date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'),
@@ -37,6 +39,7 @@ async function details(files: string[]) {
modified: stats.mtime
};
}));
let all = results.filter((each): each is NonNullable<typeof each> => each !== null);
all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime());
// print a formatted table so the date and time are aligned
const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0);
@@ -56,7 +59,7 @@ export async function show(opt?: string) {
case 'ignored':
case 'untracked':
console.log(cyan('\n\nUntracked+Ignored files:'));
return details(await getModifiedIgnoredFiles());
return details((await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined));
default:
return error(`Unknown option '${opt}'`);
+17 -5
View File
@@ -20,9 +20,18 @@ 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('--'));
@@ -39,7 +48,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 => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
error(`${reason?.stack?.split(/\r?\n/).filter((l: string) => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
process.exit(1);
});
@@ -54,11 +63,12 @@ export async function getModifiedIgnoredFiles() {
}
// return the full path of files that would be removed.
// eslint-disable-next-line @typescript-eslint/no-misused-promises
return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p));
}
export async function rimraf(...paths: string[]) {
const all = [];
const all: Promise<void>[] = [];
for (const each of paths) {
if (!each) {
continue;
@@ -82,6 +92,9 @@ export async function mkdir(filePath: string) {
}
throw new Error(`Cannot create directory '${filePath}' because there is a file there.`);
}
if (!fullPath) {
throw new Error(`Cannot create directory '${filePath}' because the path is invalid.`);
}
await md(fullPath, { recursive: true });
return fullPath;
@@ -258,7 +271,7 @@ export function position(text: string) {
return gray(`${text}`);
}
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string> {
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string | undefined> {
oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders];
for (const each of oneOrMoreFolders) {
const result = await filepath.isFolder(each, $root);
@@ -275,7 +288,7 @@ export async function assertAnyFolder(oneOrMoreFolders: string | string[], error
}
}
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string> {
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string | undefined> {
oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles];
for (const each of oneOrMoreFiles) {
const result = await filepath.isFile(each, $root);
@@ -325,7 +338,6 @@ export async function checkDTS() {
let failing = false;
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.lmTools.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.lmTools.d.ts is missing.`)) || failing;
if (!failing) {
verbose('VSCode d.ts files appear to be in place.');
+147
View File
@@ -0,0 +1,147 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
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, green, heading, note } from './common';
const extensionPrefix = 'ms-vscode.cpptools-';
const foldersToCopy = ['bin', 'debugAdapters', 'LLVM'] as const;
type InstalledExtension = {
path: string;
version: number[];
modified: number;
};
function compareVersions(left: number[], right: number[]): number {
const maxLength: number = Math.max(left.length, right.length);
for (let i = 0; i < maxLength; i++) {
const diff: number = (left[i] ?? 0) - (right[i] ?? 0);
if (diff !== 0) {
return diff;
}
}
return 0;
}
function tryParseVersion(folderName: string): number[] | undefined {
if (!folderName.startsWith(extensionPrefix)) {
return undefined;
}
const versionText: string | undefined = folderName.substring(extensionPrefix.length).match(/^\d+\.\d+\.\d+/)?.[0];
return versionText?.split('.').map(each => Number(each));
}
async function getInstalledExtensions(root: string): Promise<InstalledExtension[]> {
try {
const entries = await readdir(root, { withFileTypes: true });
const candidates: Promise<InstalledExtension | undefined>[] = entries.map(async (entry) => {
if (!entry.isDirectory()) {
return undefined;
}
const version: number[] | undefined = tryParseVersion(entry.name);
if (!version) {
return undefined;
}
const extensionPath: string = join(root, entry.name);
for (const folder of foldersToCopy) {
const info = await stat(join(extensionPath, folder)).catch(() => undefined);
if (!info?.isDirectory()) {
return undefined;
}
}
const info = await stat(extensionPath);
return {
path: extensionPath,
version,
modified: info.mtimeMs
};
});
const found = await Promise.all(candidates);
return found.filter((entry): entry is InstalledExtension => entry !== undefined);
} catch {
return [];
}
}
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> {
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) {
throw new Error(`Unable to find an installed C/C++ extension under ${searchRoots.join(' or ')}.`);
}
installed.sort((left, right) => compareVersions(right.version, left.version) || right.modified - left.modified);
return installed[0].path;
}
export async function main(sourcePath = $args[0]): Promise<string | undefined> {
console.log(heading('Copy installed extension binaries'));
const installedExtensionPath: string = await findLatestInstalledExtension(sourcePath);
note(`Using installed extension at ${installedExtensionPath}`);
for (const folder of foldersToCopy) {
const source: string = join(installedExtensionPath, folder);
const destination: string = join($root, folder);
console.log(`Copying ${green(folder)} from ${source}`);
await rm(destination, { recursive: true, force: true });
await cp(source, destination, { recursive: true, force: true });
}
note(`Copied installed binaries into ${$root}`);
const installedVersion = tryParseVersion(basename(installedExtensionPath));
return installedVersion?.join('.');
}
+1 -1
View File
@@ -19,7 +19,7 @@ export async function watch() {
verbose(`Watching ${source} folder for changes.`);
console.log('Press Ctrl+C to exit.');
// eslint-disable-next-line @typescript-eslint/no-unused-vars
for await (const event of watchFiles(source, {recursive: true })) {
for await (const event of watchFiles(source, { recursive: true })) {
await main();
}
}
+12 -4
View File
@@ -3,8 +3,6 @@
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
/* eslint-disable no-prototype-builtins */
import { resolve } from 'path';
import { $root, read, write } from './common';
@@ -87,8 +85,13 @@ function replaceReferences(definitions: any, objects: any): any {
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
}
// Recursively replace references if this object has properties.
if (objects[key].hasOwnProperty('type') && objects[key].type === 'object' && objects[key].properties !== null) {
// 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) {
objects[key].properties = replaceReferences(definitions, objects[key].properties);
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
}
@@ -119,11 +122,13 @@ 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
@@ -134,6 +139,9 @@ 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
@@ -0,0 +1,35 @@
/* --------------------------------------------------------------------------------------------
* 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 } 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) {
error(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`);
}
}
+9 -7
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, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
import { $args, $root, $scenario, $scenarioArgs, 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';
@@ -75,7 +75,7 @@ filterStdio();
async function unitTests() {
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit', shell: true });
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio: 'inherit', shell: true });
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
return result.status;
}
@@ -90,7 +90,8 @@ 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: assets,
SCENARIO_ARGS: $scenarioArgs.join(',')
}
});
}
@@ -161,23 +162,24 @@ interface Input {
id: string;
type: string;
description: string;
options: CommentArray<{label: string; value: string}>;
options: CommentArray<{ label: string; value: string }>;
}
export async function getScenarioNames() {
return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger');
}
export async function getScenarioFolder(scenarioName: string) {
export async function getScenarioFolder(scenarioName: string | undefined) {
return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined;
}
export async function list() {
console.log(`\n${cyan("Scenarios: ")}\n`);
const names = await getScenarioNames();
const max = names.reduce((max, each) => Math.max(max, each), 0);
const max = names.reduce((max, each) => Math.max(max, each.length), 0);
for (const each of names) {
console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`);
const folder = await getScenarioFolder(each);
console.log(` ${green(each.padEnd(max))}: ${gray(folder || '')}`);
}
}
+2 -1
View File
@@ -7,6 +7,7 @@
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"esModuleInterop": true
"esModuleInterop": true,
"strictNullChecks": true
}
}
+4 -4
View File
@@ -17,7 +17,7 @@ export const settings = resolve(userDir, "User", 'settings.json');
export const options = {
cachePath: `${isolated}/cache`,
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', '--disable-extensions', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
};
export async function install() {
@@ -34,9 +34,9 @@ export async function install() {
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
// install the appropriate extensions
// 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' });
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cpptools'], options);
// runVSCodeCommand([...args, '--install-extension', 'twxs.cmake'], options);
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cmake-tools'], options);
const settingsJson = await readJson(settings, {});
if (!settingsJson["workbench.colorTheme"]) {
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
+4
View File
@@ -97,6 +97,10 @@
"label": "MultirootDeadlockTest ",
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
},
{
"label": "RunWithoutDebugging ",
"value": "${workspaceFolder}/test/scenarios/RunWithoutDebugging/assets/"
},
{
"label": "SimpleCppProject ",
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
+2
View File
@@ -27,12 +27,14 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"editor.detectIndentation": 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 -3
View File
@@ -29,14 +29,12 @@ jobs/**
cgmanifest.json
# ignore development files
.eslintignore
.eslintrc.js
eslint.config.js
.gitattributes
.gitignore
gulpfile.js
localized_string_ids.h
readme.developer.md
Reinstalling the Extension.md
test.tsconfig.json
translations_auto_pr.js
tsconfig.json
+31
View File
@@ -0,0 +1,31 @@
{
"name": "cpptools-yarn-bootstrap",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cpptools-yarn-bootstrap",
"version": "1.0.0",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"yarn": "1.22.22"
}
},
"node_modules/yarn": {
"version": "1.22.22",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yarn/-/yarn-1.22.22.tgz",
"integrity": "sha1-rDRUnmqo5+rUY6dAfhxzkPYaZhA=",
"dev": true,
"hasInstallScript": true,
"license": "BSD-2-Clause",
"bin": {
"yarn": "bin/yarn.js",
"yarnpkg": "bin/yarn.js"
},
"engines": {
"node": ">=4.0.0"
}
}
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"name": "cpptools-yarn-bootstrap",
"private": true,
"version": "1.0.0",
"description": "Install Yarn from internal npm feed for repository bootstrap.",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"yarn": "1.22.22"
}
}
+108
View File
@@ -1,5 +1,113 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.33.4: July 8, 2026
### Bug Fixes
* Fix the wording for the `#include` errors detected message. [#8227](https://github.com/microsoft/vscode-cpptools/issues/8227)
* Fix another "directory_cache" crash.
* Update some localization.
## Version 1.33.3: July 6, 2026
### Enhancement
* Allow platform overrides in `cppbuild` tasks. [#11601](https://github.com/microsoft/vscode-cpptools/issues/11601)
### Bug Fixes
* Fix `[[no_unique_address]]` empty-base layout `sizeof` being computed too large. [#14524](https://github.com/microsoft/vscode-cpptools/issues/14524)
* 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 `clang-format`/`clang-tidy` version check failing on Windows. [PR #14552](https://github.com/microsoft/vscode-cpptools/pull/14552)
* Fix Windows backslash paths being mangled when adding an SSH target. [PR #14554](https://github.com/microsoft/vscode-cpptools/pull/14554)
* Fix "directory_cache" crashes.
* Fix spurious IntelliSense error on `std::variant` brace-initialization.
## Version 1.33.2: June 26, 2026
### Bug Fixes
* Fix a regression with 'Find All References' with functions that exist in both C and C++ files. [#14546](https://github.com/microsoft/vscode-cpptools/issues/14546)
## Version 1.33.1: June 23, 2026
### Bug Fixes
* 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 a crash regression on file open.
* Fix IntelliSense incorrectly resolving `#include` files through a symbolic link after the target directory was deleted from disk.
* Fix "tag parsing finished" status randomly getting reported too soon after a 'Reset IntelliSense Database' command.
## Version 1.33.0: June 22, 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
* 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)
* Various localization updates.
### Bug Fixes
* 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)
* 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 `${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 the `C_Cpp.refactoring.includeHeader` setting not honoring `always`.
* Various other fixes found internally.
## Version 1.32.2: April 28, 2026
### New Feature
* 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).
## Version 1.31.3: March 24, 2026
### Enhancements
* Add support for `program` in attach debug configurations. [#14046](https://github.com/microsoft/vscode-cpptools/issues/14046)
* Thanks for the contribution. [@Subham-KRLX (Subham)](https://github.com/Subham-KRLX) [PR #14108](https://github.com/microsoft/vscode-cpptools/pull/14108)
* Remove unnecessary `console.debug` logging. [#14294](https://github.com/microsoft/vscode-cpptools/issues/14294)
* Update clang-tidy and clang-format from 21.1.4 to 22.1.1.
* Update support for the latest compiler versions.
* Update SQLite to the latest version.
### Bug Fixes
* Fix an IntelliSense error with deducing `this` (explicit object member functions) with conversion operators. [#14140](https://github.com/microsoft/vscode-cpptools/issues/14140)
* Fix `embed-dir` compiler arguments not being handled for IntelliSense. [#14154](https://github.com/microsoft/vscode-cpptools/issues/14154)
* Fix workspace symbol search with `scope::variable` not working after symbols are deleted and then added back. [#14200](https://github.com/microsoft/vscode-cpptools/issues/14200)
* Fix bugs where a path was checked for existence but not whether it was a file or a folder. [#14257](https://github.com/microsoft/vscode-cpptools/issues/14257)
* Fix the Call Hierarchy Callers Of progress UI not showing. [#14287](https://github.com/microsoft/vscode-cpptools/issues/14287)
* Fix an IntelliSense crash when using GCC 16 `span` and `string`. [#14309](https://github.com/microsoft/vscode-cpptools/issues/14309)
* Fix `_CONTROL_FLOW_GUARD` not being defined when `/guard:cf` is used in MSVC mode. [#14310](https://github.com/microsoft/vscode-cpptools/issues/14310)
* Add IntelliSense support for `__builtin_is_implicit_lifetime`.
* Fix three IntelliSense process crashes.
* Fix some missing translations.
## Version 1.30.5: February 9, 2026
### Bug Fix
* Fix a potential language server deadlock after editing code.
## Version 1.30.4: February 3, 2026
### Bug Fix
* Fix signing of MIEngine. [PR MIEngine#1544](https://github.com/microsoft/MIEngine/pull/1544)
## Version 1.30.3: February 2, 2026
### Enhancements
* Add IntelliSense support for C++23 multidimensional subscript operators. [#11400](https://github.com/microsoft/vscode-cpptools/issues/11400), [#13798](https://github.com/microsoft/vscode-cpptools/issues/13798)
+2 -2
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://www.research.net/r/VBVV6C6)**
**[Quick survey](https://aka.ms/vcvscodesurvey)**
<br>
Let us know what you think of the extension by taking the quick survey.
@@ -75,4 +75,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Data and telemetry
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkId=521839) to learn more.
File diff suppressed because it is too large Load Diff
-33
View File
@@ -1,33 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,13 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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
@@ -1,12 +0,0 @@
{
"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"
}
+1 -1
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 simge oluşturmuyor",
"%sq öğesi ile %n içerisinde birleştirme işlemi, geçerli bir belirteç 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",
+1 -1
View File
@@ -3604,7 +3604,7 @@
"第一个参数必须是指向整数、enum 或支持的浮点类型的指针",
"编译多个翻译单元时无法使用 C++ 模块",
"C++ 模块不能与 C++11 之前的 'export' 功能一起使用",
"不支持 IFC 令牌 %sq",
"不支持 IFC 标记 %sq",
"'pass_object_size' 属性仅对函数声明的参数有效",
"%sq 属性 %d1 的参数必须介于 0 和 %d2 之间",
"此处的 ref-qualifier 被忽略",
+10 -10
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 中) 的串連不會建立有效的語彙基元",
"與 %sq (於 %n 中) 的串連不會建立有效的 Token",
"%no 模稜兩可 (假設為 %n2)",
"靜態成員函式不能有類型限定詞",
"建構函式或解構函式不能有類型限定詞",
@@ -3388,7 +3388,7 @@
"當 %sq 用於匯入或模組指示詞中時,不得為巨集",
"這個指示詞只能出現在全域命名空間範圍內",
"'export' 宣告只能出現在全域或命名空間範圍",
"%sq 剖析為識別碼而非關鍵字,因為後續的權杖與前置處理器指示詞的標記不相符",
"%sq 剖析為識別碼而非關鍵字,因為後續的 Token 與前置處理器指示詞的標記不相符",
"這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止",
"這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中",
"'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)",
@@ -3604,7 +3604,7 @@
"第一個引數必須是整數的指標、enum 或支援的浮點類型",
"編譯多個翻譯單元時,無法使用 C++ 模組",
"C++ 模組無法搭配先前的 C++11 'export' 功能使用",
"IFC 權杖 %sq 不受支援",
"IFC Token %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
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-5
View File
@@ -1,5 +0,0 @@
{
"defaults": [
],
"defaults_op": "merge"
}
-14
View File
@@ -1,14 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1950",
"-D_MSC_VER=1950",
"-D_MSC_FULL_VER=195035717",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
"defaults_op": "merge"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1950",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1950",
"-D_MSC_FULL_VER=195035717",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
"defaults_op": "merge"
}
-16
View File
@@ -1,16 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1950",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1950",
"-D_MSC_FULL_VER=195035717",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1950",
"-D_MSC_VER=1950",
"-D_MSC_FULL_VER=195035717",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
-11
View File
@@ -213,17 +213,6 @@
"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.",
+136
View File
@@ -0,0 +1,136 @@
const js = require("@eslint/js");
const tseslint = require("@typescript-eslint/eslint-plugin");
const tsparser = require("@typescript-eslint/parser");
const jsdoc = require("eslint-plugin-jsdoc");
const eslintImport = require("eslint-plugin-import");
module.exports = [
{
ignores: ["dist/", "vscode*.d.ts", "**/*.js"],
},
{
files: ["**/*.ts", "**/*.tsx"],
languageOptions: {
parser: tsparser,
parserOptions: {
projectService: true,
tsconfigRootDir: __dirname,
},
globals: {
window: "readonly",
document: "readonly",
console: "readonly",
process: "readonly",
module: "readonly",
require: "readonly",
global: "readonly",
__dirname: "readonly",
exports: "readonly",
},
},
plugins: {
"@typescript-eslint": tseslint,
jsdoc,
import: eslintImport,
},
rules: {
// TypeScript-specific rules
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/method-signature-style": ["error", "method"],
"@typescript-eslint/naming-convention": [
"error",
{
selector: "typeLike",
format: ["PascalCase"]
}
],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extraneous-class": "off",
"@typescript-eslint/no-extra-non-null-assertion": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-type-arguments": "error",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-function-type": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/unified-signatures": "error",
// Core ESLint rules
"camelcase": "off",
"no-case-declarations": "off",
"no-useless-escape": "off",
"no-floating-decimal": "error",
"keyword-spacing": ["error", { before: true, overrides: { this: { before: false } } }],
"arrow-spacing": ["error", { before: true, after: true }],
"semi-spacing": ["error", { before: false, after: true }],
"no-extra-parens": ["error", "all", { nestedBinaryExpressions: false, ternaryOperandBinaryExpressions: false }],
"arrow-body-style": "error",
"comma-dangle": "error",
"comma-spacing": "error",
"constructor-super": "error",
"curly": "error",
"eol-last": "error",
"eqeqeq": ["error", "always"],
"new-parens": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-cond-assign": "error",
"no-debugger": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-eval": "error",
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"rest-spread-spacing": ["error", "never"],
"no-multiple-empty-lines": ["error", { max: 1, maxEOF: 1, maxBOF: 0 }],
"no-new-wrappers": "error",
"no-return-await": "error",
"no-sequences": "error",
"no-sparse-arrays": "error",
"no-trailing-spaces": "error",
"no-multi-spaces": "error",
"no-undef-init": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"no-unused-vars": "off",
"space-before-blocks": "error",
"no-var": "error",
"one-var": ["error", "never"],
"prefer-const": "error",
"prefer-object-spread": "error",
"space-in-parens": ["error", "never"],
"spaced-comment": ["off", "always", { line: { exceptions: ["/"] } }],
"use-isnan": "error",
"valid-typeof": "error",
"yoda": "error",
"space-infix-ops": "error",
// Import rules
"import/no-default-export": "error",
"import/no-unassigned-import": "error",
// JSDoc rules
"jsdoc/no-types": "error",
},
},
{
// Apply JS recommended rules only to JS files
...js.configs.recommended,
files: ["**/*.{js,mjs,cjs}"]
},
];
@@ -22,7 +22,6 @@
"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`. 中的输入变量。",
+10 -3
View File
@@ -85,7 +85,7 @@
"c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "与要从中输出诊断的标头名称匹配的 POSIX 扩展正则表达式 (ERE)。始终显示来自每个翻译单元的主文件的诊断。支持 `${workspaceFolder}` 变量(如果不存在 `.clang-tidy` 文件,则该变量将用作默认回退值)。如果此选项不是 `null` (空),则将替代 `.clang-tidy` 文件中的 `HeaderFilterRegex` 选项(如果有)。",
"c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "要传递给 `clang-tidy` 的其他命令行参数。这些优先于等效的 `C_Cpp.codeAnalysis.clangTidy.*` 设置。",
"c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "如果设置了 `true` 和 `compileCommands`,则 `-p=<build-path>` 参数将传递给 `clang-tidy`,而不是在 `--` 之后传递生成参数。如果未设置环境变量以便可以找到系统包含项,则此操作可能不起作用。",
"c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已启用的 `clang-tidy` 检查列表。这些值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。除非显式禁用,否则始终使用默认检查 `clang-analyzer-*`。",
"c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已启用的 `clang-tidy` 检查列表。这些值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。除非显式禁用,否则始终用默认检查 `clang-analyzer-core.*`。",
"c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "已禁用的 `clang-tidy` 检查列表。该值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。",
"c_cpp.configuration.formatting.description": "配置格式设置引擎。",
"c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` 将用于格式代码。",
@@ -185,7 +185,7 @@
"c_cpp.configuration.intelliSenseEngine.default.description": "通过单独的 IntelliSense 流程提供上下文感知结果。",
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "提供非上下文感知的“模糊”结果。",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "关闭 C/C++ 语言服务功能。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自动完成提供程序。如果 `disabled`,且你想要基于字词的补全功能,则还需要设置 `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (`c` 和 `cuda-cpp` 语言也类似)。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自动完成提供程序。如果值为 `disabled`且你想要基于字词的补全功能,则还需要设置 `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (`c` 和 `cuda-cpp` 语言也类似)。",
"c_cpp.configuration.autocomplete.default.description": "使用活动的 IntelliSense 引擎。",
"c_cpp.configuration.autocomplete.disabled.description": "使用 Visual Studio Code 提供的基于字词的补全。",
"c_cpp.configuration.errorSquiggles.description": "控制是否将 IntelliSense 引擎检测到的可疑编译错误报告回编辑器。还控制是否报告代码分析警告(如果找不到包含)。标记分析器引擎将忽略此设置。",
@@ -210,6 +210,7 @@
"c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作生成的用户路径的路径分隔符的字符。",
"c_cpp.configuration.simplifyStructuredComments.markdownDescription": "如果为 `true`,则悬停和自动完成的工具提示将仅显示结构化注释的某些标签。否则,将显示所有注释。",
"c_cpp.configuration.doxygen.generateOnType.description": "控制在键入所选注释样式后是否自动插入 Doxygen 注释。",
"c_cpp.configuration.doxygen.generateOnCodeAction.description": "控制是否启用生成 Doxygen 注释的代码操作。",
"c_cpp.configuration.doxygen.generatedStyle.description": "用作 Doxygen 注释起始行的字符串。",
"c_cpp.configuration.doxygen.sectionTags.description": "启用“简化结构化注释”设置后,选择希望在工具提示区域中悬停时显示的 Doxygen 节标记。 ",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "开始多行或单行注释块的模式。多行注释块的延续模式默认为 ` * `,或单行注释块默认为此字符串。",
@@ -331,7 +332,8 @@
"c_cpp.debuggers.avoidWindowsConsoleRedirection.description": "如果为 true,则禁用集成终端支持所需的调试对象控制台重定向。",
"c_cpp.debuggers.sourceFileMap.markdownDescription": "传递到调试引擎的可选源文件映射。示例: `{ \"<原始源路径>\": \"<当前源路径>\" }`。",
"c_cpp.debuggers.processId.anyOf.markdownDescription": "要将调试程序附加到的可选进程 ID。使用 `${command:pickProcess}` 获取要附加到的本地运行进程的列表。请注意,一些平台需要管理员权限才能附加到进程。",
"c_cpp.debuggers.symbolSearchPath.description": "用于搜索符号(即 pdb)文件的目录列表(以分号分隔)。示例: \"c:\\dir1;c:\\dir2\"。",
"c_cpp.debuggers.program.attach.markdownDescription": "程序可执行文件的完整路径。调试器将搜索与此可执行文件路径匹配的正在运行的进程并附加到该进程。如果多个进程匹配,将显示选择提示。加载附加进程的调试符号需要此字段。",
"c_cpp.debuggers.symbolSearchPath.description": "用于搜索符号(即 pdb 或 .so)文件的目录的分号分隔列表。示例: \"c:\\dir1;c:\\dir2\"。",
"c_cpp.debuggers.dumpPath.description": "指定程序的转储文件的可选完整路径。例如: \"c:\\temp\\app.dmp\"。默认为 null。",
"c_cpp.debuggers.enableDebugHeap.description": "如果为 false,将在禁用调试堆的情况下启动该进程。这会将环境变量 \"_NO_DEBUG_HEAP\" 设置为 \"1\"。",
"c_cpp.debuggers.symbolLoadInfo.description": "对符号加载的显式控制。",
@@ -383,12 +385,16 @@
"c_cpp.taskDefinitions.args.quoting.weak.description": "使用 Shell 的弱引用字符来引用参数(例如在 bash 下的 \")。",
"c_cpp.taskDefinitions.options.description": "其他命令选项。",
"c_cpp.taskDefinitions.options.cwd.description": "已执行程序或脚本的当前工作目录。如果省略,则使用代码的当前工作区根。",
"c_cpp.taskDefinitions.problemMatcher.description": "用于检测任务输出中编译程序错误和警告的一个或多个问题匹配器。",
"c_cpp.taskDefinitions.detail.description": "任务的其他详细信息。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.description": "相同源树的当前路径和编译时路径。EditorPath 下的文件会映射到 CompileTimePath 路径以进行断点匹配,并在显示 stacktrace 位置时,从 CompileTimePath 映射到 EditorPath。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.editorPath.description": "编辑器将使用的源树的路径。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "如果此条目仅用于堆栈帧位置映射,则为 False。如果在指定断点位置时也需要使用此条目,则为 True。",
"c_cpp.debuggers.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。",
"c_cpp.debuggers.unknownBreakpointHandling.description": "控制在命中时如何处理(通常通过原始 GDB 命令)外部设置的断点。\n允许的值为 \"throw\" (好像应用程序抛出了异常)和 \"stop\" (只会暂停调试会话)。默认值为 \"throw\"。",
"c_cpp.debuggers.debuginfod.description": "控制 GDB 的 debuginfod 行为,以从 debuginfod 服务器下载调试符号。",
"c_cpp.debuggers.debuginfod.enabled.description": "如果为 false (默认值)GDB 将不会连接 debuginfod 服务器。设置为 true 以启用 debuginfod 支持。",
"c_cpp.debuggers.debuginfod.timeout.description": "debuginfod 服务器请求的超时(以秒为单位)。默认值为 30。设置为 0 可使用 GDB/libdebuginfod 默认值(无替代)。",
"c_cpp.debuggers.VSSymbolOptions.description": "提供用于找到符号并将其加载到调试适配器的配置。",
"c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "在其中搜索 .pdb 文件的符号服务器 URL (例如 http://MyExampleSymbolServer)或目录(例如 /build/symbols)的数组。除了默认位置,还将搜索这些目录 - 在模块以及 pdb 最初放置到的路径的旁边。",
"c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "如果为 \"true\",则 Microsoft 符号服务器(https://msdl.microsoft.com/download/symbols)会添加到符号搜索路径。如果未指定,此选项会默认为 \"false\"。",
@@ -401,6 +407,7 @@
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.excludedModules.description": "调试程序不得为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadAllButExcluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includedModules.description": "调试程序应为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includeSymbolsNextToModules.description": "如果为 true,则对于未在 \"includedModules\" 数组中的任何模块,调试程序将在模块本身和启动可执行文件旁边进行检查,但它将不检查符号搜索列表上的路径。此选项默认为 \"true\"\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description": "如果为 true,那么在运行但不调试的情况下,当未能在终端中启动程序时不会记录任何警告。",
"c_cpp.semanticTokenTypes.referenceType.description": "C++/CLI 引用类型的样式。",
"c_cpp.semanticTokenTypes.cliProperty.description": "C++/CLI 属性的样式。",
"c_cpp.semanticTokenTypes.genericType.description": "C++/CLI 泛型类型的样式。",
@@ -4,5 +4,9 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"debugger.not.available": "调试程序类型“{0}”不适用于非 Windows 计算机。"
"debugger.not.available": "调试程序类型“{0}”不适用于非 Windows 计算机。",
"debugger.noDebug.requestType.not.supported": "仅启动配置支持“运行但不调试”。",
"debugger.unsupported.properties": "具有以下属性的启动配置无法直接在终端中运行: {0}",
"debugger.fallback.message": "程序输出将改为显示在调试控制台中。",
"debugger.fallback.message2": "若要取消显示此警告,请在启动配置中将 'ignoreRunWithoutDebuggingWarnings' 属性设置为 true。"
}

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