Skip to content

Commit ec47886

Browse files
authored
Merge pull request #10609 from microsoft/main
Merge for 1.14.4 (2nd time)
2 parents 81a0264 + 40fe35c commit ec47886

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

Extension/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
# C/C++ for Visual Studio Code Changelog
22

3-
## Version 1.14.4: February 27, 2023
3+
## Version 1.14.4: February 28, 2023
44
### Enhancements
55
* Add `c23` and `c2x` support for clang and gcc modes. [#7471](https://github.com/microsoft/vscode-cpptools/issues/7471)
66
* Filter out clang-tidy `#pragma once in main file` warnings. [#10539](https://github.com/microsoft/vscode-cpptools/issues/10539)
7+
* Auto-configure `configurationProvider` even if `default.compilerPath` is set. [PR #10607](https://github.com/microsoft/vscode-cpptools/pull/10607)
78

89
### Bug Fixes
910
* Fix `--` in args making compiler querying fail. [#10529](https://github.com/microsoft/vscode-cpptools/issues/10529)
1011
* Fix every .C file being opened in a compile_commands.json if it's build for C++. [#10540](https://github.com/microsoft/vscode-cpptools/issues/10540)
1112
* Fix `-std=c++` not being used in compile_commands.json for .C files. [#10541](https://github.com/microsoft/vscode-cpptools/issues/10541)
13+
* Fix a crash when an error occurs in a forced include. [#10598](https://github.com/microsoft/vscode-cpptools/issues/10598)
14+
* Fix the configuration provider browse cache not getting cleared. [PR #10608](https://github.com/microsoft/vscode-cpptools/pull/10608)
1215
* Fix a bug that could cause IntelliSense to randomly stop updating.
1316
* Fix some random failures that could happen during database deletion.
1417
* Fix some random crashes on shutdown.

Extension/src/LanguageServer/configurations.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -951,8 +951,6 @@ export class CppProperties {
951951
// and there is only 1 registered custom config provider, default to using that provider.
952952
const providers: CustomConfigurationProviderCollection = getCustomConfigProviders();
953953
const hasEmptyConfiguration: boolean = !this.propertiesFile
954-
&& !settings.defaultCompilerPath
955-
&& settings.defaultCompilerPath !== ""
956954
&& !settings.defaultIncludePath
957955
&& !settings.defaultDefines
958956
&& !settings.defaultMacFrameworkPath
@@ -2134,6 +2132,16 @@ export class CppProperties {
21342132
}
21352133

21362134
dispose(): void {
2135+
if (this.lastCustomBrowseConfigurationProviderId !== undefined) {
2136+
const config: Configuration | undefined = this.CurrentConfiguration;
2137+
if (config !== undefined && config.configurationProvider !== this.lastCustomBrowseConfigurationProviderId.Value) {
2138+
this.lastCustomBrowseConfigurationProviderId.Value = undefined;
2139+
if (this.lastCustomBrowseConfiguration !== undefined) {
2140+
this.lastCustomBrowseConfiguration.Value = undefined;
2141+
}
2142+
}
2143+
}
2144+
21372145
this.disposables.forEach((d) => d.dispose());
21382146
this.disposables = [];
21392147

0 commit comments

Comments
 (0)