Skip to content

Commit 66b12b8

Browse files
Jasdrielsean-mcmanus
authored andcommitted
Change "C/C++ References" output panel to "C/C++ Peek References" and create it when Peek occurs (#4363)
* change output panel and create it when Peek occurs * create output pane only on peek references
1 parent 346ee37 commit 66b12b8

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

Extension/src/LanguageServer/references.ts

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { FindAllRefsView } from './referencesView';
99
import * as telemetry from '../telemetry';
1010
import * as nls from 'vscode-nls';
1111
import { RenameView } from './renameView';
12+
import * as logger from '../logger';
1213

1314
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
1415
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
@@ -162,8 +163,6 @@ export class ReferencesManager {
162163

163164
initializeViews(): void {
164165
if (!this.viewsInitialized) {
165-
this.referencesChannel = vscode.window.createOutputChannel(localize("c.cpp.references", "C/C++ References"));
166-
this.disposables.push(this.referencesChannel);
167166
this.findAllRefsView = new FindAllRefsView();
168167
this.renameView = new RenameView();
169168
this.viewsInitialized = true;
@@ -340,12 +339,24 @@ export class ReferencesManager {
340339
this.referencesViewFindPending = false;
341340
this.clearViews();
342341

342+
if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek && !this.referencesChannel) {
343+
this.referencesChannel = vscode.window.createOutputChannel(localize("c.cpp.peek.references", "C/C++ Peek References"));
344+
this.disposables.push(this.referencesChannel);
345+
}
346+
343347
if (this.referencesStartedWhileTagParsing) {
344348
let msg: string = localize("some.references.may.be.missing", "[Warning] Some references may be missing, because workspace parsing was incomplete when {0} was started.",
345349
referencesCommandModeToString(this.client.ReferencesCommandMode));
346-
this.referencesChannel.appendLine(msg);
347-
this.referencesChannel.appendLine("");
348-
this.referencesChannel.show(true);
350+
if (this.client.ReferencesCommandMode === ReferencesCommandMode.Peek) {
351+
this.referencesChannel.appendLine(msg);
352+
this.referencesChannel.appendLine("");
353+
this.referencesChannel.show(true);
354+
} else if (this.client.ReferencesCommandMode === ReferencesCommandMode.Find) {
355+
let logChannel: vscode.OutputChannel = logger.getOutputChannel();
356+
logChannel.appendLine(msg);
357+
logChannel.appendLine("");
358+
logChannel.show(true);
359+
}
349360
}
350361

351362
let currentReferenceCommandMode: ReferencesCommandMode = this.client.ReferencesCommandMode;
@@ -411,7 +422,9 @@ export class ReferencesManager {
411422
}
412423

413424
public clearViews(): void {
414-
this.referencesChannel.clear();
425+
if (this.referencesChannel) {
426+
this.referencesChannel.clear();
427+
}
415428
this.findAllRefsView.show(false);
416429
this.renameView.show(false);
417430
}

0 commit comments

Comments
 (0)