Skip to content

Commit dc6471c

Browse files
committed
Respect the newly added Background analysis scope option in OmniSharp
Related to #5998 This ensures that the Background analysis scope option becomes the source of truth for both C# extension and OmniSharp
1 parent 78b8603 commit dc6471c

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/features/diagnosticsProvider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,11 @@ class OmniSharpDiagnosticsProvider extends AbstractSupport {
135135
) {
136136
super(server, languageMiddlewareFeature);
137137

138-
this._analyzersEnabled = vscode.workspace.getConfiguration('omnisharp').get('enableRoslynAnalyzers', false);
138+
const scopeOption = vscode.workspace
139+
.getConfiguration('dotnet')
140+
.get<string>('backgroundAnalysis.analyzerDiagnosticsScope', 'openFiles');
141+
this._analyzersEnabled =
142+
vscode.workspace.getConfiguration('omnisharp').get('enableRoslynAnalyzers', false) && scopeOption != 'none';
139143
this._validationAdvisor = validationAdvisor;
140144
this._diagnostics = vscode.languages.createDiagnosticCollection('csharp');
141145
this._suppressHiddenDiagnostics = vscode.workspace

src/shared/options.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,14 @@ export class Options {
119119
'omnisharp.useEditorFormattingSettings',
120120
true
121121
);
122-
const enableRoslynAnalyzers = Options.readOption<boolean>(config, 'omnisharp.enableRoslynAnalyzers', false);
122+
const diagnosticAnalysisScope = Options.readOption<string>(
123+
config,
124+
'dotnet.backgroundAnalysis.analyzerDiagnosticsScope',
125+
'openFiles'
126+
);
127+
const enableRoslynAnalyzers =
128+
Options.readOption<boolean>(config, 'omnisharp.enableRoslynAnalyzers', false) &&
129+
diagnosticAnalysisScope != 'none';
123130
const enableEditorConfigSupport = Options.readOption<boolean>(
124131
config,
125132
'omnisharp.enableEditorConfigSupport',
@@ -138,11 +145,9 @@ export class Options {
138145
'omnisharp.enableImportCompletion'
139146
);
140147
const enableAsyncCompletion = Options.readOption<boolean>(config, 'omnisharp.enableAsyncCompletion', false);
141-
const analyzeOpenDocumentsOnly = Options.readOption<boolean>(
142-
config,
143-
'omnisharp.analyzeOpenDocumentsOnly',
144-
false
145-
);
148+
const analyzeOpenDocumentsOnly =
149+
Options.readOption<boolean>(config, 'omnisharp.analyzeOpenDocumentsOnly', false) ||
150+
diagnosticAnalysisScope == 'openFiles';
146151
const organizeImportsOnFormat = Options.readOption<boolean>(config, 'omnisharp.organizeImportsOnFormat', false);
147152
const disableMSBuildDiagnosticWarning = Options.readOption<boolean>(
148153
config,

0 commit comments

Comments
 (0)