@@ -81,15 +81,17 @@ export class IssueReporter extends Disposable {
8181 this . initServices ( configuration ) ;
8282
8383 const isSnap = process . platform === 'linux' && process . env . SNAP && process . env . SNAP_REVISION ;
84+
85+ const targetExtension = configuration . data . extensionId ? configuration . data . enabledExtensions . find ( extension => extension . id === configuration . data . extensionId ) : undefined ;
8486 this . issueReporterModel = new IssueReporterModel ( {
8587 issueType : configuration . data . issueType || IssueType . Bug ,
8688 versionInfo : {
8789 vscodeVersion : `${ product . nameShort } ${ product . version } (${ product . commit || 'Commit unknown' } , ${ product . date || 'Date unknown' } )` ,
8890 os : `${ os . type ( ) } ${ os . arch ( ) } ${ os . release ( ) } ${ isSnap ? ' snap' : '' } `
8991 } ,
9092 extensionsDisabled : ! ! this . environmentService . disableExtensions ,
91- fileOnExtension : configuration . data . extensionId ? true : undefined ,
92- selectedExtension : configuration . data . extensionId ? configuration . data . enabledExtensions . filter ( extension => extension . id === configuration . data . extensionId ) [ 0 ] : undefined
93+ fileOnExtension : configuration . data . extensionId ? ! targetExtension ?. isBuiltin : undefined ,
94+ selectedExtension : targetExtension ,
9395 } ) ;
9496
9597 const issueReporterElement = this . getElementById ( 'issue-reporter' ) ;
@@ -260,19 +262,20 @@ export class IssueReporter extends Disposable {
260262 }
261263
262264 private handleExtensionData ( extensions : IssueReporterExtensionData [ ] ) {
263- const { nonThemes, themes } = collections . groupBy ( extensions , ext => {
265+ const installedExtensions = extensions . filter ( x => ! x . isBuiltin ) ;
266+ const { nonThemes, themes } = collections . groupBy ( installedExtensions , ext => {
264267 return ext . isTheme ? 'themes' : 'nonThemes' ;
265268 } ) ;
266269
267270 const numberOfThemeExtesions = themes && themes . length ;
268- this . issueReporterModel . update ( { numberOfThemeExtesions, enabledNonThemeExtesions : nonThemes , allExtensions : extensions } ) ;
271+ this . issueReporterModel . update ( { numberOfThemeExtesions, enabledNonThemeExtesions : nonThemes , allExtensions : installedExtensions } ) ;
269272 this . updateExtensionTable ( nonThemes , numberOfThemeExtesions ) ;
270273
271- if ( this . environmentService . disableExtensions || extensions . length === 0 ) {
274+ if ( this . environmentService . disableExtensions || installedExtensions . length === 0 ) {
272275 ( < HTMLButtonElement > this . getElementById ( 'disableExtensions' ) ) . disabled = true ;
273276 }
274277
275- this . updateExtensionSelector ( extensions ) ;
278+ this . updateExtensionSelector ( installedExtensions ) ;
276279 }
277280
278281 private handleSettingsSearchData ( data : ISettingsSearchIssueReporterData ) : void {
@@ -748,10 +751,14 @@ export class IssueReporter extends Disposable {
748751
749752 private setSourceOptions ( ) : void {
750753 const sourceSelect = this . getElementById ( 'issue-source' ) ! as HTMLSelectElement ;
751- const { issueType, fileOnExtension } = this . issueReporterModel . getData ( ) ;
754+ const { issueType, fileOnExtension, selectedExtension } = this . issueReporterModel . getData ( ) ;
752755 let selected = sourceSelect . selectedIndex ;
753- if ( selected === - 1 && fileOnExtension !== undefined ) {
754- selected = fileOnExtension ? 2 : 1 ;
756+ if ( selected === - 1 ) {
757+ if ( fileOnExtension !== undefined ) {
758+ selected = fileOnExtension ? 2 : 1 ;
759+ } else if ( selectedExtension ?. isBuiltin ) {
760+ selected = 1 ;
761+ }
755762 }
756763
757764 sourceSelect . innerHTML = '' ;
0 commit comments