Compare commits

...
Author SHA1 Message Date
Sean McManus 7dd522c0fb Merge commit '019868d88b1004b9205ef55e614c51aa0a309f50' into seanmcm/integration 2026-08-18 06:33:53 -07:00
Sean McManus 019868d88b Upgrade nanoid to 3.3.18 2026-08-18 06:13:49 -07:00
Sean McManus fee67720b9 Merge commit 'd574c9c1b39b6097e94b0bad8e2d163272f7dd42' into seanmcm/integration 2026-08-17 18:26:33 -07:00
Sean McManus d574c9c1b3 Fix SimpleCppProject test setup 2026-08-17 12:18:50 -07:00
Sean McManus 76f93fe564 Merge commit 'f4f5a6d835c46d9fc6dff8b486363b302ed46641' into seanmcm/integration 2026-08-14 21:24:53 +00:00
Sean McManus f4f5a6d835 Merge branch 'main' into seanmcm/devbox2-wsl/agent31/intellisense-localization-main 2026-08-14 12:10:13 -07:00
Sean McManus 874807f8a4 Merge commit '996b3cd6a8f747692581057e558f8cd9e5f066ee' into seanmcm/integration 2026-08-14 03:51:35 +00:00
Sean McManus 996b3cd6a8 Fix configuration path diagnostic ranges 2026-08-14 02:07:37 +00:00
dependabot[bot] d41ba04e26 Bump the github-actions group with 2 updates (#14678)
Bumps the github-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.4 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...5595ccaf912efad79be6eef63a5619ff05969be3)

