Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
72e28d9
Check for more unexpected characters in crash call stack data. (#13281)
sean-mcmanus Feb 13, 2025
a6e06dc
Update the Windows SDK packages pointed to in the walkthrough (#13295)
bobbrow Feb 20, 2025
907b225
Update README and metadata for extension pack (#13298)
bobbrow Feb 21, 2025
7fbe9b1
Fix an issue with C: treated as a relative path (#13297)
Colengms Feb 21, 2025
127166d
description for svdPath doesn't appear in launch configuration (#13302)
bobbrow Feb 21, 2025
74aa385
Update code analysis mode in Language Status when the settings change…
bobbrow Feb 21, 2025
c6e6355
The other extensions don't build with yarn (#13304)
bobbrow Feb 21, 2025
879202e
Update yarn.lock (octokit/rest) (#13303)
sean-mcmanus Feb 22, 2025
9a9ac3a
Remove Compiler Argument Traits (#13278)
kuchungmsft Feb 24, 2025
388a81c
Update TPN. (#13309)
sean-mcmanus Feb 24, 2025
a2b7383
Add instrumentation support to the typescript code (#12991)
fearthecowboy Feb 26, 2025
1813c82
-new feat: add traits for C++ lang version (#13296)
lukka Mar 1, 2025
60c4434
Fix Copilot hover warning in the ExtensionHost logging. (#13316)
sean-mcmanus Mar 3, 2025
db1cfda
Stop reporting copilotHover "enabled" as invalid. (#13318)
sean-mcmanus Mar 3, 2025
8cc8535
fix type checking (#13334)
bobbrow Mar 3, 2025
db16246
telemetry metrics accommodate signed values (#13326)
lukka Mar 5, 2025
5ebe93c
Add crash log handling. (#13253)
sean-mcmanus Mar 6, 2025
5697dcc
Let native process populate default browse paths (#13342)
Colengms Mar 6, 2025
f7e2caf
Update changelog and version for 1.24.2. (#13344)
sean-mcmanus Mar 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/job-compile-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ jobs:
runs-on: ${{ inputs.runner-env }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Use Node.js 16
uses: actions/setup-node@v3
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20

- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
Expand Down
2 changes: 1 addition & 1 deletion Build/package/jobs_package_vsix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
displayName: Run VSCE to package vsix
inputs:
filename: vsce
arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
arguments: package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
workingFolder: $(Build.SourcesDirectory)\${{ parameters.srcDir }}

- task: Npm@0
Expand Down
26 changes: 26 additions & 0 deletions Extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# C/C++ for Visual Studio Code Changelog

## Version 1.24.2: March 6, 2025
### Enhancements
* Various improvements to Copilot snippets. [PR #13296](https://github.com/microsoft/vscode-cpptools/pull/13296)
* Add handling of `-cxx-isystem`, `-stblib++-isystem`, `-isystem-after`, and `--include-barrier` Clang compiler arguments when composing the order of include paths used by IntelliSense.
* Defer building of an include completion cache to another thread, improving performance when a file is opened.

### Bug Fixes
* Fix the code analysis mode in the Language Status bar not updating after the setting changes. [#13240](https://github.com/microsoft/vscode-cpptools/issues/13240)
* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287)
* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290)
* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297)
* Fix an unnecessary TU reset when a change is detected in a `compile_commands.json` file that is not used by the active configuration. [#13317](https://github.com/microsoft/vscode-cpptools/issues/13317)
* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327)
* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337)
* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times.
* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider.
* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would.
* Fix an issue with include path ordering of paths specified with the `-imsvc` argument.
* Fix a race condition that could result in incorrect include completion results.
* Fix potential IntelliSense process crashes when processing Copilot snippets.
* Fix a crash involving iconv when converting UTF-16 or UTF-32 to UTF-8.
* Fix a potential crash when using the IntelliSense cache.
* Fix an IntelliSense crash if a "bad seq number" occurs.
* Fix processes potentially getting stuck on shutdown.
* Fix a potential crash when saving a file.

## Version 1.24.1: February 13, 2025
### Bug Fixes
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
Expand Down
110 changes: 36 additions & 74 deletions Extension/ThirdPartyNotices.txt
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

---------------------------------------------------------

semver 7.6.3 - ISC
semver 7.7.1 - ISC
https://github.com/npm/node-semver#readme

Copyright Isaac Z. Schlueter
Expand Down Expand Up @@ -762,11 +762,15 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

---------------------------------------------------------

@microsoft/applicationinsights-channel-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT
@microsoft/1ds-core-js 4.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

copyright Microsoft 2018
Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

The MIT License (MIT)
Expand All @@ -791,16 +795,22 @@ 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.


---------------------------------------------------------

---------------------------------------------------------

@microsoft/applicationinsights-common 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT
@microsoft/1ds-post-js 4.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

copyright Microsoft 2018
copyright Microsoft 2020
copyright Microsoft 2018-2020
copyright Microsoft 2022 Simple
Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

The MIT License (MIT)
Expand All @@ -825,16 +835,18 @@ 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.


---------------------------------------------------------

---------------------------------------------------------

@microsoft/applicationinsights-core-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT
@microsoft/applicationinsights-channel-js 3.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

The MIT License (MIT)
Expand Down Expand Up @@ -864,13 +876,14 @@ SOFTWARE.

---------------------------------------------------------

@microsoft/1ds-core-js 4.3.3 - MIT
@microsoft/applicationinsights-common 3.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

copyright Microsoft 2018
Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) NevWare21 Solutions LLC and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC

The MIT License (MIT)

Expand All @@ -894,19 +907,19 @@ 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.


---------------------------------------------------------

---------------------------------------------------------

@microsoft/1ds-post-js 4.3.3 - MIT
@microsoft/applicationinsights-core-js 3.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

copyright Microsoft 2018
copyright Microsoft 2020
copyright Microsoft 2018-2020
copyright Microsoft 2022 Simple
Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

The MIT License (MIT)
Expand All @@ -931,6 +944,7 @@ 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.


---------------------------------------------------------

---------------------------------------------------------
Expand Down Expand Up @@ -968,11 +982,14 @@ SOFTWARE.

---------------------------------------------------------

@microsoft/applicationinsights-web-basic 3.3.3 - MIT
@microsoft/applicationinsights-web-basic 3.3.5 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme

Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

The MIT License (MIT)
Expand Down Expand Up @@ -1036,7 +1053,7 @@ SOFTWARE.

---------------------------------------------------------

@nevware21/ts-async 0.5.2 - MIT
@nevware21/ts-async 0.5.4 - MIT
https://github.com/nevware21/ts-async

Copyright (c) 2022 NevWare21 Solutions LLC
Expand Down Expand Up @@ -1071,63 +1088,8 @@ SOFTWARE.

---------------------------------------------------------

@nevware21/ts-utils 0.11.4 - MIT
https://github.com/nevware21/ts-utils

Copyright (c) 2022 NevWare21 Solutions LLC
Copyright (c) 2023 NevWare21 Solutions LLC
Copyright (c) 2024 NevWare21 Solutions LLC
Copyright (c) NevWare21 Solutions LLC and contributors

MIT License

Copyright (c) 2022 NevWare21 Solutions LLC

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.


---------------------------------------------------------

---------------------------------------------------------

@types/node 22.7.4 - MIT
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node

Copyright Node.js contributors
Copyright (c) Microsoft Corporation

MIT License

Copyright (c) <year> <copyright holders>

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.

---------------------------------------------------------

---------------------------------------------------------
@vscode/extension-telemetry 0.9.8 - MIT

@vscode/extension-telemetry 0.9.7 - MIT
https://github.com/Microsoft/vscode-extension-telemetry#readme

Copyright (c) Microsoft Corporation

Expand Down Expand Up @@ -1933,7 +1895,7 @@ SOFTWARE.

---------------------------------------------------------

node-loader 2.0.0 - MIT
node-loader 2.1.0 - MIT
https://github.com/webpack-contrib/node-loader

Copyright JS Foundation and other contributors
Expand Down Expand Up @@ -2252,7 +2214,7 @@ THE SOFTWARE.

---------------------------------------------------------

shell-quote 1.8.1 - MIT
shell-quote 1.8.2 - MIT
https://github.com/ljharb/shell-quote

Copyright (c) 2013 James Halliday (mail@substack.net)
Expand Down
6 changes: 3 additions & 3 deletions Extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "cpptools",
"displayName": "C/C++",
"description": "C/C++ IntelliSense, debugging, and code browsing.",
"version": "1.24.1-main",
"version": "1.24.2-main",
"publisher": "ms-vscode",
"icon": "LanguageCCPP_color_128x.png",
"readme": "README.md",
Expand Down Expand Up @@ -3744,7 +3744,7 @@
},
"svdPath": {
"type": "string",
"description": "%c_cpp.debuggers.cppdbg.visualizerFile.description",
"description": "%c_cpp.debuggers.cppdbg.svdPath.description%",
"default": ""
},
"showDisplayString": {
Expand Down Expand Up @@ -6542,7 +6542,7 @@
"build": "yarn prep:dts && echo [Building TypeScript code] && tsc --build tsconfig.json"
},
"devDependencies": {
"@octokit/rest": "^20.1.1",
"@octokit/rest": "^21.1.1",
"@types/glob": "^7.2.0",
"@types/mocha": "^10.0.6",
"@types/node": "^20.14.2",
Expand Down
9 changes: 5 additions & 4 deletions Extension/src/Debugger/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { TargetLeafNode, setActiveSshTarget } from '../SSH/TargetsView/targetNod
import { sshCommandToConfig } from '../SSH/sshCommandToConfig';
import { getSshConfiguration, getSshConfigurationFiles, parseFailures, writeSshConfiguration } from '../SSH/sshHosts';
import { pathAccessible } from '../common';
import { instrument } from '../instrumentation';
import { getSshChannel } from '../logger';
import { AttachItemsProvider, AttachPicker, RemoteAttachPicker } from './attachToProcess';
import { ConfigurationAssetProviderFactory, ConfigurationSnippetProvider, DebugConfigurationProvider, IConfigurationAssetProvider } from './configurationProvider';
Expand Down Expand Up @@ -46,10 +47,10 @@ export async function initialize(context: vscode.ExtensionContext): Promise<void
let cppVsDebugProvider: DebugConfigurationProvider | null = null;
if (os.platform() === 'win32') {
cppVsDebugProvider = new DebugConfigurationProvider(assetProvider, DebuggerType.cppvsdbg);
disposables.push(vscode.debug.registerDebugConfigurationProvider(DebuggerType.cppvsdbg, cppVsDebugProvider, vscode.DebugConfigurationProviderTriggerKind.Dynamic));
disposables.push(vscode.debug.registerDebugConfigurationProvider(DebuggerType.cppvsdbg, instrument(cppVsDebugProvider), vscode.DebugConfigurationProviderTriggerKind.Dynamic));
}
const cppDebugProvider: DebugConfigurationProvider = new DebugConfigurationProvider(assetProvider, DebuggerType.cppdbg);
disposables.push(vscode.debug.registerDebugConfigurationProvider(DebuggerType.cppdbg, cppDebugProvider, vscode.DebugConfigurationProviderTriggerKind.Dynamic));
disposables.push(vscode.debug.registerDebugConfigurationProvider(DebuggerType.cppdbg, instrument(cppDebugProvider), vscode.DebugConfigurationProviderTriggerKind.Dynamic));

// Register DebugConfigurationProviders for "Run and Debug" play button.
const debugProvider: DebugConfigurationProvider = new DebugConfigurationProvider(assetProvider, DebuggerType.all);
Expand All @@ -75,7 +76,7 @@ export async function initialize(context: vscode.ExtensionContext): Promise<void
}];

// ConfigurationSnippetProvider needs to be initiallized after configurationProvider calls getConfigurationSnippets.
disposables.push(vscode.languages.registerCompletionItemProvider(launchJsonDocumentSelector, new ConfigurationSnippetProvider(assetProvider)));
disposables.push(vscode.languages.registerCompletionItemProvider(launchJsonDocumentSelector, instrument(new ConfigurationSnippetProvider(assetProvider))));

// Register Debug Adapters
disposables.push(vscode.debug.registerDebugAdapterDescriptorFactory(DebuggerType.cppvsdbg, new CppvsdbgDebugAdapterDescriptorFactory(context)));
Expand All @@ -84,7 +85,7 @@ export async function initialize(context: vscode.ExtensionContext): Promise<void
// SSH Targets View
await initializeSshTargets();
const sshTargetsProvider: SshTargetsProvider = new SshTargetsProvider();
disposables.push(vscode.window.registerTreeDataProvider('CppSshTargetsView', sshTargetsProvider));
disposables.push(vscode.window.registerTreeDataProvider('CppSshTargetsView', instrument(sshTargetsProvider)));
disposables.push(vscode.commands.registerCommand(addSshTargetCmd, () => enableSshTargetsViewAndRun(addSshTargetImpl)));
disposables.push(vscode.commands.registerCommand('C_Cpp.removeSshTarget', (node?: BaseNode) => enableSshTargetsViewAndRun(removeSshTargetImpl, node)));
disposables.push(vscode.commands.registerCommand(refreshCppSshTargetsViewCmd, (node?: BaseNode) => enableSshTargetsViewAndRun((node?: BaseNode) => sshTargetsProvider.refresh(node), node)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export class CopilotHoverProvider implements vscode.HoverProvider {
}
}

if (settings.copilotHover === "default") {
if (new CppSettings().copilotHover === "default") {
// Check flight to make sure the feature is enabled.
if (!await telemetry.isFlightEnabled("CppCopilotHover")) {
return undefined;
Expand Down
Loading