Compare commits

...
Author SHA1 Message Date
Bob Brown bdbac5714b Update some comments 2026-08-14 10:46:07 -07:00
Bob Brown 4d01799159 Merge branch 'main' into bobbrow/languageClientRefactor 2026-08-14 09:02:24 -07: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
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 98055e0aa8 Fix configuration path regex escaping (#14674) 2026-08-13 12:11:18 -07:00
Sean McManus 7a7c1f421b Update changelog and version for 1.33.8 (#14671) 2026-08-12 15:10:35 -07:00
Sean McManus 82c66b05d3 Handle localization path casing generically (#14669) 2026-08-12 13:20:37 -07:00
Sean McManus 08baa1d0d2 Fix IntelliSense translation strings. (#14668)
* Fix IntelliSense translation strings.
2026-08-12 10:52:21 -07:00
Sean McManus 9d19aa858f Validate Yarn lockfile selectors (#14663) 2026-08-11 12:14:31 -07:00
Sean McManus 0ec5075a0f Lock localization literals (#14664) 2026-08-11 10:00:19 -07: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 38848fa7bb Update changelog for 1.33.7 (#14661) 2026-08-10 16:49:44 -07:00
Sean McManus 31c2411fff Use frozen lockfile for webpack install (#14659) 2026-08-10 16:05:21 -07:00
Sean McManus 58fe69ef79 Update nanoid to 3.3.17 (#14658) 2026-08-10 14:45:22 -07:00
Sean McManus a678db0da3 Update js-yaml in remaining lockfiles (#14657) 2026-08-10 11:19:17 -07: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
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
Bob Brown 7ea89afb30 Remove language client error telemetry (#14651) 2026-08-07 11:46:18 -07: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 b02a2f85a4 Update changelog for 1.33.6 (#14644)
* Update changelog for 1.33.6
2026-08-04 16:43:54 -07: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
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
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
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 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 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 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 0040d0c786 Add 1.33.6 changelog entry and bump version (#14628) 2026-07-30 19:26:38 -07: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 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
Bob Brown dde8653da5 address PR feedback 2026-07-29 10:16:44 -07: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
Bob Brown 154f56e4c7 fix a bug found while testing 2026-07-29 09:50:11 -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
Bob Brown 95717b4eb4 self review 2026-07-29 08:59:36 -07:00
Bob Brown 2587d00a47 remove some more ready awaits 2026-07-28 17:27:45 -07:00
Bob Brown 77c1a14635 More cleanup 2026-07-28 17:05:14 -07:00
Bob Brown 07a4927c41 cleaning up and removing enqueue 2026-07-28 15:07:02 -07: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
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
Bob Brown 5351c00667 ensure that the language client is ready before all messages are sent 2026-07-27 17:15:42 -07:00
Sean McManus 397f4e5ade Normalize JSON trailing newlines. (#14579)
* Unify json newlines.
2026-07-27 17:00:48 -07:00
Sean McManus 0f754f7437 Update ThirdPartyNotices.txt (#14611)
* Update ThirdPartyNotices.txt
2026-07-27 16:00:46 -07: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 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 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 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 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
809 changed files with 3935 additions and 2784 deletions
+4
View File
@@ -1,3 +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
+47 -23
View File
@@ -2764,16 +2764,29 @@
"license": "MIT"
},
"node_modules/axios": {
"version": "1.16.0",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.16.0.tgz",
"integrity": "sha1-+OXdkxzvKl+MMiFtV4Ttovh1Drc=",
"version": "1.18.1",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.18.1.tgz",
"integrity": "sha1-1j+YY7zYk4gVyG+eKr04AYnZbf4=",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
"form-data": "^4.0.5",
"https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
},
"node_modules/axios/node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=",
"license": "MIT",
"dependencies": {
"debug": "4"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/axios/node_modules/form-data": {
"version": "4.0.6",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.6.tgz",
@@ -2790,6 +2803,19 @@
"node": ">= 6"
}
},
"node_modules/axios/node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=",
"license": "MIT",
"dependencies": {
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -2846,9 +2872,9 @@
"optional": true
},
"node_modules/brace-expansion": {
"version": "1.1.13",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.13.tgz",
"integrity": "sha1-03h1wB3J7/mI3UnREqV8tntU7+Y=",
"version": "1.1.18",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.18.tgz",
"integrity": "sha1-POdNiYhRNr4VNTQfjD1EJcKaXKs=",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3117,7 +3143,6 @@
"version": "4.4.3",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/debug/-/debug-4.4.3.tgz",
"integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -3898,9 +3923,9 @@
}
},
"node_modules/glob/node_modules/brace-expansion": {
"version": "2.0.3",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha1-BJMzi91Y4xmxA5xnz37kOYksAdk=",
"version": "2.1.4",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.1.4.tgz",
"integrity": "sha1-WJ2rEcABjQNmvmTNi/Esjb7MgyY=",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4156,9 +4181,9 @@
"license": "ISC"
},
"node_modules/ip-address": {
"version": "10.2.0",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ip-address/-/ip-address-10.2.0.tgz",
"integrity": "sha1-gF/BeLIMUYvUyFSLJP4wiS1/MgY=",
"version": "10.3.1",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ip-address/-/ip-address-10.3.1.tgz",
"integrity": "sha1-kp+WKdFyT34bdIXOiXUvNnUzahA=",
"dev": true,
"license": "MIT",
"engines": {
@@ -4277,9 +4302,9 @@
"license": "ISC"
},
"node_modules/js-yaml": {
"version": "4.2.0",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.2.0.tgz",
"integrity": "sha1-K9noVoLdkb1GmvuAnYFgQ7PUlSQ=",
"version": "4.3.1",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.3.1.tgz",
"integrity": "sha1-ASFsAB1n9I4s1WDXCMevIQkKOEg=",
"dev": true,
"funding": [
{
@@ -4526,9 +4551,9 @@
}
},
"node_modules/mocha/node_modules/brace-expansion": {
"version": "2.0.3",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha1-BJMzi91Y4xmxA5xnz37kOYksAdk=",
"version": "2.1.4",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.1.4.tgz",
"integrity": "sha1-WJ2rEcABjQNmvmTNi/Esjb7MgyY=",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4629,7 +4654,6 @@
"version": "2.1.3",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz",
"integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=",
"dev": true,
"license": "MIT"
},
"node_modules/natural-compare": {
@@ -5439,9 +5463,9 @@
}
},
"node_modules/undici": {
"version": "6.27.0",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-6.27.0.tgz",
"integrity": "sha1-Qfnkj3xaQNJzdsqurYyan8e8qcQ=",
"version": "6.28.0",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-6.28.0.tgz",
"integrity": "sha1-nw44V0T+9QIdZZbFvM14P2EZPBw=",
"license": "MIT",
"engines": {
"node": ">=18.17"
+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
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1
View File
@@ -23,3 +23,4 @@ jobs:
platform: mac
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
yarn-args: --network-timeout 100000
+3 -3
View File
@@ -59,11 +59,11 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
@@ -91,7 +91,7 @@ jobs:
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
with:
category: "/language:${{matrix.language}}"
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+44 -41
View File
@@ -25,19 +25,29 @@ jobs:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.checkout-ref }}
- name: Use Node.js 24
uses: actions/setup-node@v4
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
@@ -50,53 +60,46 @@ jobs:
run: yarn test
working-directory: Extension
# These tests don't require the binary.
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
# But it works on Linux during the E2E test.
- name: Run SingleRootProject tests
if: ${{ inputs.platform != 'linux' }}
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
- name: Acquire Native Binaries
run: yarn install-and-copy-binaries-for-test
working-directory: Extension
# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
# - name: Run languageServer integration tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
- name: Run languageServer integration tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=SingleRootProject
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
- name: Run E2E IntelliSense features tests (Windows)
if: ${{ inputs.platform == 'windows' }}
run: yarn test --scenario=MultirootDeadlockTest
working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=RunWithoutDebugging
# 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 (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
- name: Run E2E IntelliSense features tests (linux/macOS)
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
with:
run: yarn test --scenario=MultirootDeadlockTest
working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=RunWithoutDebugging
# 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
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Locker
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
+2
View File
@@ -13,3 +13,5 @@ OneLocBuild
# ignore imported localization xlf directory
vscode-translations-import
.vscode/settings.json
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
displayName: Create Staging Directory
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected].1
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected].2
displayName: Install vsce
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected].1
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected].2
displayName: Install vsce
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
+1 -1
View File
@@ -5,7 +5,7 @@ These steps will allow you to debug the TypeScript code that is part of the Micr
Prerequisite steps:
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
* git clone -b release https://github.com/Microsoft/vscode-cpptools
* Install [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.
+8 -1
View File
@@ -9,11 +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
+4
View File
@@ -1,3 +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
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('--'));
+69 -6
View File
@@ -5,8 +5,9 @@
import { cp, readdir, rm, stat } from 'node:fs/promises';
import { homedir } from 'node:os';
import { join } from 'node:path';
import { $args, $root, green, heading, note } from './common';
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;
@@ -73,17 +74,47 @@ async function getInstalledExtensions(root: string): Promise<InstalledExtension[
}
}
async function findLatestInstalledExtension(providedPath?: string): Promise<string> {
if (providedPath) {
return providedPath;
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) {
@@ -94,7 +125,34 @@ async function findLatestInstalledExtension(providedPath?: string): Promise<stri
return installed[0].path;
}
export async function main(sourcePath = $args[0]) {
/**
* 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);
@@ -110,4 +168,9 @@ export async function main(sourcePath = $args[0]) {
}
note(`Copied installed binaries into ${$root}`);
await restoreTrackedFiles();
const installedVersion = tryParseVersion(basename(installedExtensionPath));
return installedVersion?.join('.');
}
+12 -2
View File
@@ -85,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);
}
@@ -117,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
@@ -132,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`);
}
}
+4 -2
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 '/,
@@ -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(',')
}
});
}
+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);
}
+25
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",
+3 -1
View File
@@ -27,12 +27,14 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"files.insertFinalNewline": false
"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]": {
+1 -1
View File
@@ -28,4 +28,4 @@
}
}
}
}
}
+1 -1
View File
@@ -7,4 +7,4 @@
"devDependencies": {
"yarn": "1.22.22"
}
}
}
+33 -14
View File
@@ -1,36 +1,55 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.33.2: June 26, 2026
### Bug Fixes
* Fix a regression with 'Find All References' with functions that exist in both C and C++ files. [#14546](https://github.com/microsoft/vscode-cpptools/issues/14546)
* Fix some regression crashes.
## Version 1.33.1: June 23, 2026
### Bug Fixes
* Fix 'Find All References' dropping valid references when a template parameter type has a typedef alias in only one translation unit. [#14344](https://github.com/microsoft/vscode-cpptools/issues/14344)
* Fix a crash regression on file open.
* Fix IntelliSense incorrectly resolving `#include` files through a symbolic link after the target directory was deleted from disk.
* Fix "tag parsing finished" status randomly getting reported too soon after a 'Reset IntelliSense Database' command.
## Version 1.33.0: June 22, 2026
## Version 1.33.8: August 17, 2026
### New Feature
* Unification of tag parsing with the VS implementation. In particular, it's now done using multiple parallel `cpptools-srv2` processes. [PR #14426](https://github.com/microsoft/vscode-cpptools/pull/14426)
### Enhancements
* Allow platform overrides in `cppbuild` tasks. [#11601](https://github.com/microsoft/vscode-cpptools/issues/11601)
* Add the `debuginfod` launch option to the `cppdbg` debugger schema. [#14458](https://github.com/microsoft/vscode-cpptools/issues/14458), [#14460](https://github.com/microsoft/vscode-cpptools/issues/14460), [PR #14471](https://github.com/microsoft/vscode-cpptools/pull/14471), [PR #14506](https://github.com/microsoft/vscode-cpptools/pull/14506), [MIEngine#1562](https://github.com/microsoft/MIEngine/issues/1562)
* Add the `ignoreRunWithoutDebuggingWarnings` property to allow 'Run without debugging' warnings to be suppressed. [#14515](https://github.com/microsoft/vscode-cpptools/issues/14515)
* Various localization updates.
### Bug Fixes
* Fix the wording for the `#include` errors detected message. [#8227](https://github.com/microsoft/vscode-cpptools/issues/8227)
* Fix an incorrect `invalid type conversion` IntelliSense error. [#11294](https://github.com/microsoft/vscode-cpptools/issues/11294)
* Fix include completion (with recursive includes) still suggesting headers from a deleted folder. [#12636](https://github.com/microsoft/vscode-cpptools/issues/12636)
* Fix a spurious recursive includes (`**`) debug console log warning for paths merged from `c_cpp_properties.json` when `C_Cpp.mergeConfigurations` is enabled. [#14125](https://github.com/microsoft/vscode-cpptools/issues/14125)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14620](https://github.com/microsoft/vscode-cpptools/pull/14620)
* Fix 'Find All References' dropping valid references when a template parameter type has a typedef alias in only one translation unit. [#14344](https://github.com/microsoft/vscode-cpptools/issues/14344)
* Fix the remote process picker `ps` command not working with some shells. [#14442](https://github.com/microsoft/vscode-cpptools/issues/14442)
* Thanks for the contribution. [@HuzaifaAbdulRehman](https://github.com/HuzaifaAbdulRehman) [PR #14592](https://github.com/microsoft/vscode-cpptools/pull/14592)
* Fix a spurious IntelliSense error with class template argument deduction (CTAD). [#14453](https://github.com/microsoft/vscode-cpptools/issues/14453), [#14459](https://github.com/microsoft/vscode-cpptools/issues/14459), [#14504](https://github.com/microsoft/vscode-cpptools/issues/14504)
* Add `important` to `C_Cpp.doxygen.sectionTags`. [PR #14473](https://github.com/microsoft/vscode-cpptools/pull/14473)
* Update the minimum supported VS Code version to 1.77. [PR #14502](https://github.com/microsoft/vscode-cpptools/pull/14502)
* Fix issues with the debugger `launch.json` schema. [PR #14523](https://github.com/microsoft/vscode-cpptools/pull/14523)
* Fix `[[no_unique_address]]` empty-base layout `sizeof` being computed too large. [#14524](https://github.com/microsoft/vscode-cpptools/issues/14524)
* Fix `${env:VAR}` and `${env.VAR}` not expanding to an empty string when the environment variable is unset, to match VS Code's behavior. [PR #14535](https://github.com/microsoft/vscode-cpptools/pull/14535)
* Thanks for the contribution. [@notable-equivalent](https://github.com/notable-equivalent)
* Fix C/C++ debug data-tips on members of a dereferenced expression. [PR #14540](https://github.com/microsoft/vscode-cpptools/pull/14540)
* Thanks for the contribution. [@tieo](https://github.com/tieo)
* Fix Windows backslash paths being mangled when adding an SSH target. [PR #14554](https://github.com/microsoft/vscode-cpptools/pull/14554)
* Fix 'Run C/C++ File' not running the program in PowerShell when terminal shell integration is unavailable. [#14583](https://github.com/microsoft/vscode-cpptools/issues/14583)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14585](https://github.com/microsoft/vscode-cpptools/pull/14585)
* Fix the build tools walkthrough for Visual Studio 2026. [PR #14589](https://github.com/microsoft/vscode-cpptools/pull/14589)
* Fix custom configurations being discarded when `C_Cpp.mergeConfigurations` is enabled and a provider supplies the file `uri` as a `vscode.Uri`. [#14621](https://github.com/microsoft/vscode-cpptools/issues/14621)
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14624](https://github.com/microsoft/vscode-cpptools/pull/14624)
* Fix a tag parser crash when a UTF-8 string literal is concatenated with a narrow string literal containing an invalid multibyte sequence.
* Fix IntelliSense incorrectly resolving `#include` files through a symbolic link after the target directory was deleted from disk.
* Fix potential browse database corruption when the same workspace is opened by multiple processes on Linux and macOS.
* Fix crashes when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
* Fix empty database folders being created in every folder of a multi-root workspace.
* Fix the `C_Cpp.refactoring.includeHeader` setting not honoring `always`.
* Fix spurious IntelliSense error on `std::variant` brace-initialization.
* Fix several potential deadlocks and data races in the language server.
* Fix an incorrect file path in an error message on Windows.
* Reduce memory usage to help avoid out-of-memory crashes.
* Fix stale diagnostics after editing visible headers.
* Fix several crashes in the recursive include cache.
* Fix an incorrect `#include` casing error on Linux.
* Various other fixes found internally.
* Various localization updates.
* Fix an IntelliSense crash.
* Update dependencies.
## Version 1.32.2: April 28, 2026
### New Feature
+124 -750
View File
@@ -1362,58 +1362,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
asynckit 0.4.0 - MIT
https://github.com/alexindigo/asynckit#readme
Copyright (c) 2016 Alex Indigo
The MIT License (MIT)
Copyright (c) 2016 Alex Indigo
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
axios 1.16.0 - MIT
https://axios-http.com/
Copyright (c) 2014-present, Facebook, Inc.
Copyright (c) 2026 Matt Zabriskie and contributors
Copyright (c) 2014-present Matt Zabriskie & Collaborators
# Copyright (c) 2014-present Matt Zabriskie & Collaborators
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1478,41 +1426,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
benchmark 1.0.0 - MIT
http://benchmarkjs.com/
copyright Robert Kieffer <http://broofa.com/>
Copyright 2010-2012 Mathias Bynens <http://mths.be/>
Copyright 2010-2012 Mathias Bynens <http://mathiasbynens.be/>
Copyright 2010-2012 Mathias Bynens <http://mathiasbynens.be/>
Based on JSLitmus.js, copyright Robert Kieffer <http://broofa.com/>
Modified by John-David Dalton <http://allyoucanleet.com/>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1570,6 +1483,70 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
brace-expansion 1.1.18 - MIT
https://github.com/juliangruber/brace-expansion
Copyright (c) 2013 Julian Gruber <[email protected]>
MIT License
Copyright (c) 2013 Julian Gruber <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
brace-expansion 2.1.4 - MIT
https://github.com/juliangruber/brace-expansion
Copyright (c) 2013 Julian Gruber <[email protected]>
MIT License
Copyright (c) 2013 Julian Gruber <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1603,38 +1580,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
call-bind-apply-helpers 1.0.2 - MIT
https://github.com/ljharb/call-bind-apply-helpers#readme
Copyright (c) 2024 Jordan Harband
MIT License
Copyright (c) 2024 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1668,36 +1613,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
combined-stream 1.0.8 - MIT
https://github.com/felixge/node-combined-stream
Copyright (c) 2011 Debuggable Limited <[email protected]>
Copyright (c) 2011 Debuggable Limited <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1789,68 +1704,6 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
delayed-stream 1.0.0 - MIT
https://github.com/felixge/node-delayed-stream
Copyright (c) 2011 Debuggable Limited <[email protected]>
Copyright (c) 2011 Debuggable Limited <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
dunder-proto 1.0.1 - MIT
https://github.com/es-shims/dunder-proto#readme
Copyright (c) 2024 ECMAScript Shims
MIT License
Copyright (c) 2024 ECMAScript Shims
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1893,134 +1746,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
es-define-property 1.0.1 - MIT
https://github.com/ljharb/es-define-property#readme
Copyright (c) 2024 Jordan Harband
MIT License
Copyright (c) 2024 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
es-errors 1.3.0 - MIT
https://github.com/ljharb/es-errors#readme
Copyright (c) 2024 Jordan Harband
MIT License
Copyright (c) 2024 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
es-object-atoms 1.1.1 - MIT
https://github.com/ljharb/es-object-atoms#readme
Copyright (c) 2024 Jordan Harband
MIT License
Copyright (c) 2024 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
es-set-tostringtag 2.1.0 - MIT
https://github.com/es-shims/es-set-tostringtag#readme
Copyright (c) 2022 ECMAScript Shims
MIT License
Copyright (c) 2022 ECMAScript Shims
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -2086,35 +1811,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
follow-redirects 1.16.0 - MIT
https://github.com/follow-redirects/follow-redirects
Copyright 2014-present Olivier Lalonde <[email protected]> , James Talmage <[email protected]> , Ruben Verborgh
Copyright 2014present Olivier Lalonde <[email protected]>, James Talmage <[email protected]>, Ruben Verborgh
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -2149,197 +1845,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
function-bind 1.1.2 - MIT
https://github.com/Raynos/function-bind
Copyright (c) 2013 Raynos
Copyright (c) 2013 Raynos.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
get-intrinsic 1.3.0 - MIT
https://github.com/ljharb/get-intrinsic#readme
Copyright (c) 2020 Jordan Harband
MIT License
Copyright (c) 2020 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
get-proto 1.0.1 - MIT
https://github.com/ljharb/get-proto#readme
Copyright (c) 2025 Jordan Harband
MIT License
Copyright (c) 2025 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
gopd 1.2.0 - MIT
https://github.com/ljharb/gopd#readme
Copyright (c) 2022 Jordan Harband
MIT License
Copyright (c) 2022 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
has-symbols 1.1.0 - MIT
https://github.com/ljharb/has-symbols#readme
Copyright (c) 2016 Jordan Harband
MIT License
Copyright (c) 2016 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
has-tostringtag 1.0.2 - MIT
https://github.com/inspect-js/has-tostringtag#readme
Copyright (c) 2021 Inspect JS
MIT License
Copyright (c) 2021 Inspect JS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -2527,38 +2032,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
math-intrinsics 1.1.0 - MIT
https://github.com/es-shims/math-intrinsics#readme
Copyright (c) 2024 ECMAScript Shims
MIT License
Copyright (c) 2024 ECMAScript Shims
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -2625,80 +2098,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
mime-db 1.52.0 - MIT
https://github.com/jshttp/mime-db#readme
Copyright (c) 2014 Jonathan Ong
Copyright (c) 2015-2022 Douglas Christopher Wilson
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015-2022 Douglas Christopher Wilson <[email protected]>
(The MIT License)
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015-2022 Douglas Christopher Wilson <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
mime-types 2.1.35 - MIT
https://github.com/jshttp/mime-types#readme
Copyright (c) 2014 Jonathan Ong
Copyright (c) 2015 Douglas Christopher Wilson
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015 Douglas Christopher Wilson <[email protected]>
(The MIT License)
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015 Douglas Christopher Wilson <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -3080,37 +2479,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
proxy-from-env 2.1.0 - MIT
https://github.com/Rob--W/proxy-from-env#readme
Copyright (c) 2016-2018 Rob Wu <[email protected]>
The MIT License
Copyright (C) 2016-2018 Rob Wu <[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -3241,40 +2609,6 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
shell-quote 1.8.4 - MIT
https://github.com/ljharb/shell-quote
Copyright (c) 2013 James Halliday ([email protected])
The MIT License
Copyright (c) 2013 James Halliday ([email protected])
Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and
associated documentation files (the "Software"), to
deal in the Software without restriction, including
without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom
the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice
shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -3307,6 +2641,36 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
tas-client 0.2.33 - MIT
https://github.com/microsoft/tas-client
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -3391,26 +2755,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
uuid 14.0.0 - MIT
https://github.com/uuidjs/uuid#readme
Copyright (c) 2010-2020 Robert Kieffer and other contributors
The MIT License (MIT)
Copyright (c) 2010-2020 Robert Kieffer and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -3528,6 +2872,36 @@ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
vscode-tas-client 0.1.84 - MIT
https://github.com/microsoft/tas-client
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
+2 -2
View File
@@ -2810,7 +2810,7 @@
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
"Atribut fallthrough platí jenom pro příkazy null.",
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
@@ -2999,7 +2999,7 @@
"Přiřazení k anachronizmu this není kompatibilní s režimem C++11.",
"Došlo k neznámé chybě. Soubor PCH IntelliSense se nevygeneroval.",
"Nejméně jednu ze vzdálených cest nejde namapovat na stávající místní cesty. Funkce IntelliSense možná nebude fungovat zcela podle očekávání.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+2 -2
View File
@@ -2999,7 +2999,7 @@
"Die Zuweisung zum this-Anachronismus ist mit dem C++11-Modus nicht kompatibel.",
"Unbekannter Fehler. Es wurde keine IntelliSense PCH-Datei generiert.",
"Mindestens ein Remotepfad kann vorhandenen lokalen Pfaden nicht zugeordnet werden. Die IntelliSense-Funktionen werden ggf. beeinträchtigt.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
@@ -3748,4 +3748,4 @@
"%nd wurde zuvor ohne explizite Enumerationsbasis deklariert",
"Fehlender „typename“ entspricht hier nicht dem Standard.",
"Die abgekürzte Funktionsvorlagensyntax entspricht nicht dem Standard für Deduktionsleitfäden."
]
]
+2 -2
View File
@@ -2999,7 +2999,7 @@
"la asignación al anacronismo \"this\" no es compatible con el modo C++11",
"error desconocido. No se generó un archivo IntelliSense PCH.",
"No se pueden asignar una o varias rutas remotas a las rutas locales actuales. La experiencia con IntelliSense puede degradarse.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
@@ -3748,4 +3748,4 @@
"%nd se declaró previamente sin una base explícita de enumeración",
"falta 'typename' no estándar aquí",
"La sintaxis abreviada de las plantillas de funciones no es estándar para las guías de deducción"
]
]
+1 -1
View File
@@ -2999,7 +2999,7 @@
"l'assignation à l'anachronisme 'this' n'est pas compatible avec le mode C++11",
"une erreur inconnue s'est produite. Aucun fichier PCH IntelliSense n'a été généré.",
"Impossible de mapper un ou plusieurs chemins distants à des chemins locaux existants. L'expérience IntelliSense risque d'être dégradée.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"l'assegnazione all'anacronismo 'this' non è compatibile con la modalità C++11",
"si è verificato un errore sconosciuto. Non è stato generato alcun file PCH IntelliSense.",
"Non è possibile eseguire il mapping di uno o più percorsi remoti a percorsi locali esistenti. L'operazione potrebbe influire negativamente sull'esperienza IntelliSense.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+2 -2
View File
@@ -2999,7 +2999,7 @@
"'this' への代入 (旧形式) は C++11 モードと互換性がありません",
"不明なエラーが発生しました。IntelliSense PCH ファイルは生成されませんでした。",
"1 つ以上のリモート パスを既存のローカル パスにマップできません。IntelliSense の機能が低下する可能性があります。",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL routine>",
"<NULL ルーチン>",
"<default>",
"パラメーター #",
" (1 つ上のレベル)",
+2 -2
View File
@@ -2999,7 +2999,7 @@
"'this'에 대한 할당(오래된 구문)은 C++11 모드와 호환되지 않습니다.",
"알 수 없는 오류가 발생했습니다. IntelliSense PCH 파일이 생성되지 않았습니다.",
"하나 이상의 원격 경로를 기존 로컬 경로에 매핑할 수 없습니다. IntelliSense 성능이 저하될 수 있습니다.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL routine>",
"<NULL 루틴>",
"<default>",
"parameter #",
" (한 수준 위로)",
+4 -4
View File
@@ -2739,7 +2739,7 @@
"wyrażenie niedozwolone w kontekście, którego nie obliczono",
null,
null,
"wyrażenie „return” jest niedozwolone w koprocedurze (zamiast tego użyj wyrażenia „co_return”)",
"instrukcja „return” jest niedozwolona w koprocedurze (użyj zamiast niej instrukcji „co_return”)",
"wyrażenie „co_return” jest dozwolone tylko w koprocedurach",
"nie można porównać wartości zmiennoprzecinkowych",
"nie można porównać wartości wskaźników, ponieważ nie wskazują na ten sam kompletny obiekt lub wskazują na podobiekty o różnej dostępności",
@@ -2999,7 +2999,7 @@
"przypisanie do przestarzałej konstrukcji „this” nie jest zgodne z trybem C++11",
"wystąpił nieznany błąd. Nie wygenerowano pliku PCH funkcji IntelliSense.",
"Nie można zamapować co najmniej jednej ścieżki zdalnej na istniejące ścieżki lokalne. Może to mieć negatywny wpływ na działanie funkcji IntelliSense.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
@@ -3177,7 +3177,7 @@
"brak instrukcji co_return, podczas gdy %t nie ma elementu „return_void” na końcu %n",
"nie znaleziono wariantu nothrow globalnego elementu „operator new” dla alokacji stanu koprocedury",
"nie znaleziono zdatnego do użycia elementu „operator delete” dla cofania alokacji koprocedury",
"funkcja constexpr nie może być kokprocedurą",
"funkcja constexpr nie może być koprocedurą",
"argument operacji dla tego wyrażenia %s jest rozpoznawany jako niebędący klasą typ %t",
"wyrażenie co_await jest niedozwolone w inicjatorze statycznym",
"wyrażenie co_await wywołujące funkcję %n musi być niezwracalne",
@@ -3705,7 +3705,7 @@
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL routine>",
"<procedura NULL>",
"<default>",
"parametr #",
" (jeden poziom wyżej)",
+1 -1
View File
@@ -2999,7 +2999,7 @@
"a atribuição ao anacronismo 'this' não é compatível com o modo C++11",
"erro desconhecido. Não foi gerado um arquivo PCH do IntelliSense.",
"Um ou mais caminhos remotos não podem ser mapeados para os caminhos locais existentes. A experiência do IntelliSense pode ser degradada.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"назначение устаревшему элементу this несовместимо с режимом C++11",
"произошла неизвестная ошибка. PCH-файл IntelliSense не был создан.",
"Один или несколько удаленных путей не могут быть сопоставлены с существующими локальными путями. Использование IntelliSense может быть ограничено.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"'this' anakronizmine yönelik atama C++11 modu ile uyumlu değil",
"bilinmeyen bir hata oluştu. IntelliSense PCH dosyası oluşturulmadı.",
"Bir veya daha fazla uzak yol, mevcut yerel yollarla eşlenemiyor. IntelliSense deneyimi bozulabilir.",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"对 \"this\" 计时错误的赋值与 C++11 模式不兼容",
"出现了未知错误。未生成 IntelliSense PCH 文件。",
"一个或多个远程路径无法映射到现有本地路径。IntelliSense 体验可能会降级。",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -2999,7 +2999,7 @@
"'this' 用法已過時,且這種指派與 C++11 模式不相容",
"發生未知的錯誤。未產生 IntelliSense PCH 檔案。",
"有一或多個遠端路徑無法對應到現有的本機路徑。IntelliSense 的效能可能會變差。",
null,
"too many nested user-defined conversions (possible cycle of converting routines)",
null,
null,
null,
+1 -1
View File
@@ -300,4 +300,4 @@
"version"
],
"additionalProperties": false
}
}
+12
View File
@@ -270,6 +270,18 @@ gulp.task("translations-import", (done) => {
let id = language.transifexId || language.id;
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
.pipe(nls.prepareJsonFiles())
.pipe(es.map((file, cb) => {
// vscode-nls-dev emits .i18n.json files without a trailing newline. Append one so the
// checked-in files match the repo convention (files.insertFinalNewline for [json]) and
// don't produce churn the next time they're opened and saved in VS Code.
if (file.isBuffer()) {
const contents = file.contents;
if (contents.length > 0 && contents[contents.length - 1] !== 0x0A) {
file.contents = Buffer.concat([contents, Buffer.from("\n")]);
}
}
cb(null, file);
}))
.pipe(gulp.dest(path.join("./i18n", language.folderName)))
.pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`.
}))
@@ -18,4 +18,4 @@
"reinstall.extension.text7": "然后通过 VS Code 中的市场 UI 重新安装。",
"reinstall.extension.text8": "如果 VS Code 无法部署扩展的正确版本,则可以 {0} 并使用 VS Code 中市场 UI 内 \"...\" 菜单下的 \"从 VSIX... 安装\" 选项安装系统的正确 VSIX。",
"download.vsix.link.title": "已从 VS Code 市场网站下载"
}
}
@@ -28,4 +28,4 @@
"c_cpp_properties.schema.json.definitions.env": "可以使用 `${变量}` 或 `${env:变量}` 语法在此文件中的任何位置重复使用的自定义变量。",
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制扩展是否将报告在 `c_cpp_properties.json` 中检测到的错误。"
}
}
+4 -2
View File
@@ -385,6 +385,7 @@
"c_cpp.taskDefinitions.args.quoting.weak.description": "使用 Shell 的弱引用字符来引用参数(例如在 bash 下的 \")。",
"c_cpp.taskDefinitions.options.description": "其他命令选项。",
"c_cpp.taskDefinitions.options.cwd.description": "已执行程序或脚本的当前工作目录。如果省略,则使用代码的当前工作区根。",
"c_cpp.taskDefinitions.problemMatcher.description": "用于检测任务输出中编译程序错误和警告的一个或多个问题匹配器。",
"c_cpp.taskDefinitions.detail.description": "任务的其他详细信息。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.description": "相同源树的当前路径和编译时路径。EditorPath 下的文件会映射到 CompileTimePath 路径以进行断点匹配,并在显示 stacktrace 位置时,从 CompileTimePath 映射到 EditorPath。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.editorPath.description": "编辑器将使用的源树的路径。",
@@ -392,7 +393,7 @@
"c_cpp.debuggers.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。",
"c_cpp.debuggers.unknownBreakpointHandling.description": "控制在命中时如何处理(通常通过原始 GDB 命令)外部设置的断点。\n允许的值为 \"throw\" (好像应用程序抛出了异常)和 \"stop\" (只会暂停调试会话)。默认值为 \"throw\"。",
"c_cpp.debuggers.debuginfod.description": "控制 GDB 的 debuginfod 行为,以从 debuginfod 服务器下载调试符号。",
"c_cpp.debuggers.debuginfod.enabled.description": "如果为 true (默认值)则启用 GDB 的 debuginfod 支持。设置为 false 可阻止 GDB 联系 debuginfod 服务器。",
"c_cpp.debuggers.debuginfod.enabled.description": "如果为 false (默认值)GDB 将不会连接 debuginfod 服务器。设置为 true 以启用 debuginfod 支持。",
"c_cpp.debuggers.debuginfod.timeout.description": "debuginfod 服务器请求的超时(以秒为单位)。默认值为 30。设置为 0 可使用 GDB/libdebuginfod 默认值(无替代)。",
"c_cpp.debuggers.VSSymbolOptions.description": "提供用于找到符号并将其加载到调试适配器的配置。",
"c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "在其中搜索 .pdb 文件的符号服务器 URL (例如 http://MyExampleSymbolServer)或目录(例如 /build/symbols)的数组。除了默认位置,还将搜索这些目录 - 在模块以及 pdb 最初放置到的路径的旁边。",
@@ -406,6 +407,7 @@
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.excludedModules.description": "调试程序不得为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadAllButExcluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includedModules.description": "调试程序应为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includeSymbolsNextToModules.description": "如果为 true,则对于未在 \"includedModules\" 数组中的任何模块,调试程序将在模块本身和启动可执行文件旁边进行检查,但它将不检查符号搜索列表上的路径。此选项默认为 \"true\"\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description": "如果为 true,那么在运行但不调试的情况下,当未能在终端中启动程序时不会记录任何警告。",
"c_cpp.semanticTokenTypes.referenceType.description": "C++/CLI 引用类型的样式。",
"c_cpp.semanticTokenTypes.cliProperty.description": "C++/CLI 属性的样式。",
"c_cpp.semanticTokenTypes.genericType.description": "C++/CLI 泛型类型的样式。",
@@ -458,4 +460,4 @@
"c_cpp.configuration.refactoring.includeHeader.never.description": "从不包含头文件。",
"c_cpp.languageModelTools.configuration.displayName": "C/C++ 配置",
"c_cpp.languageModelTools.configuration.userDescription": "活动 C 或 C++ 文件的配置,例如语言标准版本和目标平台。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行: "
}
}
@@ -8,4 +8,4 @@
"attach.to.process": "附加到进程",
"select.process.attach": "选择要附加到的进程",
"process.not.selected": "未选择进程。"
}
}
@@ -12,4 +12,4 @@
"no.process.list": "传输附加无法获取进程列表。",
"failed.to.make.gdb.connection": "无法建立 GDB 连接:“{0}”。",
"failed.to.parse.processes": "无法分析进程:“{0}”。"
}
}
@@ -48,4 +48,4 @@
"path.to.pipe.program": "管道程序的完整路径,如 {0}",
"enable.pretty.printing": "为 {0} 启用整齐打印",
"enable.intel.disassembly.flavor": "将反汇编风格设置为 {0}"
}
}
@@ -19,4 +19,4 @@
"launch.bash.windows": "使用 {0} 在 Windows 上的 Bash 中启动。",
"bash.on.windows.attach": "Windows 上的 Bash 附加",
"remote.attach.bash.windows": "使用 {0} 附加到在 Windows 上的 Bash 中运行的远程进程。"
}
}
@@ -6,8 +6,7 @@
{
"debugger.not.available": "调试程序类型“{0}”不适用于非 Windows 计算机。",
"debugger.noDebug.requestType.not.supported": "仅启动配置支持“运行但不调试”。",
"debugger.noDebug.pipeTransport.not.supported": "已设置 \"pipeTransport\" 的配置不支持“运行但不调试”。",
"debugger.noDebug.debugServerPath.not.supported": "已设置 \"debugServerPath\" 的配置不支持“运行但不调试”。",
"debugger.noDebug.miDebuggerServerAddress.not.supported": "已设置 \"miDebuggerServerAddress\" 的配置不支持“运行但不调试”。",
"debugger.noDebug.coreDumpPath.not.supported": "已设置 \"coreDumpPath\" 的配置不支持“运行但不调试”。"
}
"debugger.unsupported.properties": "具有以下属性的启动配置无法直接在终端中运行: {0}",
"debugger.fallback.message": "程序输出将改为显示在调试控制台中。",
"debugger.fallback.message2": "若要取消显示此警告,请在启动配置中将 'ignoreRunWithoutDebuggingWarnings' 属性设置为 true。"
}
@@ -15,4 +15,4 @@
"yes": "是",
"no": "否",
"ssh.target.delete.confirmation": "是否确定要永久删除“{0}”?"
}
}
@@ -9,4 +9,4 @@
"cancel.processList.spawn": "已取消“{0}”。",
"error.processList.spawn": "“{0}”已退出,代码为“{1}”。",
"failed.processList.spawn": "未能生成“{0}”。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"no.terminal.emulator": "找不到终端仿真器。请将 $TERMINAL 环境变量设置为你选择的终端仿真器,或安装以下程序之一: x-terminal-emulator、gnome-terminal、konsole、xterm。"
}
}
@@ -6,4 +6,4 @@
{
"generate.copilot.description": "生成 Copilot 摘要",
"copilot.disclaimer": "AI 生成的内容可能不正确。"
}
}
@@ -7,4 +7,4 @@
"expands.to": "扩展到:",
"inline.macro": "内联宏",
"inline.macro.not.available": "内联宏在此位置不可用。"
}
}
@@ -6,4 +6,4 @@
{
"invalid.identifier.for.rename": "为“重命名符号”操作提供的标识符无效。",
"unable.to.locate.selected.symbol": "找不到所选符号的定义。"
}
}
@@ -26,7 +26,7 @@
"loggingLevel.changed": "{0} 已更改为: {1}",
"dismiss.button": "消除",
"disable.warnings.button": "禁用警告",
"unable.to.provide.configuration": "{0} 无法为“{1}”提供 IntelliSense 配置信息。将改为使用“{2}”配置中的设置。",
"unable.to.provide.configuration": "{0} 无法提供 IntelliSense 配置信息。将改为使用“{1}”配置中的设置。",
"config.not.found": "找不到请求的配置名称: {0}",
"unsupported.client": "不支持的客户端",
"timed.out": "将在 {0} 毫秒后超时。",
@@ -41,4 +41,4 @@
"handle.extract.new.function": "NewFunction",
"handle.extract.error": "未能提取到函数: {0}",
"invalid.edit": "未能提取到函数。生成了无效的编辑:“{0}”"
}
}
@@ -12,4 +12,4 @@
"clear.this.problem": "清除此 {0} 问题",
"fix.this.problem": "修复此 {0} 问题",
"show.documentation.for": "显示 {0} 文档"
}
}
@@ -24,4 +24,4 @@
"multiple.paths.not.allowed": "不允许使用多个路径。",
"multiple.paths.should.be.separate.entries": "多个路径应是数组中的单独条目。",
"paths.are.not.directories": "路径不是目录: {0}"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"copilot.relatedfilesprovider.error": "检索结果时出错。原因: {0}"
}
}
@@ -13,4 +13,4 @@
"build.finished.with.error": "生成已完成,但出现错误。",
"build.finished.with.warnings": "生成已完成,但收到警告。",
"build.finished.successfully": "生成已成功完成。"
}
}
@@ -19,4 +19,4 @@
"dev.env.for": "{1} 的 {0} 开发人员环境",
"default.env": "{0} 的默认环境",
"host.target": "主机 = {0},目标 = {1}"
}
}
@@ -7,6 +7,7 @@
"learn.how.to.install.a.library": "了解如何使用 vcpkg 为此标头安装库",
"copy.vcpkg.command": "将用于安装“{0}”的 vcpkg 命令复制到剪贴板",
"on.disabled.command": "当 `C_Cpp.intelliSenseEngine` 设置为 `disabled` 时,无法执行与 IntelliSense 相关的命令。",
"switch.header.source": "正在切换标头/源...",
"client.not.found": "未找到客户端",
"ok": "确定",
"install.compiler.mac.title": "现在将安装 clang 编译器",
@@ -24,4 +25,4 @@
"copilot.hover.excluded": "包含此符号的定义或声明的文件已排除在 Copilot 的使用范围之外。",
"copilot.hover.unavailable.symbol": "Copilot 摘要不可用于此符号。",
"copilot.hover.error": "生成 Copilot 摘要时出错。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"duplicate.multiline.patterns": "检测到重复的多行注释模式。"
}
}
@@ -6,4 +6,4 @@
{
"copilot.projectcontext.error": "检索项目上下文时出错。原因: {0}",
"copilot.cppcontext.error": "检索 #cpp 上下文时出错。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"c.cpp.symbolscope.separator": "{0}{1}"
}
}
@@ -32,4 +32,4 @@
"files.confirmed": "已确认 {0} 个文件,共 {1} 个文件。{2}",
"c.cpp.peek.references": "C/C++ 速览引用",
"some.references.may.be.missing": "[警告] 某些引用可能丢失,因为在 {0} 启动时,工作区分析不完整。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"goto.reference": "转到引用"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"editorconfig.default.behavior": "代码格式设置使用 .editorconfig 中的设置,而不是 .clang-format 中的设置。有关详细信息,请参阅文档以了解 'C_Cpp.formatting' 设置的 'default' 值。"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"c.cpp.configurations": "C/C++ 配置"
}
}
@@ -53,4 +53,4 @@
"none": "无",
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
"select.workspace": "选择工作区文件夹…"
}
}
@@ -8,4 +8,4 @@
"active.ssh.target.selection.cancelled": "已取消活动 SSH 目标选择。",
"add.new.ssh.target": "{0} 添加新的 SSH 目标...",
"select.ssh.target": "选择 SSH 目标"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"ssh.target.active.description": "[活动]"
}
}
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"failed.to.connect": "未能连接到 {0}"
}
}
@@ -8,4 +8,4 @@
"local.forward.local.missing": "localForwards 中需要 \"port\" 或 \"localSocket\"",
"local.forward.remote.conflict": "在 localForwards 中,不能同时使用 \"host\" 或 \"hostPort\" 指定 \"remoteSocket\"",
"local.forward.remote.missing": "localForwards 中需要 \"host\" 和 \"hostPort\" 或 \"remoteSocket\""
}
}
@@ -17,4 +17,4 @@
"ssh.continuing.command.canceled": "已取消任务 \"{0}\",但基础命令可能不会终止。请手动进行检查。",
"ssh.process.failed": "\"{0}\" 进程失败: {1}",
"ssh.wrote.data.to.terminal": "\"{0}\" 已将数据写入终端: \"{1}\"。"
}
}
@@ -8,4 +8,4 @@
"failed.to.parse.SSH.config": "无法分析 SSH 配置文件 {0}: {1}",
"failed.to.read.file": "未能读取文件 {0}。",
"failed.to.write.file": "无法写入文件 {0}。"
}
}
+1 -1
View File
@@ -14,4 +14,4 @@
"warning.debugging.not.tested": "警告: 尚未为此平台测试调试。",
"reload.workspace.for.changes": "重新加载工作区以使设置更改生效。",
"reload.string": "重新加载"
}
}
+1 -1
View File
@@ -5,4 +5,4 @@
// Do not edit this file. It is machine generated.
{
"provider.registered": "已注册自定义配置提供程序“{0}”"
}
}

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