@@ -9,6 +9,7 @@ import { FindAllRefsView } from './referencesView';
99import * as telemetry from '../telemetry' ;
1010import * as nls from 'vscode-nls' ;
1111import { RenameView } from './renameView' ;
12+ import * as logger from '../logger' ;
1213
1314nls . config ( { messageFormat : nls . MessageFormat . bundle , bundleFormat : nls . BundleFormat . standalone } ) ( ) ;
1415const 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