Skip to content

Commit 64c1327

Browse files
authored
Fix possible undefined ui, wrong experimentalFeatures scope access, and duplicate DiagnosticCollection name (#10620)
* Fix possible undefined ui and wrong experimentalFeatures scope access. * Fix DiagnosticCollection warning
1 parent 40fe35c commit 64c1327

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

Extension/src/LanguageServer/client.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import { UI, getUI } from './ui';
3737
import { createProtocolFilter } from './protocolFilter';
3838
import { DataBinding } from './dataBinding';
3939
import minimatch = require("minimatch");
40-
import { updateLanguageConfigurations, CppSourceStr, clients } from './extension';
40+
import { updateLanguageConfigurations, CppSourceStr, configPrefix, clients } from './extension';
4141
import { SettingsTracker } from './settingsTracker';
4242
import { getTestHook, TestHook } from '../testHook';
4343
import { getCustomConfigProviders, CustomConfigurationProvider1, isSameProviderExtensionId } from '../LanguageServer/customProviders';
@@ -122,7 +122,7 @@ function showMessageWindow(params: ShowMessageWindowParams): void {
122122

123123
function publishIntelliSenseDiagnostics(params: PublishIntelliSenseDiagnosticsParams): void {
124124
if (!diagnosticsCollectionIntelliSense) {
125-
diagnosticsCollectionIntelliSense = vscode.languages.createDiagnosticCollection(CppSourceStr);
125+
diagnosticsCollectionIntelliSense = vscode.languages.createDiagnosticCollection(configPrefix + "IntelliSense");
126126
}
127127

128128
// Convert from our Diagnostic objects to vscode Diagnostic objects
@@ -150,7 +150,7 @@ function publishIntelliSenseDiagnostics(params: PublishIntelliSenseDiagnosticsPa
150150

151151
function publishRefactorDiagnostics(params: PublishRefactorDiagnosticsParams): void {
152152
if (!diagnosticsCollectionRefactor) {
153-
diagnosticsCollectionRefactor = vscode.languages.createDiagnosticCollection(CppSourceStr);
153+
diagnosticsCollectionRefactor = vscode.languages.createDiagnosticCollection(configPrefix + "Refactor");
154154
}
155155

156156
const newDiagnostics: vscode.Diagnostic[] = [];

Extension/src/LanguageServer/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ export function registerCommands(enabled: boolean): void {
426426
}
427427

428428
function logForUIExperiment(command: string, sender?: any): void {
429-
const settings: CppSettings = new CppSettings((vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) ? vscode.workspace.workspaceFolders[0]?.uri : undefined);
429+
const settings: CppSettings = new CppSettings();
430430
const properties: {[key: string]: string} = {
431431
newUI: ui.isNewUI.toString(),
432432
uiOverride: (settings.experimentalFeatures ?? false).toString(),

Extension/src/LanguageServer/ui.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,9 +491,11 @@ async function _getUI(): Promise<UI> {
491491
if (!ui) {
492492
const experimentationService: IExperimentationService | undefined = await telemetry.getExperimentationService();
493493
if (experimentationService !== undefined) {
494-
const settings: CppSettings = new CppSettings((vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) ? vscode.workspace.workspaceFolders[0]?.uri : undefined);
494+
const settings: CppSettings = new CppSettings();
495495
const useNewUI: boolean | undefined = experimentationService.getTreatmentVariable<boolean>("vscode", "ShowLangStatBar");
496496
ui = useNewUI || settings.experimentalFeatures ? new NewUI() : new OldUI();
497+
} else {
498+
ui = new NewUI();
497499
}
498500
}
499501
return ui;

0 commit comments

Comments
 (0)