Skip to content

Commit 42dfef3

Browse files
authored
Merge pull request #10728 from microsoft/main
Merge for 1.15.1
2 parents 1ce1e9c + 10125df commit 42dfef3

File tree

8 files changed

+19
-16
lines changed

8 files changed

+19
-16
lines changed

Extension/.vscode/launch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
"request": "launch",
109109
"runtimeExecutable": "${execPath}",
110110
"args": [
111-
"C:/git/Vcls-vscode-test/SingleRootProject",
111+
"C:/git/Vcls-vscode-test/MultirootDeadlockTest/test.code-workspace",
112112
"--extensionDevelopmentPath=${workspaceFolder}",
113113
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
114114
],

Extension/CHANGELOG.md

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

3-
## Version 1.15.1: March 21, 2023
3+
## Version 1.15.1: March 22, 2023
44
### Bug Fixes
55
* Fix crashes with a multiroot workspace. [#10636](https://github.com/microsoft/vscode-cpptools/issues/10636)
6+
* Fix a deadlock with a multiroot workspace. [#10719](https://github.com/microsoft/vscode-cpptools/issues/10719)
67

78
## Version 1.15.0: March 15, 2023
89
### Enhancements

Extension/src/LanguageServer/ui.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ import { NewUI } from './ui_new';
1111
import { ReferencesCommandMode, referencesCommandModeToString } from './references';
1212
import { getCustomConfigProviders, CustomConfigurationProviderCollection, isSameProviderExtensionId } from './customProviders';
1313
import * as telemetry from '../telemetry';
14-
import { IExperimentationService } from 'tas-client';
15-
import { CppSettings } from './settings';
1614

1715
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
1816
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
@@ -489,14 +487,8 @@ export async function getUI(): Promise<UI> {
489487

490488
async function _getUI(): Promise<UI> {
491489
if (!ui) {
492-
const experimentationService: IExperimentationService | undefined = await telemetry.getExperimentationService();
493-
if (experimentationService !== undefined) {
494-
const settings: CppSettings = new CppSettings();
495-
const useNewUI: boolean | undefined = experimentationService.getTreatmentVariable<boolean>("vscode", "ShowLangStatBar");
496-
ui = useNewUI || settings.experimentalFeatures ? new NewUI() : new OldUI();
497-
} else {
498-
ui = new NewUI();
499-
}
490+
const useNewUI: boolean = await telemetry.showLanguageStatusExperiment();
491+
ui = useNewUI ? new NewUI() : new OldUI();
500492
}
501493
return ui;
502494
}

Extension/src/telemetry.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import TelemetryReporter from '@vscode/extension-telemetry';
88
import { getExperimentationServiceAsync, IExperimentationService, IExperimentationTelemetry, TargetPopulation } from 'vscode-tas-client';
9+
import { CppSettings } from './LanguageServer/settings';
910
import * as util from './common';
1011

1112
interface IPackageInfo {
@@ -76,6 +77,15 @@ export function getExperimentationService(): Promise<IExperimentationService> |
7677
return initializationPromise;
7778
}
7879

80+
export async function showLanguageStatusExperiment(): Promise<boolean> {
81+
if (new CppSettings().experimentalFeatures) {
82+
return true;
83+
}
84+
const experimentationService: IExperimentationService | undefined = await getExperimentationService();
85+
const useNewUI: boolean | undefined = experimentationService?.getTreatmentVariable<boolean>("vscode", "ShowLangStatBar");
86+
return useNewUI ?? false;
87+
}
88+
7989
export async function deactivate(): Promise<void> {
8090
if (initializationPromise) {
8191
try {

Extension/test/integrationTests/IntelliSenseFeatures/inlayhints.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ suite("[Inlay hints test]", function(): void {
2828
let referenceOperatorEnabledValue: any;
2929
let referenceOperatorShowSpaceValue: any;
3030
// Test setup
31-
const rootUri: vscode.Uri = vscode.workspace.workspaceFolders[0].uri;
31+
const rootUri: vscode.Uri = vscode.workspace.workspaceFolders[1].uri;
3232
const filePath: string | undefined = rootUri.fsPath + "/inlay_hints.cpp";
3333
const fileUri: vscode.Uri = vscode.Uri.file(filePath);
3434
const disposables: vscode.Disposable[] = [];

Extension/test/integrationTests/IntelliSenseFeatures/quickInfo.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import * as testHelpers from '../testHelpers';
1212
suite("[Quick info test]", function(): void {
1313
let cpptools: apit.CppToolsTestApi;
1414
const disposables: vscode.Disposable[] = [];
15-
const filePath: string = vscode.workspace.workspaceFolders[0].uri.fsPath + "/quickInfo.cpp";
15+
const filePath: string = vscode.workspace.workspaceFolders[1].uri.fsPath + "/quickInfo.cpp";
1616
const fileUri: vscode.Uri = vscode.Uri.file(filePath);
1717
let platform: string = "";
1818

Extension/test/integrationTests/IntelliSenseFeatures/reference.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import * as apit from 'vscode-cpptools/out/testApi';
1111
suite(`[Reference test]`, function(): void {
1212
let cpptools: apit.CppToolsTestApi;
1313
const disposables: vscode.Disposable[] = [];
14-
const path: string = vscode.workspace.workspaceFolders[0].uri.fsPath + "/references.cpp";
14+
const path: string = vscode.workspace.workspaceFolders[1].uri.fsPath + "/references.cpp";
1515
const fileUri: vscode.Uri = vscode.Uri.file(path);
1616
let testHook: apit.CppToolsTestHook;
1717
let getIntelliSenseStatus: any;

Extension/test/integrationTests/IntelliSenseFeatures/runTest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ async function main() {
1212
// Passed to --extensionTestsPath
1313
const extensionTestsPath = path.resolve(__dirname, './index');
1414

15-
// Note, when running tests locally, replace testWorkspace with local path to "~/Vcls-vscode-test/SingleRootProject"
15+
// Note, when running tests locally, replace TESTS_WORKSPACE with local path to "~/Vcls-vscode-test/MultirootDeadlockTest/test.code-workspace"
1616
// in the Launch.json file.
1717
let testWorkspace: string | undefined = process.env.TESTS_WORKSPACE;
1818
if (!testWorkspace) {

0 commit comments

Comments
 (0)