Updates `github/codeql-action/analyze` from 4.37.4 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...5595ccaf912efad79be6eef63a5619ff05969be3)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-13 18:04:49 -07:00
Sean McManus f976b1401c Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-13 20:47:16 +00:00
Colen Garoutte-Carsonand@8prashant (Prashant Kumar Rai) 592661994a Update inactive regions to support column granularity (#14667)
Co-authored-by: @8prashant (Prashant Kumar Rai)
2026-08-13 13:41:59 -07:00
Sean McManus bae4e46a2a Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-13 19:15:52 +00:00
Sean McManus 98055e0aa8 Fix configuration path regex escaping (#14674) 2026-08-13 12:11:18 -07:00
Sean McManus 21ef9f74c1 Update IntelliSense localization strings 2026-08-13 14:45:31 +00:00
Sean McManus 5fce68cd74 Merge commit '1a8cdb843801d8ff0daf6837de0ba7202b8fd27a' into seanmcm/integration 2026-08-12 23:47:28 +00:00
Sean McManus 1a8cdb8438 Fix configuration path regex escaping 2026-08-12 22:59:06 +00:00
Sean McManus f2b4ae2103 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-12 22:15:04 +00:00
Sean McManus 7a7c1f421b Update changelog and version for 1.33.8 (#14671) 2026-08-12 15:10:35 -07:00
Sean McManus 544cd026c8 Merge commit '4370d14a2bde025e0d2802135dc5eda51654c72c' into seanmcm/integration 2026-08-12 21:09:47 +00:00
Sean McManus 4370d14a2b Update changelog and version for 1.33.8 2026-08-12 20:35:33 +00:00
Sean McManus b1b47db524 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-12 20:24:28 +00:00
Sean McManus 82c66b05d3 Handle localization path casing generically (#14669) 2026-08-12 13:20:37 -07:00
Sean McManus c40ff01d00 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-12 20:14:15 +00:00
Sean McManus 08baa1d0d2 Fix IntelliSense translation strings. (#14668)
* Fix IntelliSense translation strings.
2026-08-12 10:52:21 -07:00
Sean McManus db29f1bb68 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-11 19:29:09 +00:00
Sean McManus 9d19aa858f Validate Yarn lockfile selectors (#14663) 2026-08-11 12:14:31 -07:00
Sean McManus 53e9bdb245 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-11 17:06:07 +00:00
Sean McManus 0ec5075a0f Lock localization literals (#14664) 2026-08-11 10:00:19 -07:00
Sean McManus 74af7ade30 Merge commit '79e58c61515b92ea5288e85500cc48bdfbb50df8' into seanmcm/integration 2026-08-11 02:08:34 +00:00
Sean McManus 79e58c6151 Lock localization literals 2026-08-11 01:34:01 +00:00
Sean McManus 52be722a32 Merge commit '639a0c7b08b1b2dfc521327072fb1ab492fe5ed7' into seanmcm/integration 2026-08-11 01:33:46 +00:00
Sean McManus 639a0c7b08 Validate Yarn lockfile selectors 2026-08-11 01:21:19 +00:00
Sean McManus eae53ddf84 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-11 01:11:46 +00:00
Sean McManusandcsigs 578d879123 Fix localization translation errors (#14662)
* Localization - Translated Strings

* Fix localization translation errors

* Preserve Turkish check option literal

* Preserve Portuguese include literals

---------

Co-authored-by: csigs <[email protected]>
2026-08-10 18:10:17 -07:00
Sean McManus a8d2b261ba Merge commit '12d2528b29f63b4674d90d6fb02771b0561bb0e1' into seanmcm/integration 2026-08-11 01:03:16 +00:00
Sean McManus 12d2528b29 Preserve Portuguese include literals 2026-08-11 01:01:54 +00:00
Sean McManus 61f51d1690 Merge commit 'a78136f85b76b8239a2ad846ebd04c64fb4cce1a' into seanmcm/integration 2026-08-11 00:49:13 +00:00
Sean McManus a78136f85b Merge remote-tracking branch 'origin/seanmcm/devbox2-wsl/agent4/fix-localization-translation-errors' into seanmcm/devbox2-wsl/agent4/fix-localization-translation-errors 2026-08-11 00:35:50 +00:00
Sean McManus b2ddb96611 Preserve Turkish check option literal 2026-08-11 00:35:02 +00:00
Sean McManus b7fcd42e88 Merge branch 'main' into seanmcm/devbox2-wsl/agent4/fix-localization-translation-errors 2026-08-10 17:30:53 -07:00
Sean McManus 1385e1e19f Fix localization translation errors 2026-08-11 00:20:31 +00:00
Sean McManus 282c176eb3 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-10 23:53:36 +00:00
Sean McManus 38848fa7bb Update changelog for 1.33.7 (#14661) 2026-08-10 16:49:44 -07:00
Sean McManus ac37abac12 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-10 23:05:58 +00:00
Sean McManus 31c2411fff Use frozen lockfile for webpack install (#14659) 2026-08-10 16:05:21 -07:00
Sean McManus 314495ef37 Merge commit '6112068ac68245da8bc0b015b9eb6ba4a55ed6d1' into seanmcm/integration 2026-08-10 23:01:17 +00:00
Sean McManus 6112068ac6 Use frozen lockfile for webpack install 2026-08-10 22:27:56 +00:00
Sean McManus 9564835dd8 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-10 21:47:56 +00:00
Sean McManus 58fe69ef79 Update nanoid to 3.3.17 (#14658) 2026-08-10 14:45:22 -07:00
Sean McManus b4afbe2672 Merge commit 'd6c9fd5559bba437babd466ed3dc5686a1d6b46f' into seanmcm/integration 2026-08-10 21:42:47 +00:00
Sean McManus d6c9fd5559 Update nanoid to 3.3.17 2026-08-10 19:59:13 +00:00
Sean McManus 75d458accb Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-10 18:24:12 +00:00
Sean McManus a678db0da3 Update js-yaml in remaining lockfiles (#14657) 2026-08-10 11:19:17 -07:00
Sean McManus 8e81300a7c Merge commit '24831bc81adff860e046d8cc83d270307a8f3dc8' into seanmcm/integration 2026-08-10 17:46:38 +00:00
Sean McManus 24831bc81a Update js-yaml in remaining lockfiles 2026-08-10 15:28:58 +00:00
Sean McManus 6cb184c483 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-10 14:37:43 +00:00
dependabot[bot] 61aeb27b5c Bump fast-uri from 3.1.4 to 3.1.5 in /Themes (#14656)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 07:00:13 -07:00
dependabot[bot] 2ab211ff5a Bump fast-uri from 3.1.4 to 3.1.5 in /ExtensionPack (#14655)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 06:52:31 -07:00
dependabot[bot] 9e1fee5b77 Bump js-yaml from 4.3.0 to 4.3.1 in /Extension (#14654)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 03:35:13 -07:00
Sean McManus 53a3811743 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-09 16:43:54 +00:00
dependabot[bot] 7777353275 Bump fast-uri from 3.1.4 to 3.1.5 in /Extension (#14653)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 22:19:37 -07:00
dependabot[bot] e11604fb12 Bump js-yaml from 4.3.0 to 4.3.1 in /Themes (#14652)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 18:45:34 -07:00
Sean McManus f630fc4da9 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-08 00:08:32 +00:00
Bob Brown 7ea89afb30 Remove language client error telemetry (#14651) 2026-08-07 11:46:18 -07:00
Sean McManus a1a4bb0f5d Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-07 03:28:32 +00:00
dependabot[bot]andSean McManus 62f57a7b38 Bump the github-actions group with 2 updates (#14647)
Bumps the github-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...f205ea1c3313d32999d8d6a48b4f6530d4437b38)

Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...f205ea1c3313d32999d8d6a48b4f6530d4437b38)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

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-08-06 20:25:40 -07:00
Sean McManus 9152b019f8 Move VS Code test isolates to the user cache (#14646)
* Move VS Code test isolates to user cache

* Validate VS Code test root override

* Validate platform cache environment paths

* Require fully qualified Windows cache paths
2026-08-06 20:24:54 -07:00
Sean McManus 660abd601c Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-05 01:10:26 +00:00
Sean McManus b02a2f85a4 Update changelog for 1.33.6 (#14644)
* Update changelog for 1.33.6
2026-08-04 16:43:54 -07:00
Sean McManus c0ad99a76f Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-04 20:13:21 +00:00
Sean McManus 130bb59612 Fix by-design-closer-debugger .yml naming. (#14638) 2026-08-04 20:07:45 +00:00
Sean McManus f2480fd882 Update dependencies to address security advisories (#14640) 2026-08-04 13:04:29 -07:00
Sean McManus 646df4df6e Update Node.js developer prerequisites (#14641) 2026-08-04 11:57:57 -07:00
Sean McManus bb288f7e1a Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-04 18:30:53 +00:00
dependabot[bot] 36e17520ea Bump the github-actions group with 4 updates (#14639)
Bumps the github-actions group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [actions/setup-node](https://github.com/actions/setup-node).


Updates `actions/checkout` from 5.1.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09...3d3c42e5aac5ba805825da76410c181273ba90b1)

Updates `github/codeql-action/init` from 3.37.5 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e60ea984bd3baa95954f2856bcf24f9eaba46637...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `github/codeql-action/analyze` from 3.37.5 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e60ea984bd3baa95954f2856bcf24f9eaba46637...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `actions/setup-node` from 4.4.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/49933ea5288caeca8642d1e84afbd3f7d6820020...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 10:37:31 -07:00
Sean McManus 5ce4eaaf6a Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-04 17:01:25 +00:00
Microsoft Open Source Security BotandSean McManus c238b1de0b Pin GitHub Actions to full-length commit SHAs (#14635)
Co-authored-by: Sean McManus <[email protected]>
2026-08-04 09:58:57 -07:00
5fd0548c00 Fix .vscodeignore missing .gitignore in themes extension (#14636)
* Fix .vscodeignore missing .gitignore in themes extension

* Potential fix for pull request finding

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

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2026-08-04 09:56:38 -07:00
dependabot[bot] c12be38b72 Bump undici from 7.28.0 to 7.29.0 in /Extension (#14637)
Bumps [undici](https://github.com/nodejs/undici) from 7.28.0 to 7.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.28.0...v7.29.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 09:27:43 -07:00
csigs c1a9d604ac Localization - Translated Strings 2026-08-04 07:16:05 +00:00
Sean McManus 038c742125 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-03 17:08:43 -07:00
dependabot[bot] 74ca0fe21a Bump undici from 7.28.0 to 7.29.0 in /Themes (#14634)
Bumps [undici](https://github.com/nodejs/undici) from 7.28.0 to 7.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.28.0...v7.29.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-03 14:38:54 -07:00
Sean McManus f9f1e55832 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-03 14:19:31 -07:00
Sean McManus 2d23836183 Bump brace-expansion to latest patched versions (1.1.18, 2.1.4, 5.0.9) (#14633) 2026-08-03 13:02:28 -07:00
Sean McManus 32cb58fe87 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-03 11:30:08 -07:00
Sean McManusandColen Garoutte-Carson cd22e17227 Restore repo-tracked files after copying test binaries (#14632)
The install/copy-binaries script rm -rf's and re-copies the installed extension's bin, debugAdapters, and LLVM folders. A few files under bin are checked into the repo (bin/cpp.hint and bin/messages/**/messages.json); the copy overwrote them with the installed extension's versions (differing line endings and/or content), leaving spurious local modifications that had to be reverted by hand. Restore any tracked files the copy changed so only the untracked binaries remain, and gitignore the generated bin/binaryVersion.json marker.

Co-authored-by: Colen Garoutte-Carson <[email protected]>
2026-08-03 11:04:59 -07:00
Sean McManus b3e83d8b48 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-08-03 09:26:38 -07:00
Sean McManus 2d5e77cb3d Update IntelliSense loc strings for PR 757614. (#14607)
* Update IntelliSense loc strings for PR 757614.
2026-08-03 09:02:42 -07:00
Sean McManus 9a1b479ced Merge branch 'seanmcm/updateIntelliSenseLocStringsPR757614' into seanmcm/integration 2026-08-03 08:25:29 -07:00
Sean McManus 8878f05a18 Merge branch 'main' into seanmcm/updateIntelliSenseLocStringsPR757614 2026-08-03 08:24:38 -07:00
Sean McManus 0b10e39fef Merge branch 'seanmcm/devbox2-wsl/agent9/fix-copy-binaries-tracked-files' into seanmcm/integration 2026-08-01 21:29:18 +00:00
Sean McManus 9b2644d614 Restore repo-tracked files after copying test binaries
The install/copy-binaries script rm -rf's and re-copies the installed extension's bin, debugAdapters, and LLVM folders. A few files under bin are checked into the repo (bin/cpp.hint and bin/messages/**/messages.json); the copy overwrote them with the installed extension's versions (differing line endings and/or content), leaving spurious local modifications that had to be reverted by hand. Restore any tracked files the copy changed so only the untracked binaries remain, and gitignore the generated bin/binaryVersion.json marker.
2026-08-01 21:03:34 +00:00
Sean McManus cdd5240e39 Merge remote-tracking branch 'origin/main' into seanmcm/integration 2026-07-31 03:33:53 +00:00
Sean McManus 0040d0c786 Add 1.33.6 changelog entry and bump version (#14628) 2026-07-30 19:26:38 -07:00
Sean McManus dd5f8f997c Merge branch 'main' into seanmcm/integration 2026-07-30 23:17:41 +00:00
Weverton Guedes 35408d570f Don't discard custom configurations whose uri is a vscode.Uri (#14624) 2026-07-30 16:15:48 -07:00
Weverton GuedesandSean McManus dc28a69f41 Don't warn about recursive includes merged from c_cpp_properties.json (#14620)
The check for include paths ending in '**' ran in sendCustomConfigurations,
after mergeConfigurations had already appended the includePath entries from
the user's c_cpp_properties.json to each configuration from the provider. A
trailing '**' is a supported way to recurse there, so the warning fired for
paths the provider never supplied.

Move the check ahead of that append so it only sees the provider's own
include paths.

Co-authored-by: Sean McManus <[email protected]>
2026-07-30 15:55:02 -07:00
Colen Garoutte-Carson 4927fafbe4 Add strings for db lock file related log output (#14625) 2026-07-30 15:23:54 -07:00
Bob Brown b17d9bd94d Reduce settings change noise (#14622) 2026-07-30 20:06:34 +00:00
Bob Brown 7c6aa892b4 rename telemetry properties (#14623) 2026-07-30 12:20:54 -07:00
Sean McManus dac32bc0c3 Merge branch 'main' into seanmcm/integration 2026-07-30 00:45:22 +00:00
Sean McManus 03e0332738 Bump @vscode/test-electron to 3.1.0 and move test VS Code pin to 1.131.0 (#14619)
* Bump @vscode/test-electron to 3.1.0 so tests launch VS Code >=1.110 on macOS

VS Code 1.110 renamed the macOS main binary from Contents/MacOS/Electron to the product name and later removed the compatibility symlink (microsoft/vscode#326502, 2026-07-20), so @vscode/test-electron <=3.0.0 — which hardcodes the Electron name — fails to launch downloaded stable builds on macOS with 'spawn .../Contents/MacOS/Electron ENOENT'. 3.1.0 resolves the executable from the bundle's Info.plist CFBundleExecutable (microsoft/vscode-test#348, #349), letting the tests track latest stable VS Code again without pinning.

* Move test VS Code pin to 1.131.0

With @vscode/test-electron 3.1.0 the macOS 1.131.0 bundle launches correctly, so advance the pinned test VS Code from 1.130.0 to the current stable 1.131.0.
2026-07-29 14:33:35 -07:00
Sean McManus 778ddbd6a3 Merge branch 'seanmcm/devbox2-wsl/agent6/bump-test-electron' into seanmcm/integration 2026-07-29 19:40:40 +00:00
Sean McManus 0bbd36695f Move test VS Code pin to 1.131.0
With @vscode/test-electron 3.1.0 the macOS 1.131.0 bundle launches correctly, so advance the pinned test VS Code from 1.130.0 to the current stable 1.131.0.
2026-07-29 17:15:16 +00:00
Sean McManus e962adaccc Bump @vscode/test-electron to 3.1.0 so tests launch VS Code >=1.110 on macOS
VS Code 1.110 renamed the macOS main binary from Contents/MacOS/Electron to the product name and later removed the compatibility symlink (microsoft/vscode#326502, 2026-07-20), so @vscode/test-electron <=3.0.0 — which hardcodes the Electron name — fails to launch downloaded stable builds on macOS with 'spawn .../Contents/MacOS/Electron ENOENT'. 3.1.0 resolves the executable from the bundle's Info.plist CFBundleExecutable (microsoft/vscode-test#348, #349), letting the tests track latest stable VS Code again without pinning.
2026-07-29 17:15:16 +00:00
Sean McManus 72d590a1b7 Don't report Node deprecation warnings as script errors (#14616)
runVSCodeCommand only resolves on success (it throws on a non-zero exit), so its stderr is non-fatal output such as the Node [DEP0169] url.parse() deprecation warning emitted by the VS Code CLI. Log it as a warning instead of an error in installAndCopyBinaries.ts, and add DEP0169 to the test.ts stdio filter list.
2026-07-29 09:56:23 -07:00
Sean McManus 0c7a60dcae Pin test VS Code version to 1.130.0 to unbreak macOS CI (#14618)
The installed @vscode/test-electron cannot launch the VS Code 1.131.0 macOS arm64 bundle (spawn Electron ENOENT), which fails the integration-test steps on every run. Pin the downloaded test VS Code to 1.130.0 (the last release that launches) until @vscode/test-electron is bumped to handle newer stable releases.
2026-07-29 09:44:32 -07:00
Sean McManus f01ab4da97 Merge branch 'main' into seanmcm/integration 2026-07-28 21:55:42 +00:00
Sean McManus 5f0a3f4ce0 Update changelog for 1.33.5. (#14613)
* Update changelog for 1.33.5.
* Update version to 1.33.5.
2026-07-28 13:01:41 -07:00
Sean McManus 9053d9fb0d Merge branch 'main' into seanmcm/integration 2026-07-28 11:13:29 +00:00
56a2bbe6c5 Use PowerShell call operator when shell integration is unavailable (#14585)
"Run C/C++ File" builds the command with buildShellCommandLine and sends
it via sendText when the terminal has no shell integration. That path
quotes a program path containing spaces but never prepends the call
operator, so PowerShell evaluates the quoted path as a string literal and
echoes it instead of running the program.

The shell-integration path already handles this, so extract its PowerShell
detection into isPowerShellTerminal() and reuse it in the sendText path.

Closes #14583

Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
2026-07-27 19:21:04 -07:00
Sean McManus 397f4e5ade Normalize JSON trailing newlines. (#14579)
* Unify json newlines.
2026-07-27 17:00:48 -07:00
Sean McManus 56be5729fb Merge branch 'main' into seanmcm/integration 2026-07-27 23:12:25 +00:00
Sean McManus 0f754f7437 Update ThirdPartyNotices.txt (#14611)
* Update ThirdPartyNotices.txt
2026-07-27 16:00:46 -07:00
Sean McManus d8f8783035 Merge branch 'seanmcm/updateThirdPartyNotices' into seanmcm/integration 2026-07-27 22:26:57 +00:00
Sean McManus 6ab8203ce0 Update from review. 2026-07-27 22:25:12 +00:00
Sean McManus 6d33605e84 Merge branch 'seanmcm/updateThirdPartyNotices' into seanmcm/integration 2026-07-27 22:00:26 +00:00
Sean McManus 51b25d1e9e Merge branch 'main' into seanmcm/integration 2026-07-27 22:00:18 +00:00
Sean McManus 3ee7d16c6d Update ThirdPartyNotices.txt 2026-07-27 21:36:51 +00:00
Sean McManus dc614ca3a7 Update brace-expansion. (#14610) 2026-07-27 12:46:11 -07:00
Sean McManus 4774d95296 Fix si_code=, si_addr=undefined. (#14608)
* Fix si_code=, si_addr=undefined.
2026-07-27 12:42:15 -07:00
Sean McManus 9bb8ee4409 Merge branch 'seanmcm/updateBraceExpansion' into seanmcm/integration 2026-07-27 18:40:43 +00:00
Sean McManus d57678108d Update brace-expansion. 2026-07-27 18:36:38 +00:00
Sean McManus 9e662ff980 Skip terminate_handler( frames. (#14609) 2026-07-27 15:21:12 +00:00
Sean McManus eb013a19c1 Update .gitignore for installed bin files. (#14606) 2026-07-27 08:20:25 -07:00
Sean McManus 0a82449d66 Merge branch 'seanmcm/skipTerminateHandlerFrames' into seanmcm/integration 2026-07-26 21:46:31 +00:00
Sean McManus c412f7da71 Skip terminate_handler( frames. 2026-07-26 21:29:34 +00:00
Sean McManus 4113e00318 Merge branch 'seanmcm/fixEmptyUndefinedSignalInfo' into seanmcm/integration 2026-07-26 20:43:38 +00:00
Sean McManus 248c44bdbc Code review feedback. 2026-07-26 20:33:30 +00:00
Sean McManus 9db0aff845 Fix si_code=, si_addr=undefined. 2026-07-26 20:15:47 +00:00
Sean McManus 627a4622b0 Merge branch 'seanmcm/updateGitIgnore' into seanmcm/integration 2026-07-26 17:48:15 +00:00
Sean McManus c2b605399a Merge branch 'seanmcm/updateIntelliSenseStringAddJsonNewlines' into seanmcm/integration 2026-07-26 17:47:45 +00:00
Sean McManus 714b35123d Update IntelliSense loc strings for PR 757614. 2026-07-26 17:41:35 +00:00
Sean McManus ab6e93fa31 Undo the IntelliSense string change. 2026-07-26 17:34:34 +00:00
Sean McManus 8ccffc9e5b Merge branch 'main' into seanmcm/updateIntelliSenseStringAddJsonNewlines 2026-07-26 17:31:00 +00:00
Sean McManus 9a12ee6149 Update .gitignore for installed bin files. 2026-07-26 17:25:17 +00:00
Sean McManus 0a4fff20e8 Update dependencies again. (#14600) 2026-07-24 14:17:29 -07:00
dependabot[bot] f9c3768009 Bump fast-uri from 3.1.3 to 3.1.4 in /ExtensionPack (#14599)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.3...v3.1.4)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 12:33:30 -07:00
Sean McManus 0108beae75 Fix build tools walkthrough for VS 2026. (#14589) 2026-07-24 19:03:11 +00:00
Sean McManus 0e4228b3b7 Update dependencies. (#14598) 2026-07-24 10:57:15 -07:00
dependabot[bot]andSean McManus 7df19266de Bump js-yaml from 4.2.0 to 4.3.0 in /Extension (#14597)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.2.0 to 4.3.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.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-07-24 05:52:42 -07:00
dependabot[bot]andSean McManus db3a96f9f7 Bump linkify-it from 5.0.1 to 5.0.2 in /Extension (#14596)
Bumps [linkify-it](https://github.com/markdown-it/linkify-it) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/linkify-it/compare/5.0.1...5.0.2)

---
updated-dependencies:
- dependency-name: linkify-it
  dependency-version: 5.0.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-07-24 12:51:54 +00:00
dependabot[bot] 7187b34384 Bump linkify-it from 5.0.1 to 5.0.2 in /ExtensionPack (#14594)
Bumps [linkify-it](https://github.com/markdown-it/linkify-it) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/linkify-it/compare/5.0.1...5.0.2)

---
updated-dependencies:
- dependency-name: linkify-it
  dependency-version: 5.0.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 12:36:27 +00:00
dependabot[bot] eb76b09387 Bump fast-uri from 3.1.2 to 3.1.4 in /Themes (#14593)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 12:35:33 +00:00
HuzaifaAbdulRehman 42c703ed74 Fix portable ps command for remote process picker (#14592)
* Fix portable remote process ps command
2026-07-23 14:12:49 -07:00
dependabot[bot] e799b285f4 Bump brace-expansion and @vscode/vsce in /Themes (#14591)
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) to 5.0.7 and updates ancestor dependency [@vscode/vsce](https://github.com/Microsoft/vsce). These dependencies need to be updated together.


Updates `brace-expansion` from 1.1.13 to 5.0.7
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v5.0.7)

Updates `@vscode/vsce` from 3.9.1 to 3.9.2
- [Release notes](https://github.com/Microsoft/vsce/releases)
- [Commits](https://github.com/Microsoft/vsce/compare/v3.9.1...v3.9.2)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.7
  dependency-type: indirect
- dependency-name: "@vscode/vsce"
  dependency-version: 3.9.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-22 18:54:50 -07:00
Bob Brown 61eed95a5a send telemetry for language client errors (#14577) 2026-07-22 15:02:05 -07:00
Glen Chung 4549dff7c4 Add localizable strings for --check headless validation (#14578)
* Add localizable strings for --check headless validation

Adds 13 native strings backing the mscppls --check mode (the clangd-style
headless validation of a compile_commands.json file): the two --help entries
and the setup/usage error messages.

* No lock on placeholders

* Fix LOC locks
2026-07-17 06:43:33 +00:00
Sean McManus bdd6a39e9d Merge branch 'main' into seanmcm/updateIntelliSenseStringAddJsonNewlines 2026-07-14 14:52:55 -07:00
Sean McManus 4b2a1e1b63 Add an opt-in for capturing sanitizer logs from the language server (#14573)
* Add an opt-in for capturing sanitizer logs from the language server
2026-07-14 14:51:06 -07:00
Colen Garoutte-Carson 57cf069d65 Support requests of multiple custom configs (#14582) 2026-07-14 14:32:08 -07:00
Sean McManus b477243fef Add a new IntelliSense translation string and unify json newlines. 2026-07-13 04:40:53 -07:00
Sean McManus 7e02d995ea Some IntelliSense loc changes. (#14571) 2026-07-09 12:13:02 -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 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
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 0015bd88c9 Minor IntelliSense loc changes. (#14518) 2026-06-16 11:11:18 -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
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 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 25cc9b758a clang-analyazer (#14411) 2026-04-27 12:28:05 -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
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 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 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
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 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 980cccb1ce Update the changelog for 1.30.3. (#14152) 2026-01-29 17:31:38 -08:00
Sean McManus c3b4190601 Update IntelliSense loc strings. (#14151) 2026-01-29 14:04:13 -08:00
Sean McManus ea2540f7f0 Update GitHub Actions. (#14149) 2026-01-29 13:03:19 -08:00
Sean McManus 4015e0fc29 Update sinon and diff. (#14148) 2026-01-29 08:18:04 -08:00
Sean McManus 4221a90ee1 Update changelog and version for 1.30.2 (#14146)
* Update changelog for 1.30.2.
* Add a missing TPN entry.
2026-01-23 13:18:50 -08:00
Sean McManus f8624937ef Fix locked string for c_cpp.configuration.autocomplete.markdownDescription (#14136)
* Fix locked string for c_cpp.configuration.autocomplete.markdownDescription
2026-01-14 17:59:04 -08:00
Sean McManus 9771ca6fb1 Update changelog for 1.30.1 (#14133)
* Update changelog for 1.30.1
2026-01-12 11:40:24 -08:00
Sean McManus 66fd5af437 Update IntelliSense loc strings. (#14131) 2026-01-09 11:39:31 -08:00
Ben McMorran bdb77c0bcf Fix Copilot hover model selection (#14113) 2025-12-18 15:11:01 -08:00
Sean McManus bb42f2f56d Update changelog for 1.30.0. (#14106) 2025-12-12 16:38:18 -08:00
Sean McManus bc477d360a Update changelog for 1.29.3. (#14093)
* Update changelog for 1.29.3.
2025-12-08 15:12:48 -08:00
Sean McManus 5a4be2c7d3 Resolve ${userHome} in settings. (#14090) 2025-12-05 17:59:02 -08:00
Bob Brown 4d6f27df02 Don't require NETFXSDKDir for msvc environment test (#14088) 2025-12-05 10:22:00 -08:00
Sean McManus 802b46011a Fix commentContinuationPatterns if they're a prefix of a later one. (#14082)
* Fix commentContinuationPatterns if they're a prefix of a later one.
2025-12-05 09:15:12 -08:00
Sean McManus 3a458aa99d Fix C_Cpp.commentContinuationPattern settings change. (#14080) 2025-12-05 09:09:28 -08:00
Bob Brownanddinhtam2c 6559cc2af0 Fix custom comment continuation for multiple follow-up lines (#14076)
* Fix custom comment continuation for multiple follow-up lines (#14074)

* Add a unit test for the scenario

* formatting hasn't been done on this file yet. Match the existing style.

---------

Co-authored-by: dinhtam2c <[email protected]>
2025-12-05 09:03:52 -08:00
Sean McManus 9ccb63f177 Update changelog and verison for 1.29.2. (#14070) 2025-12-01 17:19:13 -08:00
Dhruvil Shah dbb3e72e80 Fix typo "no_suitable_complier" in nativeStrings.json (#14064) 2025-11-25 14:04:26 -08:00
Sean McManus 4642371880 Update js-yaml for github actions. (#14061) 2025-11-21 09:13:46 -08:00
dependabot[bot] 756b1aa47b Bump js-yaml from 4.1.0 to 4.1.1 in /Extension (#14060)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 15:19:58 -08:00
Sean McManus fcf11debc3 Update changelog for 1.29.1. (#14058) 2025-11-20 13:47:01 -08:00
Sean McManus cf5de9cadf Retry build files task in cg.yml (#14043)
* Retry build files.
2025-11-13 08:49:26 -08:00
Sean McManus 4aadfda399 Update the msvc version to 1950. (#14042) 2025-11-12 13:02:49 -08:00
Sean McManusandcsigs 666bc4d703 Update localization (#14039)
* Localization - Translated Strings

* Some fixes.

* Remove \t.

---------

Co-authored-by: csigs <[email protected]>
2025-11-10 17:18:36 -08:00
Sean McManus fdd100d0cd Update IntelliSense loc strings. (#14038) 2025-11-10 13:28:07 -08:00
Sean McManus 544c672e60 Update changelog (2nd time). (#14032) 2025-11-03 11:17:59 -08:00
Sean McManus 80dbf491cf Update TPN. (#14029) 2025-11-03 10:42:52 -08:00
Sean McManus 1a5fdd19ed Update changelog and version for 1.29.0. (#14028)
* Update changelog and version for 1.29.0.
2025-10-31 17:50:30 -07:00
Bob Brown 361139fc67 Adding telemetry for devcmd environment usage (#14023) 2025-10-30 09:17:52 -07:00
Bob Brown cf9f23d081 For VS 18.0 and above, use "Insiders" instead of "Preview" (#14022) 2025-10-30 09:02:02 -07:00
Bob Brown bebf2245af Enable setting the VS dev environment without running from Dev Command Prompt (#13571) 2025-10-29 16:04:51 -07:00
Sean McManus 11ea1e29d9 Update IntelliSense strings (translations are available yet). (#14020) 2025-10-29 14:07:55 -07:00
Sean McManus feee0c63db Fix incorrect comma in settings string. (#14005) 2025-10-16 23:40:51 +00:00
Bob Brown a2cc5d7de7 put standard library file associations in package.json (#14002) 2025-10-16 13:42:47 -07:00
Sean McManus dc1cdecdbd Update changelog for 1.28.3. (#14001) 2025-10-15 09:00:05 -07:00
Sean McManus fe0c873609 Update changelog. (#13996) 2025-10-13 14:06:55 -07:00
Sean McManus 497c341163 Remove llvm from cgmanifest. (#13994) 2025-10-13 09:34:39 -07:00
Sean McManus eb8afeda81 Update changeling and version for 1.28.2 (#13990)
* Update changelog and version for 1.28.2.
2025-10-09 20:26:43 -07:00
Bob Brown 358f70c0ec Fix some invalid assumptions for tasks (#13989) 2025-10-09 10:16:58 -07:00
Sean McManus 856a6dc965 Update changleog (2nd time). (#13981)
* Update changlog (2nd time).
2025-10-06 14:00:05 -07:00
Sean McManus 40590bbc68 Update changelog for 1.28.1. (#13977) 2025-10-03 15:12:18 -07:00
Sean McManus 46204dcbf8 Add telemetry to check for potential cases of blocked activation. (#13973)
* Add telemetry to check for potential cases of blocked activation.
2025-10-01 07:35:24 -07:00
Sean McManus 0de153454a Fix infinite ssh config file include processing. (#13971)
* Fix infinite ssh config file processing.
2025-09-30 13:25:38 -07:00
Bob Brown b75cbb36d3 Enable signing for Themes and ExtensionPack (#13969) 2025-09-29 15:20:53 -07:00
Sean McManus a6a238f113 Update changelog and version for 1.28.0. (#13963)
* Update changelog and version for 1.28.0.
2025-09-24 15:39:14 -07:00
Sean McManus d6b46dc91f Update to clang-tidy 21. (#13946) 2025-09-23 04:23:36 -07:00
Bob Brown 6d9308229e pre-release check crashes when response is not properly formed. (#13955) 2025-09-22 11:43:46 -07:00
Sean McManus 5855d98e55 Add windowsErrorReportingMode translation (#13948)
* Localization - Translated Strings
* Fix.
2025-09-19 11:38:04 -07:00
Sean McManus 2bc677df47 Fix broken schema link. (#13951) 2025-09-19 10:36:43 -07:00
Sean McManus 5f7fad11e4 Minor fix to changelog. (#13942) 2025-09-17 15:18:22 -07:00
Sean McManus 81568ea16f Update changelog and version for 1.27.7. (#13939) 2025-09-17 15:04:54 -07:00
Sean McManus 7ba7e07586 Update changelog and version for 1.27.6. (#13934) 2025-09-15 16:30:10 -07:00
Sean McManus e4a9ddb261 Add windowsErrorReportingMode. (#13929)
* Add windowsErrorReportingMode.
2025-09-15 11:33:00 -07:00
dependabot[bot] b454c98a40 Bump axios from 1.8.2 to 1.12.1 in /.github/actions (#13932)
Bumps [axios](https://github.com/axios/axios) from 1.8.2 to 1.12.1.
- [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.8.2...v1.12.1)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 07:56:19 -07:00
Sean McManus 73162a59aa Update loc for 1.27.6 (#13926)
* Localization - Translated Strings
* Fix.
2025-09-11 20:06:18 -07:00
Colen Garoutte-Carson 212fc37050 Removed some redundant code related to revealIfOpen setting (#13922) 2025-09-11 11:28:02 -07:00
Dirk Bäumer 15dac4338c A non awaiting version of the context provider registration code. (#13924) 2025-09-11 08:26:35 -07:00
Sean McManus c101b677c4 Update changelog for 1.27.5. (#13920) 2025-09-10 11:22:34 -07:00
Dirk Bäumer 2f0efe9055 Wait maximum 3 seconds for the Copilot chat extension to activate. (#13918) 2025-09-10 08:34:41 -07:00
Sean McManus d7d5aaf84d Add another changelog entry. (#13912) 2025-09-09 10:22:04 -07:00
Colen Garoutte-Carson 0bd5350af6 Fix hang due to config provider timeout (#13909) 2025-09-08 15:56:27 -07:00
Sean McManus d0e089cd71 Update changelog and version for 1.27.4. (#13901)
* Update changelog and version for 1.27.4.
2025-09-05 16:35:05 -07:00
Colen Garoutte-Carson 293e77a863 Fix issue with crash recovery trying to send didOpen before client is started (#13902) 2025-09-05 14:54:04 -07:00
Sean McManus c77712b1f4 Remove / from the message since it seems to cause it to be dropped. (#13899) 2025-09-04 13:21:00 -07:00
Sean McManus 854fecf0ea Update changelog and version for 1.27.3. (#13894)
* Update changelog and version for 1.27.3.
2025-09-02 15:51:50 -07:00
Bob Brown 968332d3c1 Warn users about too many files processed in the workspace (#13889) 2025-09-02 14:36:34 -07:00
Sean McManus 9f04a5e905 Add more state info to cpptools crash logging. (#13888)
* Add more state info to cpptools crash logging.
2025-09-02 13:07:54 -07:00
Bob Brown 6479acdb78 Fix for input delays when editing c_cpp_properties.json (#13878) 2025-08-28 15:35:07 -07:00
Dirk Bäumer eb6d6abf86 Register the CPP context provider with Copilot Chat as well. (#13877)
* Register context provider API with copilot chat as well.
2025-08-26 19:05:29 -07:00
Sean McManus 72f7192e9b Fix broken doc link. (#13873) 2025-08-22 10:55:09 -07:00
Sean McManus 322b16ef24 Fix changelog version. (#13870) 2025-08-21 16:07:21 -07:00
Sean McManus 667f09c360 Update changelog and version. (#13868) 2025-08-21 14:51:33 -07:00
Sean McManus d9af43b95c Update changelog for 1.27.1. (#13855) 2025-08-18 13:32:03 -07:00
Sean McManus 33d169f0fa Localization - Translated Strings (#13854) 2025-08-18 12:50:21 -07:00
Sean McManus eabe5007db Process sigCode and sigAddr for crashes. (#13848)
* Process sigCode and sigAddr for crashes.
* Change to handle early crash file creation.
2025-08-14 16:48:52 -07:00
Sean McManus c6c2208c0e Minor TPN updates. (#13834) 2025-08-06 18:42:41 -07:00
Sean McManus 1760cdd4c4 Update changelog again. (#13831)
* Update changelog again.
2025-08-06 17:12:35 -07:00
Sean McManus c4aac33c13 Fix activation failure when c_cpp_properties.json can't be opened. (#13832)
* Fix activation failure when c_cpp_properties.json can't be opened.
2025-08-06 17:11:46 -07:00
dependabot[bot]andSean McManus a32255425d 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]>
2025-08-06 10:38:19 -07:00
Luca 43a786ea6c fix #13818 (#13824) 2025-08-06 10:31:01 -07:00
Sean McManus 84abc3ad32 Handle .txx/tpp headers. (#13811)
* Handle .txx headers.

* Add tpp too.
2025-08-05 10:58:50 -07:00
Bob Brown b65fc9f1cb Enable CG trigger on insiders branch 2025-08-04 14:01:26 -07:00
Bob Brown 6ab5092971 fixing formatting (#13810) 2025-08-04 11:58:12 -07:00
Colen Garoutte-Carson 7c4bc0772b Revert didOpen changes in favor of adding encoding to didChangeVisibleTextEditors (#13802) 2025-08-01 16:37:19 -07:00
Sean McManus 2eb2c422d1 Update form-data. (#13800)
* Update form-data.
2025-08-01 12:04:29 -07:00
Sean McManus f94a744108 Update changelog for 1.27.0 (2nd time). (#13795)
* Update changelog for 1.27.0 (2nd time).
2025-07-31 17:51:46 -07:00
Sean McManus 809e064075 Fix loc for the miDebuggerServerAddress change. (#13797) 2025-07-31 16:56:50 -07:00
Sean McManus 5974720601 Remove "exceptions" from quoteArgs. (#13796) 2025-07-30 17:18:34 -07:00
Matt 83ba41606c 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
2025-07-30 17:13:35 -07:00
Sean McManus 33bdfeb2e1 Update IntelliSense loc strings. (#13793) 2025-07-30 12:08:46 -07:00
Sean McManus 19e68d1f8d Try to fix the Windows builds. (#13788) 2025-07-30 04:23:40 -07:00
Colen Garoutte-Carson 79fe240863 Enable string length encoding fix in cpptools (#13769) 2025-07-29 11:52:55 -07:00
Joshua Goins a637321374 Fix the description of debugServerPath (#13778)
This mentions the non-existent miDebugServerAddress, but the
correct name is actually miDebuggerServerAddress.
2025-07-22 19:23:47 -07:00
Sean McManus a9ec333842 Update changelog for 1.27.0 (#13757)
* Update changelog for 1.27.0.
* Update TPN.
2025-07-11 18:55:52 -07:00
Sean McManus 507ddfc2cc Update IntelliSense loc strings. (#13756)
* Update IntelliSense loc strings.
2025-07-11 18:50:12 -07:00
Bob Brown 712d3e552b update brace-expansion in github actions folder (#13752) 2025-07-09 12:56:02 -07:00
Colen Garoutte-Carson 79c6f7fb0a Fix issue with lost edits in config UI (#13746) 2025-07-07 14:07:30 -07:00
Sean McManusandcsigs 3bdc8c52de Update localization (#13739)
* Localization - Translated Strings

---------

Co-authored-by: csigs <[email protected]>
2025-07-02 11:42:18 -07:00
Garrett Campbell c8c5b67f18 Update cg.yml (#13727) 2025-06-24 12:47:20 -07:00
Sean McManus df70e44d45 Update changelog and version for 1.26.3. (#13717)
* Update changelog and version for 1.26.3.
2025-06-18 16:01:37 -07:00
Sean McManus ef21f09501 Update changelog for 1.26.2. (#13712) 2025-06-18 13:45:13 -07:00
Sean McManus 80c73b36a9 Update to 7.1.1. (#13709)
* Update to 7.1.1.
2025-06-18 13:24:22 -07:00
Sean McManusandcsigs ff14ee60ee Localization - Translated Strings (#13710)
Co-authored-by: csigs <[email protected]>
2025-06-18 11:02:53 -07:00
Sean McManus 9bd3250477 Loc fixes. (#13707) 2025-06-17 17:59:58 -07:00
Sean McManus 9d0fc56fc4 Update to vscode-cpptools 7.0.3 (#13701)
* Update to vscode-cpptools 7.0.3
2025-06-17 14:56:42 -07:00
Sean McManus 5f7306357a Update IntelliSense loc strings. (#13706) 2025-06-17 14:46:18 -07:00
Sean McManus fb903f6a1b Fix a minor issue with the yarn.lock. (#13700) 2025-06-13 19:53:21 -07:00
Sean McManus bd97021284 Apply mergeConfigurations for browse.path, auto-update the config, and avoid accumulating old configs (#13678)
* Apply mergeConfigurations for browse.path.
* Fix a bug with old merge properties being added.
2025-06-13 15:07:35 -07:00
Sean McManus ad8c3d8947 Update the brace-expansion dependencies. (#13694) 2025-06-13 14:15:46 -07:00
Bob Brown 3d0ef7e6bf Remove old entries from changelog (#13686) 2025-06-11 11:58:44 -07:00
Sean McManus 3fc041daf6 Remove "ada" from the vsdbg langauge lists. (#13671) 2025-06-05 10:54:39 -07:00
Sean McManus fb8688a7d7 Update loc (#13670)
* Localization - Translated Strings
* Manually fix 4 cases (I plan to file bugs tomorrow).
2025-06-05 10:53:29 -07:00
Sean McManus cd8dbf8e44 Fix stopAtEntry, sourceFileMap, processId. (#13654) 2025-05-29 14:55:22 -07:00
Sean McManus 845205407d Fix a couple loc issues. (#13650) 2025-05-29 10:20:08 -07:00
Sean McManus ca78565dd0 Lock the PATH variable which was incorrectly being translated. (#13649) 2025-05-28 17:25:18 -07:00
Sean McManus 266f2d7f88 Remove the .type.descriptions since they don't seem to have any effect. (#13648) 2025-05-28 17:00:51 -07:00
heartacker 8ca1c45fc8 fix typo (#13630)
1.26.0->1.26.1
2025-05-22 18:37:03 -07:00
Sean McManus 07de41e937 Update changelog for 1.26.1 (#13627)
* Update changelog for 1.26.1
2025-05-22 23:28:37 +00:00
Luca 50da8efb51 add note about C++ Copilot suggestions improvement (#13624) 2025-05-21 12:59:36 -08:00
Sean McManus b815f8c8d7 Remove -D__building_module(x)=0 workaround. (#13621) 2025-05-21 12:25:12 -07:00
Sean McManus 87fbb56d6d Update changelog and version for 1.26.0. (#13620)
* Update changelog and version for 1.26.0.
2025-05-20 18:39:27 -07:00
Sean McManus a96375bf50 Update translations for 1.26.0 (#13618)
* Localization - Translated Strings
* Fix \" in Locked.
2025-05-20 16:49:31 -07:00
Sean McManus ef8a971814 Minor TPN updates. (#13617) 2025-05-20 15:52:19 -07:00
Sean McManus d059b38253 Add c++26 (setting value only). (#13608)
* Add c++26.
* Update vscode-cpptools API version.
2025-05-19 16:54:04 -07:00
dependabot[bot] a5018fbdb5 Bump undici from 5.28.5 to 5.29.0 in /.github/actions (#13612)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.5 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.5...v5.29.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 17:02:57 -07:00
Sean McManus 3c5e0f208e Locked the double quote in path.with.spaces. (#13598)
* Locked the double quote in path.with.spaces.
2025-05-12 19:00:51 -07:00
Luca 51e5328d24 handle speculative requests with the cache (#13599) 2025-05-09 17:51:43 -08:00
Sean McManus 58819c9d22 Update IntelliSense translations. (#13592)
* Update IntelliSense translations.
* Fix %sq2 being used instead of %sq in the translations.
2025-05-08 13:26:17 -07:00
Luca 4645163b02 ignore speculative-edit requests (#13593) 2025-05-08 11:37:32 -08:00
Sean McManus 7e013ab0da IntelliSense string updates. (#13580)
* IntelliSense string updates.
2025-05-04 12:50:37 -07:00
Glen Chung ec85902bd4 Publish Idle Status (#13583)
For synchronizing tests
2025-05-02 14:32:24 -07:00
Ben McMorran f461208ffc Ensure #cpp tool isn't accidentally enabled in agent mode (#13581) 2025-05-01 16:42:57 -07:00
Bob Brown 56576c8bec refactor the compilerPath verification to get consistent results in JSON and UI verification (#13553) 2025-04-30 17:16:42 -07:00
Glen Chung 42a9eba703 Add Timestamp to Copilot Logging (#13570)
To correlate with the other log files for better troubleshooting
experience.
2025-04-29 11:15:20 -07:00
Sean McManus 48c961aedc Minor fix. (#13565) 2025-04-28 16:02:23 -07:00
Luca ff55c59e19 telemetry addition (#13564) 2025-04-28 15:01:25 -07:00
Sean McManus 73c95bef48 Update changelog for 1.25.3. (#13560)
* Update changelog for 1.25.3.
2025-04-28 12:04:43 -07:00
Sean McManus fd57bfd074 Localization update for 1.25.3 (#13561)
* Localization - Translated Strings
2025-04-28 11:57:31 -07:00
Luca 4fc36fa25d avoid reporting cancellation as errors (#13552) 2025-04-25 15:27:27 -08:00
Colen Garoutte-Carson 35e5376235 Fix errors reported for recursive includes settings validations (#13554) 2025-04-25 15:07:35 -07:00
Sean McManus 4639ac6049 Update changelog for 1.25.2 (#13550)
* Update changelog for 1.25.2.
2025-04-25 11:22:01 -07:00
Colen Garoutte-Carson 9eb37abe16 Fix how C_Cpp.default recursive include settings are defined (#13549) 2025-04-24 15:27:06 -07:00
Luca 92a34d51b1 codesnippets v2 changes (#13525) 2025-04-22 03:00:49 -07:00
Sean McManus 964bc5b6bd Update version and changelog for 1.25.1. (#13524)
* Update version and changelog for 1.25.1.
2025-04-21 18:56:11 -07:00
Sean McManus ab79eedf6f Localization update (#13540)
* Localization - Translated Strings
* Fixes.
2025-04-21 17:20:19 -07:00
Sean McManus c21a214fc4 Fix translations export. (#13539) 2025-04-21 13:58:34 -07:00
Bob Brown 97ef1aa99d Don't show bogus errors for compilerPath + args in config UI (#13531) 2025-04-17 16:52:55 -07:00
Sean McManus 799d09f41f Fix some loc bugs. (#13522)
* Fix some loc bugs.
* Fix newlines at end of files in json.
2025-04-17 12:51:30 -07:00
Bob Brown 04bc6c8294 No error message shown in config UI for invalid compilerPath (#13529) 2025-04-17 11:12:26 -07:00
Bob Brown 735d74175c Add a message explaining why we couldn't find a quote-wrapped path (#13521) 2025-04-16 14:04:37 -07:00
Sean McManus ce67c4c146 Update loc strings for 1.25.1 (#13515)
* Localization - Translated Strings
* Update loc strings. Add more locked comments.
2025-04-16 12:21:06 -07:00
Sean McManus 7522617143 Fix the Debug button disappearing. (#13492) 2025-04-16 10:59:11 -07:00
Colen Garoutte-Carson 1b2285c7ed Fix recursive includes settings UI (#13498) 2025-04-14 17:29:09 -07:00
Sean McManus d03af2d389 Fix SIG-?? matching the filter regex. (#13493) 2025-04-11 17:27:30 -07:00
Colen Garoutte-Carson a204903ff2 Fix an error on startup if a file is open (#13487) 2025-04-10 15:54:56 -07:00
Garrett Serack 1709999bb7 Update lmTool.test.ts to account for interface change in vscode.d.ts (#13484)
This works around a change to the vscode TextDocument interface
2025-04-10 14:17:29 -07:00
Sean McManus 44d32aa807 Update changelog for 1.25.0. (#13479)
* Update changelog for 1.25.0.
2025-04-09 16:33:49 -07:00
Colen Garoutte-Carson bcdd61859b Add IsExplicit fields for new recursive include properties (#13480) 2025-04-09 16:08:40 -07:00
Sean McManus 4e6f2f8172 Add an extra crash call stack filter check. (#13478) 2025-04-09 12:28:19 -07:00
Colen Garoutte-Carson a71cbadb21 Fix issues with remapping of .C files (#13476) 2025-04-08 18:53:18 -07:00
Ben McMorran 17f149d57d Shutdown LSP server on request (#13475) 2025-04-08 18:19:30 -07:00
Colen Garoutte-Carson 2ca08b061f Work around missing visible editor notifications (#13474) 2025-04-08 16:59:05 -07:00
Sean McManus 6b8b999059 Fix interval timer not firing. (#13469) 2025-04-07 17:30:22 -07:00
Sean McManus 1b7efea691 Fix a warning with copilotHover. (#13467) 2025-04-07 12:56:05 -07:00
Colen Garoutte-Carson 3f9ca1577a Fix cpptools-wordexp (#13468) 2025-04-07 12:39:52 -07:00
Sean McManus c617c38829 Improve copilotHover description. (#13461)
* Improve copilotHover description.
2025-04-04 19:15:42 -07:00
Colen Garoutte-Carson b73353fc9e Fix some file association (#13455) 2025-04-03 16:04:57 -07:00
Garrett Serack 799f0b39c5 use Node v22 (#13454) 2025-04-03 09:59:43 -07:00
Sean McManus 93d5c1fbcf Update changelog and version for 1.24.5. (#13450)
* Update changelog and version for 1.24.5.
2025-04-02 12:34:17 -07:00
Sean McManusandcsigs 7020960ec3 Localization fixes for 1.24.5 (#13446)
* Localization - Translated Strings
* Fix issues.
* Translate license_terms.
* Add  {Locked=\"`disabled`\"}

---------

Co-authored-by: csigs <[email protected]>
2025-04-02 09:15:32 -07:00
Ben McMorran d515544750 Allow notifications during initialization (#13443)
* Allow notifications during initialization

* Change capitalization
2025-04-01 11:14:17 -07:00
Sean McManus 569bf64378 Change ? to ?+<offset> with filtered crash call stacks. (#13434)
* Change ?\n to ?+<offset> with crash call stacks.
2025-03-27 15:57:28 -07:00
Colen Garoutte-Carson 5bd0f9be77 Merge TypeScript main branch to VC (#13428) 2025-03-26 14:15:09 -07:00
Luca 8b8e9451d7 merge rpc calls to fetch completion context (#13417)
rework the log output, fix output and levels.
2025-03-26 12:56:42 -08:00
Sean McManus 3b92649ea7 Update changelog date. (#13426) 2025-03-26 12:15:41 -07:00
Sean McManus acc2a84940 Update version and changelog for 1.24.4. (#13418) 2025-03-25 16:55:46 -07:00
Bob Brown 05fec365d2 Remove usage of parse-git-config (#13416) 2025-03-25 15:27:23 -07:00
Sean McManus 31ada4a296 Try adding always-auth=true. (#13413) 2025-03-25 11:24:57 -07:00
Sean McManusandColen Garoutte-Carson 625ee33af0 Stop skipping the top crash stack frames. (#13403)
Co-authored-by: Colen Garoutte-Carson <[email protected]>
2025-03-24 16:41:39 -07:00
Bob Brown 2100587df1 replace CmdLine tasks with 'script' (#13410) 2025-03-24 15:49:26 -07:00
Bob Brown e2f90ba353 Missing npmrc for other extensions (#13408) 2025-03-24 15:13:23 -07:00
dependabot[bot] 00f0915b78 Bump @octokit/plugin-paginate-rest, @actions/github and @octokit/rest (#13402)
Bumps [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js) to 9.2.2 and updates ancestor dependencies [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js), [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) and [@octokit/rest](https://github.com/octokit/rest.js). These dependencies need to be updated together.


Updates `@octokit/plugin-paginate-rest` from 2.21.3 to 9.2.2
- [Release notes](https://github.com/octokit/plugin-paginate-rest.js/releases)
- [Commits](https://github.com/octokit/plugin-paginate-rest.js/compare/v2.21.3...v9.2.2)

Updates `@actions/github` from 5.1.1 to 6.0.0
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

Updates `@octokit/rest` from 19.0.13 to 21.1.1
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v19.0.13...v21.1.1)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-paginate-rest"
  dependency-type: indirect
- dependency-name: "@actions/github"
  dependency-type: direct:production
- dependency-name: "@octokit/rest"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 08:22:13 -07:00
Colen Garoutte-Carson 225143f1f1 Add settings for 'reduce', 'priority' and internal 'order' of recursive includes. (#13374) 2025-03-21 18:19:24 -07:00
Sean McManus bd805090d5 Fix crash call stack filtering. (#13397)
* Fix crash call stack filtering.
* Save regex object. Fix newlines.
2025-03-21 11:56:41 -07:00
Spencer Bloom 56968c5617 Turn Copilot Hover on by default. React immediately to settings changes for copilot hover. Change flight check to new flag to indicate a disabled state. (#13385) 2025-03-20 11:13:56 -07:00
Sean McManus 0681d82936 Fix Copilot snippet logging level. (#13388) 2025-03-19 13:05:23 -07:00
Colen Garoutte-Carson 700432c7eb Fix a regression that prevented settings updates (#13386) 2025-03-18 15:03:07 -07:00
Sean McManus a807d5717b Update changelog and version for 1.24.3. (#13380) 2025-03-18 13:11:56 -07:00
Sean McManus 1c5e46bdc5 Filter crash telemetry data per-line so it's not completely filtered later on (#13379)
* Filter crash telemetry data per-line so it's not completely filtered later on.
2025-03-17 17:13:40 -07:00
Sean McManus e43157f952 Remove --pack_alignment from .json files. (#13378) 2025-03-17 16:51:49 -07:00
Sean McManus 3ffd98fdbe Merge in latest localization changes with fixes applied (#13373) 2025-03-17 12:58:07 -07:00
Colen Garoutte-Carson 3196778f63 Remove updateChannel setting (#13376) 2025-03-17 12:46:57 -07:00
Colen Garoutte-Carson 301f9a6a9d Add a string for browse path not found (#13372) 2025-03-14 13:51:12 -07:00
Sean McManus 4412f2083e Update to clang-tidy 20.1.0. (#13348) 2025-03-13 16:56:50 -07:00
Luca fcda971f1b test framework traits for Chat (#13285)
* add test frameworks traits to VSCode Copilot Chat

* add test framework traits for #cpp

* update prompt

* drop unnecessary `?.`, and use sensible names for test framework in tests.
2025-03-13 07:22:37 -08:00
Sean McManus 669e830649 Set the extensionKind. (#13361) 2025-03-12 14:15:06 -07:00
Bob Brown 53f3a144af Remove some unnecessary files from the vsix (#13368) 2025-03-12 13:36:40 -07:00
Sean McManus 6cc1bd787e Fix loc for link text "C/C++ Properties Schema Reference". (#13359) 2025-03-11 10:19:46 -07:00
Luca 72f68c01f2 match Copilot's CanceledError which has name == message == "Canceled". (#13357) 2025-03-10 11:46:42 -08:00
Bob Brown 3a837ecdea Update github actions package.json for reported vulnerabilities (#13356) 2025-03-10 10:42:34 -07:00
Colen Garoutte-Carson 9afc2954f1 Work around E2E test failure (#13347) 2025-03-06 16:24:26 -08:00
Sean McManus f7e2cafaad Update changelog and version for 1.24.2. (#13344) 2025-03-06 14:59:35 -08:00
Colen Garoutte-Carson 5697dcce61 Let native process populate default browse paths (#13342) 2025-03-06 01:41:06 -08:00
Sean McManus 5ebe93c628 Add crash log handling. (#13253)
* Add crash log handling.
2025-03-05 18:48:31 -08:00
Luca db16246990 telemetry metrics accommodate signed values (#13326) 2025-03-05 11:43:39 -08:00
Bob Brown 8cc85356ae fix type checking (#13334) 2025-03-03 15:23:43 -08:00
Sean McManus db1cfda601 Stop reporting copilotHover "enabled" as invalid. (#13318) 2025-03-03 13:42:46 -08:00
Sean McManus 60c443418e Fix Copilot hover warning in the ExtensionHost logging. (#13316) 2025-03-03 13:10:28 -08:00
Luca 1813c82eb4 -new feat: add traits for C++ lang version (#13296)
-telemetry: fix cancellation events.
-telemetry: more diag event for registration failure.
-add fallback to SimilarFiles providers such as openTabs and/or
related-files
2025-02-28 18:00:28 -08:00
Garrett Serack a2b7383c97 Add instrumentation support to the typescript code (#12991)
* add instrumentation support to the typescript code

* fix linter

* missed file

* update to a newer image?

* merged

* work around webpack

* webpack! Arg!

* cleanup

* cleanups

* remove spaces

* must use eval to work around webpack

* need vscode in here

* fix line endings?

* fix line endings?

* Add comment

* Added instrumentation to copilothoverprovider

* inject instrumentation code via perfecto instead

* Ensure that everything is instrumented where we can.

* extra comma
2025-02-26 14:28:09 -08:00
Sean McManus 388a81c19b Update TPN. (#13309) 2025-02-24 14:52:01 -08:00
Glen Chung 9a9ac3aa51 Remove Compiler Argument Traits (#13278)
* Remove Compiler Argument Traits

- Couldn't find examples of where this actually improved the prompt per ad-hoc analysis.

* Address review comment
2025-02-24 14:35:17 -08:00
Sean McManus 879202e785 Update yarn.lock (octokit/rest) (#13303)
* Update yarn.lock.
* Try switching to node 20.
* Increase action version. 
* Switch octokit to a dynamic import.
2025-02-21 18:40:15 -08:00
Bob Brown c6e635542c The other extensions don't build with yarn (#13304) 2025-02-21 23:11:35 +00:00
Bob Brown 74aa385373 Update code analysis mode in Language Status when the settings change (#13301) 2025-02-21 11:55:55 -08:00
Bob Brown 127166df23 description for svdPath doesn't appear in launch configuration (#13302) 2025-02-21 11:43:15 -08:00
Colen Garoutte-Carson 7fbe9b160a Fix an issue with C: treated as a relative path (#13297) 2025-02-21 11:07:21 -08:00
Bob Brown 907b225b47 Update README and metadata for extension pack (#13298) 2025-02-20 16:05:30 -08:00
Bob Brown a6e06dc921 Update the Windows SDK packages pointed to in the walkthrough (#13295) 2025-02-20 12:57:22 -08:00
Sean McManus 72e28d9b67 Check for more unexpected characters in crash call stack data. (#13281) 2025-02-13 15:44:33 -08:00
Sean McManus 44406cea7c Fix handling of "Could not open input path" when calling c++filt (#13279)
* Fix handling of "Could not open input path" when calling c++filt
2025-02-13 14:33:49 -08:00
Sean McManus 20d1f424a6 Update changelog and version for 1.24.1. (#13276) 2025-02-13 11:37:26 -08:00
Sean McManus 69393c4567 Add a changelog entry. (#13270) 2025-02-10 21:11:46 -08:00
Luca 1518d0ee6f convert the time budget integer to a real number. (#13268)
* convert the time budget integer to a real number.

* update the changes' log
2025-02-10 17:11:43 -08:00
Sean McManus db82927d27 Fix Copilot hover reprompting. (#13266) 2025-02-10 11:26:17 -08:00
Luca 59677cfad7 bump copilot-language-server to v1.266 (#13256) 2025-02-07 15:26:10 -08:00
Sean McManus 53412d70f7 Update TPN. (#13254) 2025-02-07 14:42:29 -08:00
Sean McManus 0f8dd275a1 Update changelog and version for 1.24.0. (#13248)
* Update changelog and version for 1.24.0.
2025-02-06 21:16:05 -08:00
Colen Garoutte-Carson 60e998b590 Don't use 'system' include/framework paths as fallback 'user' include/framework paths in the base config (#13247) 2025-02-06 17:38:10 -08:00
Sean McManus e1d824f6c1 Update changelog for 1.23.6 (#13244)
* Update changelog and version.
2025-02-06 11:21:08 -08:00
Garrett Serack ebce162542 don't abort instantly, keep searching (#13243) 2025-02-06 10:31:49 -08:00
Luca 94758afea0 code snippet provider (#13018)
* add a code snippet provider
2025-02-05 14:26:14 -08:00
Spencer Bloom e5e176b68b Add check for copilot access before providing copilot hover (#13238)
* Add check for copilot access before providing copilot hover
* Don't check flight until we can validate copilot is enabled
2025-02-05 13:01:30 -08:00
Sean McManus 64c00a92f5 Fix Select IntelliSense Configuration regression. (#13224) 2025-02-03 11:57:35 -08:00
Colen Garoutte-Carson 0a64b77ba0 Fix an issue with editorconfig tab_size (#13216) 2025-01-30 11:03:21 -08:00
Garrett SerackandColen Garoutte-Carson c3f8d0c2cd Remove cpptools1 experiment flag from Symbol Search (#13199)
* remove cpptools1 experiment flag

* Missed a couple things

---------

Co-authored-by: Colen Garoutte-Carson <[email protected]>
2025-01-29 07:25:32 -08:00
Colen Garoutte-Carson e3bb8a778d Fix a potential race between didChange and didOpen (#13209) 2025-01-28 15:41:43 -08:00
Sean McManus 99864b0fd7 Update changelog and version for 1.23.5. (#13208)
* Update changelog and version for 1.23.5.
2025-01-28 11:53:05 -08:00
Sean McManus 77f30faf00 Fix an undefined access when an edit is done before cpptools starts (#13206)
* Fix an undefined access.
2025-01-27 20:02:08 -08:00
Sean McManus 3614cab5ac Fix Call Hierarchy Calls From. (#13201) 2025-01-27 12:18:58 -08:00
Colen Garoutte-Carson d7f5c28c85 Fix label casing in action workflows, and add 'help wanted' to addLabels in two debugger workflows (#13192) 2025-01-24 15:16:55 -08:00
dependabot[bot] cdf1e6b4f2 Bump undici from 5.28.4 to 5.28.5 in /.github/actions (#13180)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 18:51:52 -08:00
Sean McManus 1aa24fe51f Add a changelog entry. (#13177) 2025-01-21 16:29:29 -08:00
[email protected] 1b82daf079 [Auto] Localization - Translated Strings (#13027) 2025-01-21 16:08:54 -08:00
Colen Garoutte-Carson 33a205bf19 Fix issue with config requests before provider has registered (#13167) 2025-01-17 19:05:56 -08:00
Sean McManus ce0435b55a Update changelog for 1.23.4 (3rd time) (#13164)
* Update changelog (3rd time).
* Minor TPN changes.
2025-01-17 18:11:16 -08:00
Spencer Bloom 5d32121787 Support Content Exclusion for Copilot Hover (#13143)
* Use propsed content exclusion APIs
2025-01-16 12:13:41 -08:00
Sean McManus 9e96d6383c Update changelog (2nd time). (#13159) 2025-01-16 10:31:22 -08:00
Sean McManus 31969c8df2 Stop sending err.message in telemetry (#13158)
* Stop sending err.message.
2025-01-16 07:36:51 -08:00
Glen Chung e4091ab3b5 Combine ProjectContext and RelatedFilesProvider Telemetry in One Event (#13157)
- This allows calculating the time spent on the extension side vs the language server side.
- Also send filter telemetry if available.
2025-01-15 17:35:10 -08:00
Sean McManus c4d9f11386 Update changelog and version for 1.23.4. (#13155)
* Update changelog and version for 1.23.4.
2025-01-15 15:30:36 -08:00
Sean McManus 6f9ddbf52a Fix casing of Windows. (#13149) 2025-01-14 10:39:45 -08:00
Colen Garoutte-Carson fed7a82d36 Fix .editorConfig setting precedence (#13140) 2025-01-10 15:48:14 -08:00
Sean McManus 941aa608f4 Minor TPN updates. (#13135) 2025-01-08 12:41:29 -08:00
Sean McManus 205ae065f5 Update changelog and version for 1.23.3. (#13127)
* Update changelog and version for 1.23.3.
2025-01-08 12:30:39 -08:00
Glen Chung 8e5bbf1320 Support C89 in Completion Prompts (#13132)
- Also send unrecognized ones in telementry for further ananlysis.
2025-01-08 10:24:58 -08:00
Colen Garoutte-Carson 200f0934bf Add 3rd party notice for libiconv (#13056) 2025-01-07 14:25:10 -08:00
Sean McManus 4c6f319304 Update IntelliSense loc strings. (#13098) 2025-01-03 12:19:00 -08:00
Sean McManus 6e3e0748e0 Update msvc versions. (#13097) 2025-01-02 16:17:18 -08:00
Sean McManus d70d063698 Fix other developer command prompt cases, and "developer" and "code" … (#13093)
* Fix other developer command prompt cases, and "developer" and "code" references.
2025-01-02 11:55:02 -08:00
Sean McManus fa0e1c0376 Fix cl.exe.not.available loc. (#13091)
* Fix cl.exe.not.available loc.
* Disabling eslint indent linting.
2024-12-31 14:20:42 -08:00
Sean McManus d2626e0ad8 Re-enable the SingleRootProject tests with check-in tests and fix the getIncludes test failure (#13084)
* Fix getIncludes call with E2E test.
* Add a --skipCheckBinaries arg.
2024-12-30 17:09:43 -08:00
browntarik 42c6d99012 Updated Description for Preferred Path Separator Setting and Refactor Its Usage (#13082)
* Updated description for preferred path separator setting.

* Change wording.

* Refactor configuration quickpick to correctly reflect preferred path separator.
2024-12-30 16:37:34 -08:00
Yiftah Waisman 2bff033a27 Handle multiple compile commands on client side (needs native server side support) (#12960) 2024-12-30 10:31:13 -08:00
Ben McMorran 0aaae1fabf Support sending telemetry during cpptools initialization (#13077) 2024-12-20 12:24:15 -08:00
Colen Garoutte-Carson a172a425ad Ensure default persistent values get persisted (#13074) 2024-12-19 15:55:42 -08:00
Colen Garoutte-Carson 5c684a87d0 Don't reset everyones databases (#13073) 2024-12-19 15:19:29 -08:00
Ben McMorran b96d82a1a7 Add appName telemetry (#13072) 2024-12-19 15:07:54 -08:00
Bob Brown 73f4442d27 Update the descriptions of clang path settings (#13071) 2024-12-19 12:18:04 -08:00
dependabot[bot] b11f390d4a Bump nanoid from 3.3.7 to 3.3.8 in /Extension (#13060)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...
2024-12-18 13:34:05 -08:00
Bob Brown 84b92dcae5 Don't show the output window for "references may be missing" when the loggingLevel is less than Warning (#13068) 2024-12-18 12:14:19 -08:00
Luca afb208dabb get isense client by uri (#13059) 2024-12-17 14:30:51 -08:00
Colen Garoutte-Carson fbf81359df Trigger reparsing when files.encoding setting changes (#13047) 2024-12-16 14:46:09 -08:00
Emmanuel Ferdman d7ee24158f Update extension.test.ts reference (#13040) 2024-12-13 18:25:29 -08:00
Sean McManus ab7bebfd7c Fix space around binary operator translation. (#13057)
* Fix space around binary operator translation.
2024-12-13 17:41:18 -08:00
Sean McManus cd5aaaa489 Fix native strings. (#13046) 2024-12-12 10:27:21 -08:00
Yiftah Waisman d04d53e9a6 Detect compile_commands.json after containing folder deleted and recreated on Windows (#13032)
* fix issue #7030
* check for the undefined case (on first load)
2024-12-11 15:35:00 -08:00
Spencer BloomandBen McMorran fa80d4477e Support for copilot-generated summaries in quick info. (On-the-fly docs) (#12552)
Off by default, can be explicitly disabled in the setting.

Co-authored-by: Ben McMorran <[email protected]>

---------

Co-authored-by: Ben McMorran <[email protected]>
2024-12-09 10:15:52 -08:00
Colen Garoutte-Carson ee71e1f82c Update changelog for 1.23.2 (2nd time) (#13024) 2024-12-05 12:39:02 -08:00
[email protected] 05d43dc2f7 [Auto] Localization - Translated Strings (#12869) 2024-12-05 12:09:39 -08:00
Colen Garoutte-Carson 44b736e84a Update changelog for 1.23.2 (#13020) 2024-12-04 18:55:51 -08:00
Sean McManus 052bcffe37 Fix an unnecessary cancel/re-request with GitHub Copilot requests (and fix some other bugs with Copilot exception handling) (#12988)
* Fix an unnecessary cancel/re-request with GitHub Copilot requests.
* A couple bug fixes from the previous PR.
* Fix another loc case.
2024-12-04 15:01:24 -08:00
Colen Garoutte-Carson 74d691f431 Update mac runner to macos-14 (#13013) 2024-12-03 15:21:03 -08:00
adrianstephens 9efde543c5 pass optional parameter to C_Cpp.ConfigurationSelect (#12993) 2024-12-02 19:19:52 -08:00
Glen Chung a6089eaa6c Support A/B Compiler Arguments Traits (#12979)
- Depends on cpptools' update to provide ProjectContextResult.
- Send "standardVersion" trait in completion prompt by default.
- Added the following new traits
  - intelliSenseDisclaimer: compiler information disclaimer.
  - intelliSenseDisclaimerBeginning: to note the beginning of IntelliSense information.
  - compilerArguments: a list of compiler command arguments that could affect Copilot generating completions.
  - directAsks: direct asking Copilot to do something instead of providing an argument.
  - intelliSenseDisclaimerEnd: to note the end of IntelliSense information.
- A/B Experimental flags
  - copilotcppTraits: deprecated, no longer used.
  - copilotcppExcludeTraits:: deprecated, no longer used.
  - copilotcppIncludeTraits: string array to include individual trait, i.e., compilerArguments.
  - copilotcppMsvcCompilerArgumentFilter: map of regex string to absence prompt for MSVC.
  - copilotcppClangCompilerArgumentFilter: map of regex string to absence prompt for Clang.
  - copilotcppGccCompilerArgumentFilter: map of regex string to absence prompt for GCC.
  - copilotcppCompilerArgumentDirectAskMap: map of argument to prompt.
2024-12-02 14:38:50 -08:00
Colen Garoutte-Carson 21a44d9be6 Add a string for multiple compile_commands.json (on native side) (#12964) 2024-12-02 12:31:42 -08:00
Bob Brown bfa3c7544e Add a CODEOWNERS file for required PR reviews (#12987) 2024-11-21 13:02:20 -08:00
dependabot[bot] 64e9106cb3 Bump cross-spawn from 7.0.3 to 7.0.6 in /Extension (#12973)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 10:46:12 -08:00
Colen Garoutte-Carson 05fbc0eae7 Fix matching of editorConfig sections patterns (#12953) 2024-11-12 18:44:32 -08:00
Colen Garoutte-Carson 9646722501 Address issue with Attempting to use languageClient before initialized (#12959) 2024-11-12 16:25:04 -08:00
Yiftah Waisman 911c39d054 Fixes to compile commands file watchers fallback logic (#12948)
* close file watchers before clearing the array
* keep track of fallback time per file
2024-11-12 16:02:42 -08:00
Sean McManus c9cae0b8c0 Update changelog. (#12938) 2024-11-06 12:43:56 -08:00
Sean McManus 1b21b69422 Update changelog for 1.23.1 (#12931)
* Update changelog for 1.23.1
2024-11-05 17:15:09 -08:00
Colen Garoutte-Carson 390046ccf4 Fix processing of bools and numbers in editorConfig files (#12923) 2024-11-04 18:08:15 -08:00
Ben McMorran fcd0b0c25f Add telemetry for #cpp failures (#12910) 2024-10-30 17:02:51 -07:00
LucaandBen McMorran dc8140199b Ensure only wel known values are passed in to the LLM #2293227 (#12907)
Co-authored-by: Ben McMorran <[email protected]>
2024-10-30 14:32:31 -08:00
Bob Brown 1462b0dacb Normalize messages for bad paths (#12904) 2024-10-30 10:54:22 -07:00
Colen Garoutte-Carson e45dbcec9b Fix issue with requests in protocolFilter.ts causing stalls (#12906) 2024-10-29 18:46:13 -07:00
Sean McManus f51404d9db Switch to @vscode/dts. (#12901) 2024-10-29 17:57:47 -07:00
Sean McManus d56740e498 Update changelog (2nd time). (#12899)
* Update changelog (2nd time).
2024-10-29 12:40:07 -07:00
Ben McMorran 4138750b3b Enable #cpp for all users (#12898)
* Enable #cpp for all users

* Address PR comments
2024-10-29 12:05:17 -07:00
Sean McManus 8cb1deff76 Update changelog for 1.23.0 (#12880)
* Update changelog for 1.23.0.
2024-10-24 13:58:32 -07:00
Bob Brown 5416e79622 Values set in settings are not immediately available for use (#12881) 2024-10-24 13:42:43 -07:00
Colen Garoutte-Carson e58e96369f Prevent redundant progressive squiggle updates (#12876) 2024-10-22 15:31:38 -07:00
Ben McMorran 1f7f2f77ad Switch to stable lmTools API (#12874)
* Revert "Check-in lmTools API to avoid build breaks (#12872)"

This reverts commit a248d107da.

* Switch to stable lmTools API
2024-10-22 09:08:31 -07:00
Ben McMorran a248d107da Check-in lmTools API to avoid build breaks (#12872) 2024-10-21 15:20:07 -07:00
Ben McMorran ddb7a5502d Fix E2E tests (#12871) 2024-10-21 14:02:25 -07:00
Colen Garoutte-Carson a61c55ca8c Update changelog for 1.22.10 (#12852) 2024-10-21 12:45:35 -07:00
Ben McMorran ad12ca63b0 React to lmTools API breaking changes (#12866) 2024-10-21 08:47:53 -07:00
[email protected] 456af8c7af [Auto] Localization - Translated Strings (#12469) 2024-10-18 11:55:23 -07:00
Colen Garoutte-Carson 4ed9e22ef2 Update edge strings for FI (#12847) 2024-10-18 11:19:06 -07:00
Colen Garoutte-Carson 401f91f3ab Ensure updates to openFileVersion data is not delayed (#12851) 2024-10-18 11:00:46 -07:00
Ben McMorran 9df3a17b11 Always use related files API for Copilot completions (#12848) 2024-10-17 15:05:33 -07:00
Sean McManus 038a5ee5e7 Update for clang-tidy 19. (#12834) 2024-10-16 15:34:25 -07:00
Ben McMorran a4998ed84a React to breaking changes in lmTools API (#12838) 2024-10-14 18:59:51 +00:00
Glen Chung 05c9176fb8 Add Cpp Context Traits to Completions Prompt (#12821)
- Move related files code to its own module
- Refactor related files provider code to enable unit testing
- Add Cpp context traits to completions prompt
2024-10-14 11:46:00 -07:00
Bob Brown f09715ff6b Add packages for copilot folks (#12822) 2024-10-10 11:56:26 -07:00
Sean McManus c1de7373e6 Update changelog for 1.22.9. (#12823)
* Update changelog for 1.22.9.
2024-10-09 14:31:01 -07:00
Colen Garoutte-Carson 292d84f55a Update changelog for 1.22.8 (insiders) (#12816) 2024-10-07 17:59:23 -07:00
Bob Brown c2badddf6f clang-format/tidy version comparisons fail for some builds (#12813) 2024-10-07 13:54:49 -07:00
Sean McManus 3324ea8c86 Update changelog for 1.22.8. (#12802)
* Update changelog for 1.22.8.
2024-10-04 14:10:16 -07:00
Luca 34f0dd673c filter out C++ headers outside the current opened folder. (#12803) 2024-10-04 09:53:37 -08:00
Ben McMorran 23c9fb5a9f Fix break in lmTools API (#12801) 2024-10-03 11:10:17 -07:00
Ben McMorran 4b2dac32aa React to breaking changes in Copilot API (#12797) 2024-10-02 18:52:43 -07:00
Colen Garoutte-Carson 0364ab04ce Fix issue with Rename UI lingering after cancellation (#12796) 2024-10-01 17:24:27 -07:00
Sean McManus 911c04b96c Update changelog for 1.22.7. (#12790)
* Update changelog for 1.22.7.
2024-09-30 16:07:05 -07:00
Sean McManus 4c0a9ea3be Update TPN. (#12789) 2024-09-30 16:03:36 -07:00
Ben McMorranandSean McManus a5a748166b Add cancellation token to react to Copilot API changes (#12773)
* Add cancellation token to react to Copilot API changes

* Check for known LSP error code

---------

Co-authored-by: Sean McManus <[email protected]>
2024-09-30 14:56:20 -07:00
Bob Brown 1ec1c9bb94 Use the Microsoft CFS registry instead of npm's registry directly (#12787) 2024-09-30 12:46:12 -07:00
Sean McManus b70f1562c1 Adding vsix signing. (#12758) 2024-09-26 17:14:01 -07:00
Colen Garoutte-Carson c65b11bfb5 Fix an issue preventing use of a full command line in compilerPath (#12774) 2024-09-26 16:40:07 -07:00
Colen Garoutte-Carson 24314254db Update changelog for 1.22.6 (#12769) 2024-09-25 15:39:41 -07:00
Ben McMorran 5c588fba0c Remove parametersSchema for #cpp (#12768) 2024-09-25 15:04:48 -07:00
Sean McManus 1e89750b0b 1.22.5 changelog (#12762)
* Update changelog for 1.22.5.
2024-09-24 16:45:58 -07:00
Sean McManus 4079b1e516 Fix Cg build. (#12759)
* Fix Cg build.
2024-09-23 19:49:52 -07:00
Sean McManus cc653f8685 Fix .js signing (#12757)
* Fix .js signing.
2024-09-23 18:55:38 -07:00
Ben McMorran b92dbb40c1 Update lmTools API (#12755) 2024-09-23 11:35:08 -07:00
Sean McManus 1f83dd7715 Add signing for .js files (#12749)
* Sign .js files.
2024-09-20 17:05:37 -07:00
Ben McMorran 8d7668ea88 Check related files API flag when IntelliSense is disabled (#12743) 2024-09-19 20:58:36 -07:00
Colen Garoutte-Carson 478765f1fc Update changelog for 1.22.4 (again) (#12741) 2024-09-19 16:08:15 -07:00
Colen Garoutte-Carson 1f263c50b7 Work around issue with clang 18 and size_t (#12739) 2024-09-19 15:29:14 -07:00
Colen Garoutte-Carson 0efda4b1c2 Update changelog for 1.22.4 (again) (#12737) 2024-09-19 14:53:51 -07:00
Ben McMorran ca12b97c37 Migrate to Copilot related files API (#12735) 2024-09-19 14:49:03 -07:00
Colen Garoutte-Carson e4ae0b7fdf Update version and changelog for 1.22.4 (#12733) 2024-09-18 13:50:29 -07:00
Colen Garoutte-Carson 458ef304e8 Rework custom config requests (#12727) 2024-09-18 11:35:00 -07:00
Sean McManus 970f95bfea Update IntelliSense loc strings. (#12726) 2024-09-18 03:18:14 -07:00
Sean McManus cd4ef2329f Update changelog. (#12710) 2024-09-13 11:38:42 -07:00
Sean McManus ccc07f5adb Enable log diagnostics without a C/C++ file active. (#12701) 2024-09-13 11:33:44 -07:00
Sean McManus 50e0f8685a Show the reload window message when caseSensitiveFileSupport is changed. (#12700)
* Show the reload window message when caseSensitiveFileSupport is changed.
2024-09-13 11:22:51 -07:00
Colen Garoutte-Carson fc5a084781 Update changelog and version for 1.22.3 (#12703) 2024-09-12 11:50:17 -07:00
Ben McMorran 44671aa6b7 Update checkDTS() to be aware of lmTools (#12696) 2024-09-09 13:34:54 -07:00
Luca 731cccd8e3 Add C++ configuration as a language model tool (luca) (#12685) 2024-09-06 14:53:26 -07:00
Sean McManus 8718b9686b Fix extract to function formatting. (#12679) 2024-09-05 18:20:46 -07:00
Bob Brown 8111083f6a remove old loc files for TS files that don't exist anymore (#12686) 2024-09-05 12:21:57 -07:00
Bob Brown 7006e18ea4 The compiler path selection control is not in sync with the textbox (#12678) 2024-09-04 13:06:23 -07:00
Bob Brown f077665994 delete configuration properties when empty (#12670) 2024-09-04 10:34:48 -07:00
Bob Brown 93a20bc2de Update link to glob info (#12671) 2024-08-30 17:03:51 -07:00
Sean McManus 86b698b503 Update changelog and version for 1.22.2. (#12657) 2024-08-29 19:04:49 -07:00
browntarik b7f76c507c Remove intellisenseEngineFallback description (#12655)
* Remove intellisenseEngineFallback description.
* Remove references to includeFallback.
2024-08-29 18:46:25 -07:00
browntarik fcdccd4dff Remove usage of intellisenseEngineFallback setting. (#12600) 2024-08-29 13:54:15 -07:00
Sean McManus f222a97849 Update changelog for 1.22.1 (#12646)
* Update changelog for 1.22.1
2024-08-29 13:32:47 -07:00
Bob Brown 1f426edd13 Address a component governance report on webpack (#12649) 2024-08-28 10:53:10 -07:00
Bob Brown 994e7b9201 Log the values of editor settings that we track (#12635) 2024-08-27 17:04:01 -07:00
Sean McManus 3dc7067c30 Update changelog (2nd time) (#12631) 2024-08-26 13:39:38 -07:00
Stanislav 49d987d747 Fix show a list local processes, if remote connection failed (useExtendedRemote) (#12623)
* Fix show a list local processes, if remote connection failed (useExtendedRemote)
2024-08-26 12:22:24 -07:00
dependabot[bot] c81120e7c4 Bump micromatch from 4.0.7 to 4.0.8 in /Extension (#12630)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 12:14:52 -07:00
Bob Brown e5ce40bfe1 Log the modified extension settings as part of Log Diagnostics (#12621) 2024-08-26 12:02:03 -07:00
Sean McManus d3cd4fcfd7 Fix vcFormat not working and other case comparison bugs. (#12620) 2024-08-23 11:15:42 -07:00
Colen Garoutte-Carson d8a6a98f4b Switch from LSP hover to HoverProvider (#12612) 2024-08-22 19:26:37 -07:00
Colen Garoutte-Carson 326f7d93b9 Spread out schedules of github actions to avoid 'rate limit' errors (#12616) 2024-08-22 18:10:15 -07:00
Colen Garoutte-Carson fbfddd2158 Prevent AddComment action from adding redundant comments (#12611) 2024-08-21 14:32:58 -07:00
Sean McManus d7bfae6ed1 Update changelog/version for 1.22.0 (#12602)
* Update changelog and version for 1.22.0.
2024-08-21 13:24:07 -07:00
Sean McManus 66b934c6df Update TPN for 1.22.0. (#12601) 2024-08-21 11:44:04 -07:00
Colen Garoutte-Carson 7dcd5a48c0 Remove use of editorconfig module to avoid dependency on one-ini wasm file. (#12579) 2024-08-20 14:38:19 -07:00
Colen Garoutte-Carson a0f863c560 Fix LSP cancellation (#12592) 2024-08-20 14:25:37 -07:00
Garrett SerackandColen Garoutte-Carson 818f7c6899 Update scripts use of spawnSync to work with newer versions of nodejs (#12503)
Co-authored-by: Colen Garoutte-Carson <[email protected]>
2024-08-20 14:10:48 -07:00
Colen Garoutte-Carson cb50bb1b34 Fix addComment action (#12599) 2024-08-20 14:05:45 -07:00
Colen Garoutte-Carson 632454923c Add AddComment GitHub action, and workflows for tagging new debugger issues (#12496) 2024-08-20 13:25:14 -07:00
Bob Brown 06ed83878c Release pipelines for themes and extension pack (#12589) 2024-08-19 16:38:58 -07:00
Sean McManus 4a7fe28adc Update msvc versions for 17.11 (#12583)
* Update msvc versions for 17.11
2024-08-18 06:40:30 -07:00
Sean McManus 0ffdc003fa Fix "Replacement of a substring with itself" warning. (#12546) 2024-08-15 19:18:41 -07:00
browntarik d2bd3e035c Refactor compilerPath logic to reflect settings validation changes (#12556)
* Remove unnesseacary null check and set compilerPathIsExplicit when defaultCompilerPath is null

* Remove unneccessary else statement.

* Refactor changes

* Propogate null usage to reflect null typing for compilerPath.

* Remove normalization of null to undefined.

* Fix linting

* Add null to resolvedCompilerPath

* Update cpp_properties schema
2024-08-15 12:29:06 -07:00
Colen Garoutte-Carson d4c46c725d Update OneLocBuild pipeline (#12573) 2024-08-15 11:59:28 -07:00
Sean McManus 631c522737 Remove debug and ms from TPN (not actually distributed). (#12566) 2024-08-14 18:23:31 -07:00
Sean McManus 571f2d57ef Update axios to 1.7.4. (#12564) 2024-08-13 14:04:56 -07:00
Sean McManus 5cec9b93b8 Fix 5 high severity vulnerabilities in .github/actions. (#12562) 2024-08-13 12:17:20 -07:00
Sean McManus da2fcbc88c Fix vsce with cg.yml (#12561)
* Fix vsce via upgrading to node.js 18.
2024-08-12 14:20:27 -07:00
browntarik 3cf9a99864 Add Validation for VS Code Settings (#12454) 2024-08-09 12:18:44 -07:00
Sean McManus 99af8d886e Update changelog and version for 1.21.6 (#12539) 2024-08-05 10:38:27 -07:00
Sean McManus b768a5440a Update for 1.21.5. (#12530) 2024-07-30 22:09:47 -07:00
Sean McManus 570862bf64 Update TPN for 1.21.4 (#12518) 2024-07-25 15:17:27 -07:00
Sean McManus 4e09135edc Go back to supporting VS Code 1.67.0 instead of 1.82.0. (#12515) 2024-07-25 14:37:18 -07:00
Sean McManus 15c6bdd613 Update changelog and version for 1.21.3. (#12499) 2024-07-23 19:30:20 -07:00
Bob Brown 7078f4b0bd Enable codeQL for TypeScript (#12490) 2024-07-19 11:30:20 -07:00
Sean McManus 626bb6e388 Change cpp editor.stickyScroll.defaultModel. (#12486) 2024-07-18 18:05:31 -07:00
Sean McManus 01829f8b81 Update 1.21.2 changelog in main. (#12485)
* Update 1.21.2 changelog in main.
* Update version
2024-07-18 21:46:31 +00:00
Colen Garoutte-Carson 9f2e50b2ef Update edge strings for FI (#12487) 2024-07-17 18:25:57 -07:00
Bob Brown 6fc05290e6 Strip quotes from debug configurations and fix an issue with quotes in paths (#12471) 2024-07-12 11:46:08 -07:00
Ben McMorran c976dba2dd Don't show warning notification when C_Cpp.getIncludes is disabled (#12470) 2024-07-12 10:53:28 -07:00
Sean McManus d5077a2575 Update changelog and version for 1.21.1. (#12449)
* Update changelog and version for 1.21.1.
2024-07-11 18:50:25 -07:00
[email protected] 3d01238ef9 [Auto] Localization - Translated Strings (#12279) 2024-07-11 17:56:25 -07:00
Sean McManus 0f7faae67f Fix multiple cpptools processes running with a multiroot workspace. (#12461) 2024-07-11 15:14:02 -07:00
Sean McManus 36dd0b874b Check extensions.ignoreRecommendations before doing insiders prompting. (#12447) 2024-07-09 17:27:30 -07:00
Colen Garoutte-Carson 14bd2e7f8e Update VCPkgHeadersDatabase.zip (#12430) 2024-07-02 18:32:09 -07:00
Colen Garoutte-Carson 9d321ce412 Fix an issue with missing custom configurations (#12427) 2024-07-01 14:34:21 -07:00
Colen Garoutte-Carson 7a1785d783 Update edge strings for FI (#12395) 2024-06-28 10:58:16 -07:00
browntarik b5057a1d02 Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database (#12416)
* Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database.

* remove debugging log

* Fix lint issue

* Revert regex

* Refactor line trimming

* Fix lint issues

* Remove old comment
2024-06-26 17:18:00 -07:00
browntarik 2d22b1493c Add @see and @sa Doxygen Tags with the "See Also:" label. (#12415)
* Add sa and see doxygen tags with the "See Also" label.

* remove redundant label

* Fix "See also" label
2024-06-26 15:08:02 -07:00
Sean McManus 3933174c29 Fix the tag parser busy indicator while initializing. (#12404) 2024-06-24 10:19:58 -07:00
Sean McManus 0061da69af Fix crash from loc message mismatch. (#12388) 2024-06-17 14:29:25 -07:00
Sean McManus fced3fbd17 Update changelog date. (#12385) 2024-06-17 11:00:01 -07:00
Sean McManus 15c96e28da Updates for 1.21.0 (#12370)
* Updates for 1.21.0
2024-06-13 14:43:27 -07:00
Bob Brown 2327499cdb one-ini-bg.wasm is missing from the webpacked extension (#12369) 2024-06-13 12:10:48 -07:00
Bob Brown 9061b79f2b Update to the latest telemetry API (#12367) 2024-06-12 16:43:27 -07:00
Sean McManus cf35bbcd0e Revert back to glob 7 due to test failures (and update .github/actions dependencies) (#12365)
* Revert back to glob 7 due to test failures.
* Fix npm audit issues with .github/actions
2024-06-12 10:20:04 -07:00
Bob Brown a096f06683 Update top level documents for compliance (#12343) 2024-06-11 09:12:51 -07:00
Sean McManus 1cfd34ca23 Update dependencies, glob, and IntelliSense loc strings (#12317)
* Update dependencies
* Update TPN.
* Update glob.
* Update EDG loc strings.
2024-06-07 17:41:19 -07:00
Luca 923ecfa1cd make debugging easier to inspect local var value (#12358) 2024-06-07 15:28:22 -07:00
Sean McManus db61a690be Fixes/improvements to crash call stacks. (#12355)
* Fixes/improvements to crash call stacks.
2024-06-06 14:57:57 -07:00
Sean McManus 9a5f24fafb Update dependencies. (#12351) 2024-06-05 18:51:29 -07:00
[email protected] cf2ea08800 [Auto] Localization - Translated Strings (#12236) 2024-05-03 15:33:13 -07:00
Sean McManus 3182eed2ac Update version and changelog for 1.20.5 (#12264)
* Update version and changelog for 1.20.5
2024-05-03 14:44:48 -07:00
Sean McManus 054e826e2c Fix macOS version check. (#12276) 2024-05-03 13:13:46 -07:00
Sean McManus b3af47fd03 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:12:01 -07:00
Bob Brown fbea8eb211 Update CHANGELOG.md (#12271) 2024-05-01 14:16:34 -07:00
Sean McManus 79c4412287 Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:08:27 -07:00
Bob Brown 7c24091cc8 enable TSA and policheck (#12258) 2024-04-26 11:13:17 -07:00
Sean McManus efa93d8b59 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-25 16:38:21 -07:00
Sean McManus a1baeac6f7 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:54:05 -07:00
Bob Brown 3b68eab6ca rename the property again (#12233)
* rename the property again

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

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 14:11:41 -07:00
Colen Garoutte-Carson aacc06ed27 Fix issue with not yet localized edge strings (#12232) 2024-04-19 13:50:22 -07:00
[email protected] 1ae5303cf0 [Auto] Localization - Translated Strings (#11999) 2024-04-19 13:48:48 -07:00
Sean McManus 7baeb52329 Handle multiple cpptools-srv crashes. (#12225) 2024-04-18 18:28:00 -07:00
Colen Garoutte-Carson 0e5ee3a4d4 Update edge loc strings for FI (#12217) 2024-04-18 15:53:11 -07:00
Sean McManus 21ef2e36d6 Fix SettingsTracking treating numerical loggingLevel as invalid. (#12216)
* Fix SettingsTracking treating numerical loggingLevel as invalid.
* Fix numeric loggingLevels.
* Return -1 numerical value on invalid levels.
2024-04-18 12:44:22 -07:00
Sean McManus b955eeb013 Update version and changelog for 1.20.2 (#12208) 2024-04-16 17:31:16 -07:00
Sean McManus 3e6b99925b Crash handler update (#12190)
* Minor update to watchForCrashes.
* Add preinitialize message.
2024-04-16 15:36:28 -07:00
Bob Brown f06f689488 rename telemetry property (#12202) 2024-04-15 17:05:48 -07:00
Bob Brown fec0d8854e Log more info with the configuration provider telemetry (#12193) 2024-04-13 09:01:53 -07:00
Bob Brown 4650cfeeb9 Update CHANGELOG.md (#12186) 2024-04-09 14:43:42 -07:00
Sean McManus 35cda7ebb0 Update changelog for 1.20.1 (#12182)
* Update changelog for 1.20.1
2024-04-09 13:09:25 -07:00
Sean McManus 92a0494796 Update for libexecinfo crash handler change. (#12158)
* Update for libexecinfo crash handler change.
* Update ThirdPartyNotices.txt
2024-04-08 16:13:36 -07:00
Bob Brown d2bd18acf1 don't strip underscores when demangling (#12159) 2024-04-01 14:04:46 -07:00
Bob Brown f3cbf1237d clean up the pipeline runs (#12151) 2024-03-27 17:32:41 -07:00
Bob Brown 76509d6a0c Component Governance pipeline for vscode-cpptools (#12148) 2024-03-27 14:07:28 -07:00
Sean McManus 32ead756bb Update changelog and version for 1.20.0. 2024-03-25 16:17:37 -07:00
Colen Garoutte-Carson 976a1ba8e8 Update to clang-tidy 18.1.2 (#12135) 2024-03-22 18:14:30 -07:00
Garrett Serack 1c4292d8f5 remove unnecessary null (#12133) 2024-03-22 11:22:26 -07:00
Garrett Serack 1ab766bc5c Add setting to support max search results (#12131) 2024-03-21 11:17:24 -07:00
Colen Garoutte-Carson 127588ba57 Update changelog for 1.19.9 again (#12122) 2024-03-19 16:15:31 -07:00
Colen Garoutte-Carson ccd80fedb1 Update changelog 1.19.9 (#12117) 2024-03-18 13:21:27 -07:00
dependabot[bot]andSean McManus 1fc8731c2b Bump follow-redirects from 1.15.5 to 1.15.6 in /Extension (#12112)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  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]>
2024-03-18 12:31:43 -07:00
dependabot[bot]andSean McManus b6deaf9fa0 Bump follow-redirects from 1.15.4 to 1.15.6 in /.github/actions (#12111)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  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]>
2024-03-18 12:24:09 -07:00
browntarik a6eff82854 Add internal formatting support for Copy Declaration/Definition (#12055)
* Add text formatting for CopyDD

* fix lint issues

* Plumb up editor settings msg

* add vcFormat param

* Add formatParams to CDD + rollback changes

* fix lint issue

* update defaults

* Reafctor formatParams correctly for vcFormat and .editor_config

* populate editorConfigSettings

* minor fix

* minor fix
2024-03-18 11:08:11 -07:00
Luca 751fd74113 Add a command to fetch the includes graph for a TU (#12085) 2024-03-14 16:54:37 -07:00
Colen Garoutte-Carson 3dfa607685 Revert "Address multiple-init scenario"
This reverts commit b2c06a57c9.
2024-03-14 12:55:19 -07:00
Colen Garoutte-Carson b2c06a57c9 Address multiple-init scenario 2024-03-14 12:54:14 -07:00
Colen Garoutte-Carson a97a334eb0 Update changelog for 1.19.8 again (#12099) 2024-03-13 17:11:41 -07:00
browntarik 3d8180141f Eliminate squiggle from all glob configurations (#12072)
* Fix glob coverage

* resolve and split paths before validation

* expand glob patterns and do not expand incorrect paths

* Do not squiggle paths that need to be expanded

* revert change

* squiggle paths that end with *

* Do not squiggle paths that end with *

* properly squiggle glob paths with recursive includes

* correctly report squiggles with glob paths

* move check for asterisk to outer check

* fix lint issues
2024-03-13 17:13:31 +00:00
Colen Garoutte-Carson 74ab0e7ba5 Update changelog for 1.19.8 (#12092) 2024-03-12 19:10:13 -07:00
Sean McManus 8dfeccd935 Fix Add Configuration with snippets disabled. (#12080) 2024-03-11 16:45:35 -07:00
Bob Brown c144fe2408 Prevent the status bar from updating too quickly (#12088) 2024-03-11 13:29:52 -07:00
Colen Garoutte-Carson 3bbc6716ad Update changelog again for 1.19.7 (#12086) 2024-03-08 15:00:40 -08:00
Colen Garoutte-Carson 75ed1b5ec3 Update changelog for 1.19.7 (#12081) 2024-03-08 10:29:55 -08:00
browntarik 699b3d52c5 Resolve userHome variable in c_cpp_properties.json (#12071)
* Add userHome envrionment variable

* Resolve userHome to os.homedir

* revert change

* fix lint issues

* Rework resolving variables + minor change

* Minor fixes
2024-03-07 10:59:30 -08:00
Colen Garoutte-Carson ae8c4aca58 Update edge json files for FI (#12074) 2024-03-06 19:47:10 -08:00
Colen Garoutte-Carson 79d0c06951 Update edge loc strings (#12073) 2024-03-06 18:58:33 -08:00
Colen Garoutte-Carson a877c6f1ae Fix forced include resolution (#12035) 2024-03-06 14:15:22 -08:00
Colen Garoutte-Carson 6ccc588d69 Merge branch 'release' into main 2024-03-05 17:13:14 -08:00
Colen Garoutte-Carson 81071ba4f5 Update changelog for 1.19.6 (#12064) 2024-03-05 17:12:32 -08:00
1012 changed files with 84771 additions and 62578 deletions
+7
View File
@@ -0,0 +1,7 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
# 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
+86
View File
@@ -0,0 +1,86 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddComment = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class AddComment extends ActionBase_1.ActionBase {
constructor(github, createdAfter, afterDays, labels, addComment, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.createdAfter = createdAfter;
this.afterDays = afterDays;
this.addComment = addComment;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = this.afterDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.afterDays) : undefined;
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
"is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
// Don't add a comment if already commented on by an action.
let foundActionComment = false;
for await (const commentBatch of issue.getComments()) {
for (const comment of commentBatch) {
if (comment.author.isGitHubApp) {
foundActionComment = true;
break;
}
}
if (foundActionComment)
break;
}
if (foundActionComment) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
continue;
}
if (this.addComment) {
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.addComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Processing issue ${hydrated.number}.`);
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.AddComment = AddComment;
//# sourceMappingURL=AddComment.js.map
+98
View File
@@ -0,0 +1,98 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub } from '../api/api';
import { ActionBase } from '../common/ActionBase';
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../common/utils';
export class AddComment extends ActionBase {
constructor(
private github: GitHub,
private createdAfter: string | undefined,
private afterDays: number,
labels: string,
private addComment: string,
private addLabels?: string,
private removeLabels?: string,
private setMilestoneId?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number,
involves?: string
) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
}
async run() {
const updatedTimestamp = this.afterDays ? daysAgoToHumanReadbleDate(this.afterDays) : undefined;
const query = this.buildQuery(
(updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
"is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
// Don't add a comment if already commented on by an action.
let foundActionComment = false;
for await (const commentBatch of issue.getComments()) {
for (const comment of commentBatch) {
if (comment.author.isGitHubApp) {
foundActionComment = true;
break;
}
}
if (foundActionComment)
break;
}
if (foundActionComment) {
safeLog(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
continue;
}
if (this.addComment) {
safeLog(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.addComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.setMilestoneId != undefined) {
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
safeLog(`Processing issue ${hydrated.number}.`);
} else {
if (!hydrated.open) {
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
+42
View File
@@ -0,0 +1,42 @@
name: Add Comment and Label
description: Add comment (etc) to issues that are marked with a specified label (etc)
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
createdAfter:
description: Creation date after which to be considered.
required: false
afterDays:
description: Days to wait before performing this action (may be 0).
required: false
addComment:
description: Comment to add
labels:
description: items with these labels will be considered. May be "*".
required: true
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
ignoreLabels:
description: items with these labels will not be considered
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
description: items with these milestones will not be considered (IDs only, must match names)
addLabels:
description: Labels to add to issue.
removeLabels:
description: Labels to remove from issue.
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
involves:
descriptions: Qualifier to find issues that in some way involve a certain user either as an author, assignee, or mentions.
readonly:
description: If true, changes are not applied.
runs:
using: 'node24'
main: 'index.js'
+20
View File
@@ -0,0 +1,20 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const AddComment_1 = require("./AddComment");
const Action_1 = require("../common/Action");
class AddCommentAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'AddComment';
}
async onTriggered(github) {
await new AddComment_1.AddComment(github, (0, utils_1.getInput)('createdAfter') || undefined, +((0, utils_1.getInput)('afterDays') || 0), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('addComment') || '', (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
}
}
new AddCommentAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+36
View File
@@ -0,0 +1,36 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { AddComment } from './AddComment'
import { Action } from '../common/Action'
class AddCommentAction extends Action {
id = 'AddComment';
async onTriggered(github: OctoKit) {
await new AddComment(
github,
getInput('createdAfter') || undefined,
+(getInput('afterDays') || 0),
getRequiredInput('labels'),
getInput('addComment') || '',
getInput('addLabels') || undefined,
getInput('removeLabels') || undefined,
getInput('setMilestoneId') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoreLabels') || undefined,
getInput('ignoreMilestoneNames') || undefined,
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999),
getInput('involves') || undefined
).run();
}
}
new AddCommentAction().run(); // eslint-disable-line
+2 -2
View File
@@ -15,7 +15,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
@@ -29,5 +29,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node24'
main: 'index.js'
+2 -2
View File
@@ -19,7 +19,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
@@ -33,5 +33,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node24'
main: 'index.js'
+105 -105
View File
@@ -1,106 +1,106 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.StaleCloser = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class StaleCloser extends ActionBase_1.ActionBase {
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.closeDays = closeDays;
this.closeComment = closeComment;
this.pingDays = pingDays;
this.pingComment = pingComment;
this.additionalTeam = additionalTeam;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays);
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (!lastComment ||
lastComment.author.isGitHubApp ||
pingTimestamp == undefined ||
// TODO: List the collaborators once per go rather than checking a single user each issue
this.additionalTeam.includes(lastComment.author.name) ||
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if (this.pingComment) {
await issue.postComment(this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name));
}
}
else {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.StaleCloser = StaleCloser;
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.StaleCloser = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class StaleCloser extends ActionBase_1.ActionBase {
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.closeDays = closeDays;
this.closeComment = closeComment;
this.pingDays = pingDays;
this.pingComment = pingComment;
this.additionalTeam = additionalTeam;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = this.closeDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays) : undefined;
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (!lastComment ||
lastComment.author.isGitHubApp ||
pingTimestamp == undefined ||
// TODO: List the collaborators once per go rather than checking a single user each issue
this.additionalTeam.includes(lastComment.author.name) ||
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if (this.pingComment) {
await issue.postComment(this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name));
}
}
else {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.StaleCloser = StaleCloser;
//# sourceMappingURL=StaleCloser.js.map
+2 -2
View File
@@ -33,10 +33,10 @@ export class StaleCloser extends ActionBase {
}
async run() {
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
const updatedTimestamp = this.closeDays ? daysAgoToHumanReadbleDate(this.closeDays) : undefined;
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
+2 -2
View File
@@ -20,7 +20,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
required: true
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
@@ -43,5 +43,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node24'
main: 'index.js'
+20 -20
View File
@@ -1,21 +1,21 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+4 -4
View File
@@ -12,6 +12,10 @@ let numRequests = 0;
const getNumRequests = () => numRequests;
exports.getNumRequests = getNumRequests;
class OctoKit {
get octokit() {
numRequests++;
return this._octokit;
}
constructor(token, params, options = { readonly: false }) {
this.token = token;
this.params = params;
@@ -23,10 +27,6 @@ class OctoKit {
this.repoName = params.repo;
this.repoOwner = params.owner;
}
get octokit() {
numRequests++;
return this._octokit;
}
getIssueByNumber(number) {
return new OctoKitIssue(this.token, this.params, { number: number });
}
+182 -182
View File
@@ -1,183 +1,183 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
this.milestoneName = milestoneName;
this.milestoneId = milestoneId;
this.ignoreLabels = ignoreLabels;
this.ignoreMilestoneNames = ignoreMilestoneNames;
this.ignoreMilestoneIds = ignoreMilestoneIds;
this.minimumVotes = minimumVotes;
this.maximumVotes = maximumVotes;
this.involves = involves;
this.labelsSet = [];
this.ignoreLabelsSet = [];
this.ignoreMilestoneNamesSet = [];
this.ignoreMilestoneIdsSet = [];
this.ignoreAllWithLabels = false;
this.ignoreAllWithMilestones = false;
this.involvesSet = [];
}
buildQuery(baseQuery) {
var _a, _b, _c, _d, _e, _f;
let query = baseQuery;
(0, utils_1.safeLog)(`labels: ${this.labels}`);
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
(0, utils_1.safeLog)(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If label inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
this.labels = this.labels.substring(1, this.labels.length - 2);
}
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`);
}
}
}
// The "involves" qualifier to find issues that in some way involve a certain user.
// It is a logical OR between the author, assignee, and mentions.
if (this.involves) {
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
for (const str of this.involvesSet) {
if (str != "") {
query = query.concat(` involves:"${str}"`);
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`);
this.ignoreAllWithLabels = true;
}
else {
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`);
}
}
}
}
if (this.milestoneName) {
query = query.concat(` milestone:"${this.milestoneName}"`);
}
else if (this.ignoreMilestoneNames) {
if (this.ignoreMilestoneNames == "*") {
query = query.concat(` no:milestone`);
this.ignoreAllWithMilestones = true;
}
else if (this.ignoreMilestoneIds) {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`);
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
}
else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestone) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
}
else {
// Make sure milestone is present, if required.
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestone.milestoneId == +str) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
let upvotes = 0;
if (issue.reactions) {
upvotes = issue.reactions['+1'];
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
return true;
}
}
exports.ActionBase = ActionBase;
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
this.milestoneName = milestoneName;
this.milestoneId = milestoneId;
this.ignoreLabels = ignoreLabels;
this.ignoreMilestoneNames = ignoreMilestoneNames;
this.ignoreMilestoneIds = ignoreMilestoneIds;
this.minimumVotes = minimumVotes;
this.maximumVotes = maximumVotes;
this.involves = involves;
this.labelsSet = [];
this.ignoreLabelsSet = [];
this.ignoreMilestoneNamesSet = [];
this.ignoreMilestoneIdsSet = [];
this.ignoreAllWithLabels = false;
this.ignoreAllWithMilestones = false;
this.involvesSet = [];
}
buildQuery(baseQuery) {
var _a, _b, _c, _d, _e, _f;
let query = baseQuery;
(0, utils_1.safeLog)(`labels: ${this.labels}`);
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
(0, utils_1.safeLog)(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If label inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
this.labels = this.labels.substring(1, this.labels.length - 2);
}
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`);
}
}
}
// The "involves" qualifier to find issues that in some way involve a certain user.
// It is a logical OR between the author, assignee, and mentions.
if (this.involves) {
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
for (const str of this.involvesSet) {
if (str != "") {
query = query.concat(` involves:"${str}"`);
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`);
this.ignoreAllWithLabels = true;
}
else {
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`);
}
}
}
}
if (this.milestoneName) {
query = query.concat(` milestone:"${this.milestoneName}"`);
}
else if (this.ignoreMilestoneNames) {
if (this.ignoreMilestoneNames == "*") {
query = query.concat(` no:milestone`);
this.ignoreAllWithMilestones = true;
}
else if (this.ignoreMilestoneIds) {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`);
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
}
else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestone) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
}
else {
// Make sure milestone is present, if required.
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestone.milestoneId == +str) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
let upvotes = 0;
if (issue.reactions) {
upvotes = issue.reactions['+1'];
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
return true;
}
}
exports.ActionBase = ActionBase;
//# sourceMappingURL=ActionBase.js.map
+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-')}
-->
`);
};
+3678 -3644
View File
File diff suppressed because it is too large Load Diff
+9 -8
View File
@@ -10,13 +10,12 @@
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.9.1",
"@actions/github": "^5.0.3",
"@octokit/rest": "^19.0.3",
"@actions/core": "^2.0.3",
"@actions/github": "^8.0.1",
"@octokit/rest": "^21.1.1",
"@slack/web-api": "^6.9.1",
"applicationinsights": "^2.5.1",
"axios": "^1.6.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"
}
}
+11
View File
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
groups:
github-actions:
patterns: ["*"]
schedule:
interval: "weekly"
cooldown:
default-days: 7
+33
View File
@@ -0,0 +1,33 @@
name: Bug - debugger
on:
schedule:
- cron: 50 12 * * * # Run at 12:50 PM UTC (4:50 AM PST, 5:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
uses: ./.github/actions/AddComment
with:
readonly: ${{ github.event.inputs.readonly }}
labels: bug,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
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
@@ -1,13 +1,16 @@
name: By Design closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 0 13 * * * # Run at 1:00 PM UTC (5:00 AM PST, 6:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,6 +26,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: by design,debugger
ignoreLabels: language service,internal
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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-12
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 }}
+97
View File
@@ -0,0 +1,97 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ "main", "insiders", "release", "vs" ]
pull_request:
branches: [ "main", "insiders", "release", "vs" ]
schedule:
- cron: '29 4 * * 3'
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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."
@@ -1,13 +1,16 @@
name: Enhancement Closer (no milestone)
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
- cron: 40 12 * * * # Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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: "*"
@@ -1,13 +1,16 @@
name: Enhancement Closer (Triage)
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
- cron: 30 12 * * * # Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
+6 -2
View File
@@ -1,13 +1,16 @@
name: Enhancement Reopener
on:
schedule:
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
- cron: 0 11 * * * # Run at 11:00 AM UTC (3:00 AM PST, 4:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
@@ -1,13 +1,16 @@
name: External closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 10 13 * * * # Run at 1:10 PM UTC (5:10 AM PST, 6:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,6 +26,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: external,debugger
ignoreLabels: language service,internal
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
@@ -0,0 +1,33 @@
name: Feature Request - debugger
on:
schedule:
- cron: 20 13 * * * # Run at 1:20 PM UTC (5:20 AM PST, 6:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
uses: ./.github/actions/AddComment
with:
readonly: ${{ github.event.inputs.readonly }}
labels: Feature Request,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
@@ -1,13 +1,16 @@
name: Investigate closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 30 13 * * * # Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,6 +26,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: investigate,debugger
ignoreLabels: language service,internal
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."
@@ -1,13 +1,16 @@
name: Investigate Costing closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 40 13 * * * # Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,6 +26,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
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."
+60 -28
View File
@@ -11,25 +11,43 @@ 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@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
node-version: 16
ref: ${{ inputs.checkout-ref }}
- name: Use Node.js 24
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24
- name: Validate Yarn lockfile
run: yarn test-yarn-lock && yarn verify-yarn-lock
working-directory: Extension
- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
working-directory: Extension
- name: Install gdb (linux)
if: ${{ inputs.platform == 'linux' }}
run: |
sudo apt-get update
sudo apt-get install -y gdb
- name: Compile Sources
run: yarn run compile
working-directory: Extension
@@ -42,32 +60,46 @@ jobs:
run: yarn 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: Acquire Native Binaries
run: yarn install-and-copy-binaries-for-test
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# 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 (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@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=SingleRootProject
working-directory: Extension
- name: Run E2E IntelliSense features tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=MultirootDeadlockTest
working-directory: Extension
- name: Run RunWithoutDebugging tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=RunWithoutDebugging --scenario-arg=skipExternalConsole
working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
@@ -1,13 +1,16 @@
name: More Info Needed Closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 50 13 * * * # Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,9 +26,10 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: more info needed,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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."
@@ -1,13 +1,16 @@
name: Question Closer - debugger
on:
schedule:
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
- cron: 0 14 * * * # Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,9 +26,10 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: question,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- 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
+120
View File
@@ -0,0 +1,120 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger:
branches:
include:
- main
- release
- insiders
schedules:
- cron: 30 5 * * 0
branches:
include:
- main
always: true
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
variables:
- name: Codeql.Enabled
value: true
- name: Codeql.Language
value: javascript
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
binskim:
preReleaseVersion: '4.3.1'
tsa:
enabled: true
config:
tsaVersion: TsaV2
codebase: NewOrUpdate
codebaseName: vscode-cpptools
tsaStamp: $(TsaProjectName)
tsaEnvironment: PROD
notificationAliases: $(TsaNotificationAlias)
codebaseAdmins: $(TsaCodebaseAdmins)
instanceUrl: $(TsaInstanceUrl)
projectName: $(TsaProjectName)
areaPath: $(TsaAreaPath)
iterationPath: $(TsaIterationPath)
alltools: true
repositoryName: vscode-cpptools
policheck:
enabled: true
featureFlags:
autoBaseline: false
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: build
jobs:
- job: Phase_1
displayName: Build cpptools.vsix
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'cpptools.vsix'
condition: succeeded()
targetPath: $(Build.ArtifactStagingDirectory)\Extension
artifactName: cpptools.vsix
steps:
- checkout: self
- task: UseNode@1
displayName: Use Node 22.x
inputs:
version: 22.x
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
displayName: Delete .npmrc if it exists
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
displayName: Create Extension Staging Directory
- task: Bash@3
displayName: Build files
inputs:
targetType: 'inline'
script: |
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
cd "$SRC_DIR/Extension"
npm run vsix-prepublish
if [ $? -ne 0 ]; then
echo "npm run vsix-prepublish failed, sleeping for 30s before retrying..."
sleep 30
exit 1
fi
retryCountOnTaskFailure: 3
- script: yarn install --frozen-lockfile
displayName: Install dependencies with yarn
workingDirectory: $(Build.SourcesDirectory)\Extension
- 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
+67 -37
View File
@@ -2,11 +2,14 @@
# Pipeline for VsCodeExtension-Localization build definition
# Runs OneLocBuild task to localize xlf file
# ==================================================================================
resources:
repositories:
- repository: self
clean: true
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
trigger: none
pr: none
@@ -18,45 +21,72 @@ schedules:
- main
always: true
pool:
name: 'AzurePipelines-EO'
demands:
- ImageOverride -equals AzurePipelinesWindows2022compliant
variables:
TeamName: cpptools
Codeql.Language: javascript
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
stages:
- stage: stage
jobs:
- job: job
templateContext:
outputs:
- output: pipelineArtifact
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
publishLocation: 'Container'
steps:
- task: NodeTool@0
inputs:
versionSpec: '22.x'
displayName: 'Install Node.js'
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd ./Extension && yarn run translations-export && cd ..'
- task: CmdLine@2
inputs:
script: 'cd ./Extension && yarn run translations-export && cd ..'
- task: OneLocBuild@2
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
inputs:
locProj: 'Build/loc/LocProject.json'
outDir: '$(Build.ArtifactStagingDirectory)'
isCreatePrSelected: false
prSourceBranchPrefix: 'locfiles'
packageSourceAuth: 'patAuth'
patVariable: '$(OneLocBuildPat)'
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-VCPP'
lsBuildXLocPackageVersion: '7.0.30510'
# Requires Azure client 2.x
- task: AzureCLI@2
displayName: 'Set OneLocBuildToken'
enabled: true
inputs:
azureSubscription: '$(AzureSubscription)' # Azure DevOps service connection
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
$token = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AzDO.OneLocBuildToken;issecret=true]${token}"
- task: CmdLine@2
inputs:
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
- task: OneLocBuild@2
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
inputs:
locProj: 'Build/loc/LocProject.json'
outDir: '$(Build.ArtifactStagingDirectory)'
isCreatePrSelected: false
prSourceBranchPrefix: 'locfiles'
packageSourceAuth: 'patAuth'
patVariable: '$(AzDO.OneLocBuildToken)'
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-VCPP'
lsBuildXLocPackageVersion: '7.0.30510'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- task: CmdLine@2
inputs:
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
+50
View File
@@ -0,0 +1,50 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
parameters:
- name: verifyVersion
displayName: Attest version in package.json is correct
type: boolean
default: false
- name: verifyReadme
displayName: Attest README.md is updated
type: boolean
default: false
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
jobs:
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
- 'The version in package.json should be updated before scheduling the pipeline.'
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
- 'README.md should be updated before scheduling the pipeline.'
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack
srcDir: ExtensionPack
+50
View File
@@ -0,0 +1,50 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
parameters:
- name: verifyVersion
displayName: Attest version in package.json is correct
type: boolean
default: false
- name: verifyReadme
displayName: Attest README.md is updated
type: boolean
default: false
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
jobs:
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
- 'The version in package.json should be updated before scheduling the pipeline.'
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
- 'README.md should be updated before scheduling the pipeline.'
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-themes
srcDir: Themes
+95
View File
@@ -0,0 +1,95 @@
parameters:
- name: vsixName
type: string
default: ''
- name: srcDir
type: string
default: ''
- name: signType
type: string
default: 'real'
jobs:
- job: package
displayName: Build ${{ parameters.vsixName }}.vsix
timeoutInMinutes: 30
cancelTimeoutInMinutes: 1
templateContext:
mb: # Enable the MicroBuild Signing toolset
signing:
enabled: true
signType: ${{ parameters.signType }}
zipSources: false
${{ if eq(parameters.signType, 'real') }}:
signWithProd: true
featureFlags:
autoBaseline: false
outputs:
- output: pipelineArtifact
displayName: '${{ parameters.vsixName }}.vsix'
targetPath: $(Build.ArtifactStagingDirectory)\vsix
artifactName: vsix
steps:
- checkout: self
- task: UseNode@1
displayName: Use Node 22.x
inputs:
version: 22.x
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
displayName: Delete .npmrc if it exists
- 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: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
displayName: Install vsce
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
- 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:
solution: $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
msbuildArguments: /p:SignType=${{ parameters.signType }}
+43
View File
@@ -0,0 +1,43 @@
name: $(Date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
pipelines:
- pipeline: vsixBuild
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-extension-pack'
trigger: true
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
stages:
- stage: Validate
jobs:
- template: /Build/publish/jobs_manual_validation.yml@self
parameters:
notifyUsers: $(NotifyUsers)
releaseBuildUrl: $(ReleaseBuildUrl)
- stage: Release
dependsOn: Validate
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack
+43
View File
@@ -0,0 +1,43 @@
name: $(Date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
pipelines:
- pipeline: vsixBuild
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-themes'
trigger: true
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: 1ESPT-Windows2025
os: windows
stages:
- stage: Validate
jobs:
- template: /Build/publish/jobs_manual_validation.yml@self
parameters:
notifyUsers: $(NotifyUsers)
releaseBuildUrl: $(ReleaseBuildUrl)
- stage: Release
dependsOn: Validate
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-themes
+19
View File
@@ -0,0 +1,19 @@
parameters:
- name: notifyUsers
type: string
default: ''
- name: releaseBuildUrl
type: string
default: ''
jobs:
- job: WaitForValidation
displayName: Wait for VSIX validation
pool: server
steps:
- task: ManualValidation@0
displayName: "Manual Validation"
inputs:
notifyUsers: $(notifyUsers)
instructions: |
Download and test the vsix from the latest release build: $(releaseBuildUrl)
+46
View File
@@ -0,0 +1,46 @@
parameters:
- name: vsixName
type: string
default: ''
jobs:
- job: Publish
displayName: Publish to Marketplace
templateContext:
type: releaseJob
isProduction: true
inputs:
- input: pipelineArtifact
pipeline: vsixBuild
artifactName: vsix
targetPath: $(Build.StagingDirectory)\vsix
steps:
- task: NodeTool@0
displayName: Use Node 22.x
inputs:
versionSpec: 22.x
- task: AzureCLI@2
displayName: Generate AAD_TOKEN
inputs:
azureSubscription: $(AzureSubscription)
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[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>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
<PropertyGroup>
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)/Extension</BaseOutputDirectory>
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
<OutDir>$(BaseOutputDirectory)</OutDir>
</PropertyGroup>
<ItemGroup>
<!-- Because of Webpack bundling, these are the only shipping Javascript files.
There are no third-party files to sign because they've all been bundled. -->
<FilesToSign Include="$(OutDir)\dist\src\main.js;$(OutDir)\dist\ui\settings.js">
<Authenticode>Microsoft400</Authenticode>
</FilesToSign>
</ItemGroup>
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
</Project>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
<PropertyGroup>
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)</BaseOutputDirectory>
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
<OutDir>$(BaseOutputDirectory)</OutDir>
</PropertyGroup>
<ItemGroup>
<FilesToSign Include="$(OutDir)\vsix\cpptools-*.signature.p7s">
<Authenticode>VSCodePublisher</Authenticode>
</FilesToSign>
</ItemGroup>
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
</Project>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.VisualStudioEng.MicroBuild.Core" version="0.4.1" developmentDependency="true" />
</packages>
+8
View File
@@ -0,0 +1,8 @@
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @microsoft/cpptools-maintainers will be requested for
# review when someone opens a pull request.
* @microsoft/cpptools-maintainers
+2 -1
View File
@@ -6,4 +6,5 @@ Resources:
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
+22 -1
View File
@@ -5,7 +5,7 @@
* [Build and debug the extension](Documentation/Building%20the%20Extension.md).
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
## About the Code
@@ -33,3 +33,24 @@ const localize: nls.LocalizeFunc = nls.loadMessageBundle();
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
```
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
## Contributor License Agreement
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
### Adding/Updating package.json dependencies
We maintain a public Azure Artifacts feed that we point the package manager to in .npmrc files. If you want to add a dependency or update a version in package.json, you may need to contact us so we can add it to our feed. Please ping our team in a PR or new issue if you experience this issue.
For local development, you can delete the .npmrc file and the matching `yarn.lock` file while you wait for us to update the feed. However, these changes will need to be reverted in your branch before we will accept a PR.
+1 -1
View File
@@ -5,7 +5,7 @@ These steps will allow you to debug the TypeScript code that is part of the Micr
Prerequisite steps:
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
* git clone -b release https://github.com/Microsoft/vscode-cpptools
* Install [node](https://nodejs.org).
* Install the [required Node.js version](../Extension/readme.developer.md#required-tools).
* Install [yarn](https://yarnpkg.com).
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
* `yarn install` will install the dependencies needed to build the extension.
@@ -1 +1 @@
The documentation for c_cpp_properties.json has moved to https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference.
The documentation for c_cpp_properties.json has moved to https://code.visualstudio.com/docs/cpp/customize-cpp-settings.
-4
View File
@@ -1,4 +0,0 @@
*.js
dist/
vscode*.d.ts
-166
View File
@@ -1,166 +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": {
"indent": [
"warn",
4,
{
"SwitchCase": 1,
"ObjectExpression": "first"
}
],
"@typescript-eslint/indent": [
"error", 4
],
"@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.",
" * ------------------------------------------------------------------------------------------ "
],
],
}
};
+9 -1
View File
@@ -9,10 +9,18 @@ dist
server
debugAdapters
LLVM
bin/assert_dialog.sh
bin/binaryVersion.json
bin/cpptools*
bin/edge_cli
bin/isense_driver
bin/libc.so
bin/LICENSE.txt
bin/scout_driver
bin/unittests
bin/vcpkgsrvtest
bin/*.dll
bin/.vs
bin/LICENSE.txt
# ignore lock files
install.lock
+7
View File
@@ -0,0 +1,7 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
# 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}'`);
+5 -3
View File
@@ -33,8 +33,10 @@ export async function main() {
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
verbose(green('Launch VSCode'));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ].map(each => (each.indexOf(' ') > -1) && (each.indexOf('"') === -1) ? `"${each}"` : each);
const CLI = cli.indexOf(' ') > -1 && cli.indexOf('"') === -1 ? `"${cli}"` : cli;
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
verbose(gray(`${CLI}\n ${ [...ARGS ].join('\n ')}`));
spawnSync(CLI, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" }, shell: true });
}
+35 -7
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);
});
@@ -48,28 +57,29 @@ export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (awa
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
export async function getModifiedIgnoredFiles() {
const {code, error, stdio } = await GitClean('-Xd', '-n');
const { code, error, stdio } = await GitClean('-Xd', '-n');
if (code) {
throw new Error(`\n${error.all().join('\n')}`);
}
// 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;
}
if (await filepath.isFolder(each)) {
verbose(`Removing folder ${red(each)}`);
all.push(rm(each, {recursive: true, force: true}));
all.push(rm(each, { recursive: true, force: true }));
continue;
}
verbose(`Removing file ${red(each)}`);
all.push(rm(each, {force: true}));
all.push(rm(each, { force: true }));
}
await Promise.all(all);
}
@@ -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);
@@ -333,6 +346,9 @@ export async function checkDTS() {
}
export async function checkBinaries() {
if ($switches.includes('--skipCheckBinaries')) {
return false;
}
let failing = false;
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
@@ -341,3 +357,15 @@ export async function checkBinaries() {
}
return failing;
}
export async function checkProposals() {
let failing = false;
await rm(`${$root}/vscode.proposed.chatParticipantAdditions.d.ts`);
failing = await assertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts') && (quiet || warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`)) || failing;
if (!failing) {
verbose('VSCode proposals appear to be in place.');
}
return failing;
}
+176
View File
@@ -0,0 +1,176 @@
/* --------------------------------------------------------------------------------------------
* 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, Git, green, heading, note, warn } 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;
}
/**
* A few files inside the copied folders are checked into the repo (for example bin/cpp.hint and
* bin/messages/**). The copy overwrites them with the installed extension's versions, which can differ
* in line endings or content and then show up as spurious local modifications. Restore any tracked files
* that the copy changed so only the untracked binaries remain in the working tree.
*/
async function restoreTrackedFiles(): Promise<void> {
const modified = await Git('ls-files', '--modified', '--', ...foldersToCopy);
if (modified.code) {
warn(`Unable to determine which tracked files to restore: ${modified.error.all().join('\n')}`);
return;
}
const files = modified.stdio.all().map(line => line.trim()).filter(line => line.length > 0);
if (!files.length) {
return;
}
const restored = await Git('checkout', '--', ...files);
if (restored.code) {
warn(`Unable to restore tracked files after copy: ${restored.error.all().join('\n')}`);
return;
}
note(`Restored ${files.length} tracked ${files.length === 1 ? 'file' : 'files'} overwritten by the copy.`);
}
export async function main(sourcePath = $args[0]): Promise<string | undefined> {
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}`);
await restoreTrackedFiles();
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
+7 -2
View File
@@ -5,7 +5,7 @@
import * as fs from "fs";
import * as path from 'path';
import { parseString } from 'xml2js';
import { mkdir, write } from './common';
import { glob, mkdir, write } from './common';
export async function main() {
@@ -45,11 +45,16 @@ export async function main() {
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
for (const locFolderName of locFolderNames) {
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
const languageInfo = languages.find(l => l.folderName === locFolderName);
if (!languageInfo) {
return;
}
const localePath = path.join(localizeRepoPath, locFolderName);
const lclPaths = await glob("vc/vc/cpfeui.dll.lcl", { cwd: localePath, nocase: true, nodir: true });
if (lclPaths.length !== 1) {
throw new Error(`Expected one cpfeui.dll.lcl under '${localePath}', found ${lclPaths.length}.`);
}
const lclPath = path.join(localePath, lclPaths[0]);
const languageId = languageInfo.id;
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
const outputPath = path.join(outputLanguageFolder, "messages.json");
@@ -0,0 +1,37 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { runVSCodeCommand } from '@vscode/test-electron';
import { writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { $root, error, heading, note, warn } from './common';
import * as copy from './copyExtensionBinaries';
import { install, isolated, options } from "./vscode";
export async function main() {
console.log(heading(`Install VS Code`));
const vscode = await install();
if (!vscode) {
error('Failed to install VS Code');
return;
}
console.log(heading('Install latest C/C++ Extension'));
const result = await runVSCodeCommand([...vscode.args ?? [], '--install-extension', 'ms-vscode.cpptools', '--pre-release'], options);
if (result.stdout) {
console.log(result.stdout.toString());
}
if (result.stderr) {
// runVSCodeCommand resolves only when the command succeeds (it throws on a non-zero exit), so stderr here is
// non-fatal output such as Node deprecation warnings and must not be reported as an error.
warn(result.stderr.toString());
}
const binaryVersion = await copy.main(isolated);
if (binaryVersion) {
await writeFile(join($root, 'bin', 'binaryVersion.json'), JSON.stringify({ version: binaryVersion }));
note(`Wrote binary version ${binaryVersion} to bin/binaryVersion.json`);
}
}
+10 -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';
@@ -27,6 +27,7 @@ const filters = [
/^Unexpected token A/,
/Cannot register 'cmake.cmakePath'/,
/\[DEP0005\] DeprecationWarning/,
/\[DEP0169\] DeprecationWarning/,
/--trace-deprecation/,
/Iconv-lite warning/,
/^Extension '/,
@@ -75,7 +76,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'});
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 +91,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 +163,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
}
}
+10 -1
View File
@@ -3,7 +3,7 @@
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
import { checkBinaries, checkCompiled, checkDTS, checkPrep, checkProposals, error, green } from './common';
const quiet = process.argv.includes('--quiet');
export async function main() {
@@ -50,3 +50,12 @@ export async function dts() {
process.exit(1);
}
}
export async function proposals() {
let failing = false;
failing = (await checkProposals() && (quiet || error(`Issue with VSCode proposals. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
+97
View File
@@ -0,0 +1,97 @@
import fs from 'node:fs';
import path from 'node:path';
import process from 'node:process';
import { fileURLToPath, pathToFileURL } from 'node:url';
const dependencySections = ['dependencies', 'devDependencies', 'optionalDependencies'];
function parseLockfileKey(key) {
const selectors = [];
let selectorStart = 0;
let quoted = false;
let escaped = false;
for (let index = 0; index < key.length; index++) {
const character = key[index];
if (escaped) {
escaped = false;
} else if (character === '\\' && quoted) {
escaped = true;
} else if (character === '"') {
quoted = !quoted;
} else if (character === ',' && !quoted) {
selectors.push(key.slice(selectorStart, index));
selectorStart = index + 1;
}
}
selectors.push(key.slice(selectorStart));
return selectors.map(selector => {
const trimmedSelector = selector.trim();
return trimmedSelector.startsWith('"') ? JSON.parse(trimmedSelector) : trimmedSelector;
});
}
function parseLockfileSelectors(lockfile) {
const selectors = new Set();
for (const line of lockfile.split(/\r?\n/)) {
if (/^[^\s#].*:\s*$/.test(line)) {
for (const selector of parseLockfileKey(line.replace(/:\s*$/, ''))) {
selectors.add(selector);
}
}
}
return selectors;
}
function getResolutionPackageName(pattern) {
const segments = pattern.split('/');
const packageName = segments.at(-1);
const scope = segments.at(-2);
return scope?.startsWith('@') ? `${scope}/${packageName}` : packageName;
}
function getExpectedSelectors(manifest) {
const selectors = [];
for (const section of dependencySections) {
for (const [packageName, range] of Object.entries(manifest[section] ?? {})) {
selectors.push(`${packageName}@${range}`);
}
}
for (const [pattern, range] of Object.entries(manifest.resolutions ?? {})) {
selectors.push(`${getResolutionPackageName(pattern)}@${range}`);
}
return selectors;
}
function findMissingSelectors(manifest, lockfile) {
const lockfileSelectors = parseLockfileSelectors(lockfile);
return getExpectedSelectors(manifest)
.filter(selector => !lockfileSelectors.has(selector))
.sort();
}
function validateYarnLock(packageJsonPath, yarnLockPath) {
const manifest = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
const lockfile = fs.readFileSync(yarnLockPath, 'utf8');
const missingSelectors = findMissingSelectors(manifest, lockfile);
if (missingSelectors.length > 0) {
throw new Error(`yarn.lock is missing selectors required by package.json:\n${missingSelectors.map(selector => ` ${selector}`).join('\n')}\nRun yarn install to update yarn.lock.`);
}
}
const invokedUrl = process.argv[1] ? pathToFileURL(path.resolve(process.argv[1])).href : undefined;
if (invokedUrl === import.meta.url) {
const extensionRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
const packageJsonPath = process.argv[2] ?? path.join(extensionRoot, 'package.json');
const yarnLockPath = process.argv[3] ?? path.join(extensionRoot, 'yarn.lock');
try {
validateYarnLock(packageJsonPath, yarnLockPath);
} catch (error) {
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
process.exitCode = 1;
}
}
export { findMissingSelectors, getExpectedSelectors, parseLockfileSelectors, validateYarnLock };
@@ -0,0 +1,41 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { findMissingSelectors } from './verifyYarnLock.mjs';
test('reports a stale resolution selector', () => {
const manifest = { resolutions: { 'fast-uri': '^3.1.5' } };
const lockfile = `fast-uri@^3.0.1, fast-uri@^3.1.4:
version "3.1.5"
`;
assert.deepEqual(findMissingSelectors(manifest, lockfile), ['fast-uri@^3.1.5']);
});
test('accepts direct, scoped, and nested resolution selectors', () => {
const manifest = {
dependencies: { '@scope/direct': '^1.0.0' },
devDependencies: { 'gulp-typescript': '^5.0.1' },
resolutions: {
'@scope/resolved': '^2.0.0',
'gulp-typescript/**/glob-parent': '^5.1.2',
'parent/**/@nested/package': '~3.0.0'
}
};
const lockfile = `"@nested/package@~3.0.0":
version "3.0.1"
"@scope/direct@^1.0.0":
version "1.0.0"
"@scope/resolved@^2.0.0":
version "2.0.0"
glob-parent@^3.1.0, glob-parent@^5.1.2:
version "5.1.2"
gulp-typescript@^5.0.1:
version "5.0.1"
`;
assert.deepEqual(findMissingSelectors(manifest, lockfile), []);
});
+11 -7
View File
@@ -4,20 +4,24 @@
* ------------------------------------------------------------------------------------------ */
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
import { createHash } from 'crypto';
import { tmpdir } from 'os';
import { resolve } from 'path';
import { verbose } from '../src/Utility/Text/streams';
import { mkdir, readJson, rimraf, write } from './common';
import { getVSCodeTestIsolate } from './vscodeTestPath';
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
export const isolated = getVSCodeTestIsolate(__dirname);
export const extensionsDir = resolve(isolated, 'extensions');
export const userDir = resolve(isolated, 'user-data');
export const settings = resolve(userDir, "User", 'settings.json');
// Pin the test VS Code build to a known-good stable release for deterministic CI instead of
// always pulling latest. Launching macOS 1.110+ builds requires @vscode/test-electron >= 3.1.0.
export const testVSCodeVersion = '1.131.0';
export const options = {
version: testVSCodeVersion,
cachePath: `${isolated}/cache`,
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--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 +38,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";
+51
View File
@@ -0,0 +1,51 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { createHash } from 'crypto';
import { homedir } from 'os';
import { posix, win32 } from 'path';
function isFullyQualifiedPath(value: string, platform: NodeJS.Platform): boolean {
const path = platform === 'win32' ? win32 : posix;
return path.isAbsolute(value) && (platform !== 'win32' || path.parse(value).root.length > 1);
}
export function getVSCodeTestIsolate(
scriptDirectory: string,
platform: NodeJS.Platform = process.platform,
environment: NodeJS.ProcessEnv = process.env,
homeDirectory: string = homedir()): string {
const path = platform === 'win32' ? win32 : posix;
const override = environment.CPPTOOLS_VSCODE_TEST_ROOT;
let root: string;
if (override) {
if (!isFullyQualifiedPath(override, platform)) {
throw new Error('CPPTOOLS_VSCODE_TEST_ROOT must be a fully qualified absolute path.');
}
root = override;
} else {
switch (platform) {
case 'win32': {
const localAppData = environment.LOCALAPPDATA;
const cacheDirectory = localAppData && isFullyQualifiedPath(localAppData, platform) ? localAppData : path.resolve(homeDirectory, 'AppData', 'Local');
root = path.resolve(cacheDirectory, 'Microsoft', 'vscode-cpptools', 'vscode-test');
break;
}
case 'darwin':
root = path.resolve(homeDirectory, 'Library', 'Caches', 'vscode-cpptools', 'vscode-test');
break;
default: {
const xdgCacheHome = environment.XDG_CACHE_HOME;
const cacheDirectory = xdgCacheHome && isFullyQualifiedPath(xdgCacheHome, platform) ? xdgCacheHome : path.resolve(homeDirectory, '.cache');
root = path.resolve(cacheDirectory, 'vscode-cpptools', 'vscode-test');
break;
}
}
}
const worktreeHash = createHash('sha256').update(scriptDirectory).digest('hex').substring(0, 6);
return path.resolve(root, worktreeHash);
}
+29
View File
@@ -22,6 +22,31 @@
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debugs the extension with sanitizer (TSan/ASan/UBSan) reports captured to files.
// Requires a sanitizer build of the cpptools language server. Each process writes
// ${userHome}/cpptools-sanitizer-logs/<sanitizer>.<pid> (see readme.developer.md).
"name": "Run Extension (capture sanitizer logs)",
"type": "extensionHost",
"request": "launch",
"env": {
"CPPTOOLS_SANITIZER_LOG_DIR": "${userHome}/cpptools-sanitizer-logs"
},
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debugs the extension (selecting the workspace)
"name": "Run Extension-Select Workspace",
@@ -97,6 +122,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"
+3 -1
View File
@@ -27,17 +27,19 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"editor.detectIndentation": true,
"files.insertFinalNewline": true
},
"[jsonc]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"editor.detectIndentation": true,
"files.insertFinalNewline": true
},
"[typescript]": {
"editor.tabSize": 4,
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true,
"files.insertFinalNewline": true,
"editor.codeActionsOnSave": {
+12 -11
View File
@@ -29,23 +29,24 @@ jobs/**
cgmanifest.json
# ignore development files
tsconfig.json
test.tsconfig.json
ui.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
eslint.config.js
.gitattributes
.gitignore
gulpfile.js
localized_string_ids.h
readme.developer.md
test.tsconfig.json
translations_auto_pr.js
tsconfig.json
tslint.json
tscCompileList.txt
ui.tsconfig.json
webpack.config.js
CMakeLists.txt
debugAdapters/install.lock*
typings/**
**/*.map
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
*.d.ts
# ignore i18n language files
i18n/**
+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"
}
}
+588 -1058
View File
File diff suppressed because it is too large Load Diff
+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
Binary file not shown.
-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"
}
]
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-15
View File
@@ -1,15 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}
-14
View File
@@ -1,14 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8",
"-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"
}

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