Skip to content

Commit 74aa385

Browse files
authored
Update code analysis mode in Language Status when the settings change (#13301)
1 parent 127166d commit 74aa385

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

Extension/src/LanguageServer/client.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1779,6 +1779,10 @@ export class DefaultClient implements Client {
17791779
});
17801780
}
17811781

1782+
if (changedSettings['codeAnalysis.runAutomatically'] !== undefined || changedSettings['codeAnalysis.clangTidy.enabled'] !== undefined) {
1783+
ui.refreshCodeAnalysisText(this.model.isRunningCodeAnalysis.Value);
1784+
}
1785+
17821786
const showButtonSender: string = "settingsChanged";
17831787
if (changedSettings["default.configurationProvider"] !== undefined) {
17841788
void ui.ShowConfigureIntelliSenseButton(false, this, ConfigurationType.ConfigProvider, showButtonSender);

Extension/src/LanguageServer/ui.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ export class LanguageStatusUI {
200200
if (this.isParsingWorkspacePaused) {
201201
const displayTwoStatus: boolean = this.isParsingFiles && this.isParsingWorkspace;
202202
return (this.isParsingFiles ? this.parsingFilesTooltip : "")
203-
+ (displayTwoStatus ? " | " : "")
204-
+ (this.isParsingWorkspace ? this.workspaceParsingPausedText : "");
203+
+ (displayTwoStatus ? " | " : "")
204+
+ (this.isParsingWorkspace ? this.workspaceParsingPausedText : "");
205205
} else {
206206
return this.isParsingWorkspace ? this.workspaceParsingRunningText : this.parsingFilesTooltip;
207207
}
@@ -260,6 +260,13 @@ export class LanguageStatusUI {
260260
};
261261
return item;
262262
}
263+
264+
public refreshCodeAnalysisText(isRunningCodeAnalysis: boolean) {
265+
const activeText: string = this.isCodeAnalysisPaused ? this.codeAnalysisPausedText : this.codeAnalysisRunningText;
266+
const idleText: string = this.codeAnalysisModePrefix + this.codeAnalysisCurrentMode();
267+
this.codeAnalysisStatusItem.text = isRunningCodeAnalysis ? activeText : idleText;
268+
}
269+
263270
private setIsCodeAnalysisPaused(val: boolean): void {
264271
if (!this.isRunningCodeAnalysis) {
265272
return;
@@ -286,9 +293,7 @@ export class LanguageStatusUI {
286293
}
287294
this.isRunningCodeAnalysis = val;
288295
this.codeAnalysisStatusItem.busy = val;
289-
const activeText: string = this.isCodeAnalysisPaused ? this.codeAnalysisPausedText : this.codeAnalysisRunningText;
290-
const idleText: string = this.codeAnalysisModePrefix + this.codeAnalysisCurrentMode();
291-
this.codeAnalysisStatusItem.text = val ? activeText : idleText;
296+
this.refreshCodeAnalysisText(val);
292297
this.codeAnalysisStatusItem.command = val ? {
293298
command: "C_Cpp.ShowActiveCodeAnalysisCommands",
294299
title: localize("c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions", "Options"),
@@ -497,7 +502,7 @@ export class LanguageStatusUI {
497502
// TODO: Check some "AlwaysShow" setting here.
498503
this.ShowConfiguration = isCppOrRelated || (util.getWorkspaceIsCpp() &&
499504
(activeEditor.document.fileName.endsWith("tasks.json") ||
500-
activeEditor.document.fileName.endsWith("launch.json")));
505+
activeEditor.document.fileName.endsWith("launch.json")));
501506

502507
if (this.showConfigureIntelliSenseButton) {
503508
if (isCppOrRelated && !!this.currentClient && this.currentClient.getShowConfigureIntelliSenseButton()) {

0 commit comments

Comments
 (0)