3
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
4
*--------------------------------------------------------------------------------------------*/
5
5
6
- import { URI } from 'vs/base/common/uri ' ;
6
+ import * as dom from 'vs/base/browser/dom ' ;
7
7
import { normalizeGitHubUrl } from 'vs/platform/issue/common/issueReporterUtil' ;
8
8
import { IExtensionManagementService , ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement' ;
9
9
import { ExtensionType } from 'vs/platform/extensions/common/extensions' ;
10
- import { IOpenerService } from 'vs/platform/opener/common/opener' ;
11
10
import { IProductService } from 'vs/platform/product/common/productService' ;
12
11
import { IWorkbenchIssueService } from 'vs/workbench/services/issue/common/issue' ;
13
12
import { IssueReporterData } from 'vs/platform/issue/common/issue' ;
@@ -18,7 +17,6 @@ export class WebIssueService implements IWorkbenchIssueService {
18
17
19
18
constructor (
20
19
@IExtensionManagementService private readonly extensionManagementService : IExtensionManagementService ,
21
- @IOpenerService private readonly openerService : IOpenerService ,
22
20
@IProductService private readonly productService : IProductService
23
21
) { }
24
22
@@ -33,21 +31,21 @@ export class WebIssueService implements IWorkbenchIssueService {
33
31
if ( options . extensionId ) {
34
32
const extensions = await this . extensionManagementService . getInstalled ( ExtensionType . User ) ;
35
33
selectedExtension = extensions . filter ( ext => ext . identifier . id === options . extensionId ) [ 0 ] ;
36
- const extensionGitHubUrl = await this . getExtensionGitHubUrl ( selectedExtension ) ;
34
+ const extensionGitHubUrl = this . getExtensionGitHubUrl ( selectedExtension ) ;
37
35
if ( extensionGitHubUrl ) {
38
36
repositoryUrl = `${ extensionGitHubUrl } /issues/new` ;
39
37
}
40
38
}
41
39
42
40
if ( repositoryUrl ) {
43
41
repositoryUrl = `${ repositoryUrl } ?body=${ encodeURIComponent ( await this . getIssueDescription ( selectedExtension ) ) } &labels=web` ;
44
- return this . openerService . open ( URI . parse ( repositoryUrl ) ) . then ( _ => { } ) ;
42
+ dom . windowOpenNoOpener ( repositoryUrl ) ;
45
43
} else {
46
44
throw new Error ( `Unable to find issue reporting url for ${ options . extensionId } ` ) ;
47
45
}
48
46
}
49
47
50
- private async getExtensionGitHubUrl ( extension : ILocalExtension ) : Promise < string > {
48
+ private getExtensionGitHubUrl ( extension : ILocalExtension ) : string {
51
49
let repositoryUrl = '' ;
52
50
53
51
const bugsUrl = extension ?. manifest . bugs ?. url ;
@@ -64,16 +62,13 @@ export class WebIssueService implements IWorkbenchIssueService {
64
62
}
65
63
66
64
private async getIssueDescription ( extension : ILocalExtension | undefined ) : Promise < string > {
67
- return `
68
- Issue Type (Please pick one): <b>Bug | Feature request</b>
65
+ return `ADD ISSUE DESCRIPTION HERE
69
66
70
- ADD ISSUE DESCRIPTION HERE
71
-
72
- ${ extension ?. manifest . version ? `\nExtension version: ${ extension . manifest . version } ` : '' }
73
- VS Code version: ${ this . productService . version }
74
- VS Code commit: ${ this . productService . commit ?? 'unknown' }
75
- User Agent: ${ userAgent ?. replace ( ';' , ',' ) ?? 'unknown' }
67
+ Version: ${ this . productService . version }
68
+ Commit: ${ this . productService . commit ?? 'unknown' }
69
+ User Agent: ${ userAgent ?? 'unknown' }
76
70
Embedder: ${ this . productService . embedderIdentifier ?? 'unknown' }
71
+ ${ extension ?. manifest . version ? `\nExtension version: ${ extension . manifest . version } ` : '' }
77
72
<!-- generated by web issue reporter -->` ;
78
73
}
79
74
}
0 commit comments