@codingame/monaco-vscode-issue-service-override 15.0.3 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -3
- package/vscode/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.js +55 -38
- package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/browser/issueFormService.js +9 -7
- package/vscode/src/vs/workbench/contrib/issue/browser/issueReporterPage.js +47 -32
- package/vscode/src/vs/workbench/contrib/issue/browser/issueReporterService.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/browser/issueTroubleshoot.js +23 -23
- package/vscode/src/vs/workbench/contrib/issue/browser/media/issueReporter.css +353 -0
- package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +15 -4
- package/vscode/src/vs/workbench/contrib/issue/browser/media/issueReporter.css.js +0 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-issue-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - issue service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-89a82baf-8ded-5b2f-b8af-e5fbd72dc5ad-common": "
|
|
19
|
-
"@codingame/monaco-vscode-api": "
|
|
18
|
+
"@codingame/monaco-vscode-89a82baf-8ded-5b2f-b8af-e5fbd72dc5ad-common": "16.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-api": "16.0.0"
|
|
20
20
|
},
|
|
21
21
|
"main": "index.js",
|
|
22
22
|
"module": "index.js",
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
".": {
|
|
26
26
|
"default": "./index.js"
|
|
27
27
|
},
|
|
28
|
+
"./vscode/*.css": {
|
|
29
|
+
"default": "./vscode/src/*.css"
|
|
30
|
+
},
|
|
28
31
|
"./vscode/*": {
|
|
29
32
|
"types": "./vscode/src/*.d.ts",
|
|
30
33
|
"default": "./vscode/src/*.js"
|
|
@@ -35,6 +35,8 @@ export declare class BaseIssueReporterService extends Disposable {
|
|
|
35
35
|
delayedSubmit: Delayer<void>;
|
|
36
36
|
previewButton: Button;
|
|
37
37
|
nonGitHubIssueUrl: boolean;
|
|
38
|
+
needsUpdate: boolean;
|
|
39
|
+
acknowledged: boolean;
|
|
38
40
|
constructor(disableExtensions: boolean, data: IssueReporterData, os: {
|
|
39
41
|
type: string;
|
|
40
42
|
arch: string;
|
|
@@ -47,6 +49,7 @@ export declare class BaseIssueReporterService extends Disposable {
|
|
|
47
49
|
private handleExtensionData;
|
|
48
50
|
private updateExtensionSelector;
|
|
49
51
|
private sendReporterMenu;
|
|
52
|
+
private updateAcknowledgementState;
|
|
50
53
|
setEventHandlers(): void;
|
|
51
54
|
updatePerformanceInfo(info: Partial<IssueReporterData>): void;
|
|
52
55
|
updatePreviewButtonState(): void;
|
|
@@ -60,6 +60,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
60
60
|
this.selectedExtension = '';
|
|
61
61
|
this.delayedSubmit = ( new Delayer(300));
|
|
62
62
|
this.nonGitHubIssueUrl = false;
|
|
63
|
+
this.needsUpdate = false;
|
|
64
|
+
this.acknowledged = false;
|
|
63
65
|
const targetExtension = data.extensionId ? data.enabledExtensions.find(extension => extension.id.toLocaleLowerCase() === data.extensionId?.toLocaleLowerCase()) : undefined;
|
|
64
66
|
this.issueReporterModel = ( new IssueReporterModel({
|
|
65
67
|
...data,
|
|
@@ -77,7 +79,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
77
79
|
this.issueReporterModel.update({ fileOnMarketplace, fileOnProduct });
|
|
78
80
|
const issueReporterElement = this.getElementById('issue-reporter');
|
|
79
81
|
if (issueReporterElement) {
|
|
80
|
-
this.previewButton = ( new Button(issueReporterElement, unthemedButtonStyles));
|
|
82
|
+
this.previewButton = this._register(( new Button(issueReporterElement, unthemedButtonStyles)));
|
|
81
83
|
const issueRepoName = document.createElement('a');
|
|
82
84
|
issueReporterElement.appendChild(issueRepoName);
|
|
83
85
|
issueRepoName.id = 'show-repo-name';
|
|
@@ -109,7 +111,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
109
111
|
codiconStyleSheet.textContent = iconsStyleSheet.getCSS();
|
|
110
112
|
}
|
|
111
113
|
const delayer = ( new RunOnceScheduler(updateAll, 0));
|
|
112
|
-
iconsStyleSheet.onDidChange(() => delayer.schedule());
|
|
114
|
+
this._register(iconsStyleSheet.onDidChange(() => delayer.schedule()));
|
|
113
115
|
delayer.schedule();
|
|
114
116
|
this.handleExtensionData(data.enabledExtensions);
|
|
115
117
|
this.setUpTypes();
|
|
@@ -245,7 +247,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
245
247
|
const extensionsSelector = this.getElementById('extension-selector');
|
|
246
248
|
if (extensionsSelector) {
|
|
247
249
|
const { selectedExtension } = this.issueReporterModel.getData();
|
|
248
|
-
reset(extensionsSelector, this.makeOption('', ( localize(
|
|
250
|
+
reset(extensionsSelector, this.makeOption('', ( localize(7248, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
|
|
249
251
|
if (!selectedExtension) {
|
|
250
252
|
extensionsSelector.selectedIndex = 0;
|
|
251
253
|
}
|
|
@@ -308,6 +310,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
308
310
|
return undefined;
|
|
309
311
|
}
|
|
310
312
|
}
|
|
313
|
+
updateAcknowledgementState() {
|
|
314
|
+
const acknowledgementCheckbox = this.getElementById('includeAcknowledgement');
|
|
315
|
+
if (acknowledgementCheckbox) {
|
|
316
|
+
this.acknowledged = acknowledgementCheckbox.checked;
|
|
317
|
+
this.updatePreviewButtonState();
|
|
318
|
+
}
|
|
319
|
+
}
|
|
311
320
|
setEventHandlers() {
|
|
312
321
|
['includeSystemInfo', 'includeProcessInfo', 'includeWorkspaceInfo', 'includeExtensions', 'includeExperiments', 'includeExtensionData'].forEach(elementId => {
|
|
313
322
|
this.addEventListener(elementId, 'click', (event) => {
|
|
@@ -315,6 +324,10 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
315
324
|
this.issueReporterModel.update({ [elementId]: !this.issueReporterModel.getData()[elementId] });
|
|
316
325
|
});
|
|
317
326
|
});
|
|
327
|
+
this.addEventListener('includeAcknowledgement', 'click', (event) => {
|
|
328
|
+
event.stopPropagation();
|
|
329
|
+
this.updateAcknowledgementState();
|
|
330
|
+
});
|
|
318
331
|
const showInfoElements = this.window.document.getElementsByClassName('showInfo');
|
|
319
332
|
for (let i = 0; i < showInfoElements.length; i++) {
|
|
320
333
|
const showInfo = showInfoElements.item(i);
|
|
@@ -326,11 +339,11 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
326
339
|
const info = containingElement && containingElement.lastElementChild;
|
|
327
340
|
if (info && info.classList.contains('hidden')) {
|
|
328
341
|
show(info);
|
|
329
|
-
label.textContent = ( localize(
|
|
342
|
+
label.textContent = ( localize(7249, "hide"));
|
|
330
343
|
}
|
|
331
344
|
else {
|
|
332
345
|
hide(info);
|
|
333
|
-
label.textContent = ( localize(
|
|
346
|
+
label.textContent = ( localize(7250, "show"));
|
|
334
347
|
}
|
|
335
348
|
}
|
|
336
349
|
});
|
|
@@ -350,16 +363,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
350
363
|
}
|
|
351
364
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
352
365
|
if (value === IssueSource.VSCode) {
|
|
353
|
-
descriptionTextArea.placeholder = ( localize(
|
|
366
|
+
descriptionTextArea.placeholder = ( localize(7251, "E.g Workbench is missing problems panel"));
|
|
354
367
|
}
|
|
355
368
|
else if (value === IssueSource.Extension) {
|
|
356
|
-
descriptionTextArea.placeholder = ( localize(
|
|
369
|
+
descriptionTextArea.placeholder = ( localize(7252, "E.g. Missing alt text on extension readme image"));
|
|
357
370
|
}
|
|
358
371
|
else if (value === IssueSource.Marketplace) {
|
|
359
|
-
descriptionTextArea.placeholder = ( localize(
|
|
372
|
+
descriptionTextArea.placeholder = ( localize(7253, "E.g Cannot disable installed extension"));
|
|
360
373
|
}
|
|
361
374
|
else {
|
|
362
|
-
descriptionTextArea.placeholder = ( localize(
|
|
375
|
+
descriptionTextArea.placeholder = ( localize(7254, "Please enter a title"));
|
|
363
376
|
}
|
|
364
377
|
let fileOnExtension, fileOnMarketplace = false;
|
|
365
378
|
if (value === IssueSource.Extension) {
|
|
@@ -405,11 +418,11 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
405
418
|
const { fileOnExtension, fileOnMarketplace } = this.issueReporterModel.getData();
|
|
406
419
|
this.searchIssues(title, fileOnExtension, fileOnMarketplace);
|
|
407
420
|
});
|
|
408
|
-
this.previewButton.onDidClick(async () => {
|
|
421
|
+
this._register(this.previewButton.onDidClick(async () => {
|
|
409
422
|
this.delayedSubmit.trigger(async () => {
|
|
410
423
|
this.createIssue();
|
|
411
424
|
});
|
|
412
|
-
});
|
|
425
|
+
}));
|
|
413
426
|
this.addEventListener('disableExtensions', 'click', () => {
|
|
414
427
|
this.issueFormService.reloadWithExtensionsDisabled();
|
|
415
428
|
});
|
|
@@ -462,18 +475,22 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
462
475
|
this.updatePreviewButtonState();
|
|
463
476
|
}
|
|
464
477
|
updatePreviewButtonState() {
|
|
465
|
-
if (this.
|
|
478
|
+
if (!this.acknowledged && this.needsUpdate) {
|
|
479
|
+
this.previewButton.label = ( localize(7255, "Confirm Version Acknowledgement"));
|
|
480
|
+
this.previewButton.enabled = false;
|
|
481
|
+
}
|
|
482
|
+
else if (this.isPreviewEnabled()) {
|
|
466
483
|
if (this.data.githubAccessToken) {
|
|
467
|
-
this.previewButton.label = ( localize(
|
|
484
|
+
this.previewButton.label = ( localize(7256, "Create on GitHub"));
|
|
468
485
|
}
|
|
469
486
|
else {
|
|
470
|
-
this.previewButton.label = ( localize(
|
|
487
|
+
this.previewButton.label = ( localize(7257, "Preview on GitHub"));
|
|
471
488
|
}
|
|
472
489
|
this.previewButton.enabled = true;
|
|
473
490
|
}
|
|
474
491
|
else {
|
|
475
492
|
this.previewButton.enabled = false;
|
|
476
|
-
this.previewButton.label = ( localize(
|
|
493
|
+
this.previewButton.label = ( localize(7258, "Loading data..."));
|
|
477
494
|
}
|
|
478
495
|
const issueRepoName = this.getElementById('show-repo-name');
|
|
479
496
|
const selectedExtension = this.issueReporterModel.getData().selectedExtension;
|
|
@@ -592,7 +609,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
592
609
|
}
|
|
593
610
|
else {
|
|
594
611
|
const message = $('div.list-title');
|
|
595
|
-
message.textContent = ( localize(
|
|
612
|
+
message.textContent = ( localize(7259, "GitHub query limit exceeded. Please wait."));
|
|
596
613
|
similarIssues.appendChild(message);
|
|
597
614
|
const resetTime = response.headers.get('X-RateLimit-Reset');
|
|
598
615
|
const timeToWait = resetTime ? parseInt(resetTime) - Math.floor(Date.now() / 1000) : 1;
|
|
@@ -642,7 +659,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
642
659
|
if (results.length) {
|
|
643
660
|
const issues = $('div.issues-container');
|
|
644
661
|
const issuesText = $('div.list-title');
|
|
645
|
-
issuesText.textContent = ( localize(
|
|
662
|
+
issuesText.textContent = ( localize(7260, "Similar issues"));
|
|
646
663
|
this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
|
|
647
664
|
for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
|
|
648
665
|
const issue = results[i];
|
|
@@ -658,8 +675,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
658
675
|
const issueIcon = $('span.issue-icon');
|
|
659
676
|
issueIcon.appendChild(renderIcon(issue.state === 'open' ? Codicon.issueOpened : Codicon.issueClosed));
|
|
660
677
|
const issueStateLabel = $('span.issue-state.label');
|
|
661
|
-
issueStateLabel.textContent = issue.state === 'open' ? ( localize(
|
|
662
|
-
issueState.title = issue.state === 'open' ? ( localize(
|
|
678
|
+
issueStateLabel.textContent = issue.state === 'open' ? ( localize(7261, "Open")) : ( localize(7262, "Closed"));
|
|
679
|
+
issueState.title = issue.state === 'open' ? ( localize(7261, "Open")) : ( localize(7262, "Closed"));
|
|
663
680
|
issueState.appendChild(issueIcon);
|
|
664
681
|
issueState.appendChild(issueStateLabel);
|
|
665
682
|
item = $('div.issue', undefined, issueState, link);
|
|
@@ -674,7 +691,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
674
691
|
}
|
|
675
692
|
else {
|
|
676
693
|
const message = $('div.list-title');
|
|
677
|
-
message.textContent = ( localize(
|
|
694
|
+
message.textContent = ( localize(7263, "No similar issues found"));
|
|
678
695
|
similarIssues.appendChild(message);
|
|
679
696
|
}
|
|
680
697
|
}
|
|
@@ -682,7 +699,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
682
699
|
const makeOption = (issueType, description) => $('option', { 'value': issueType.valueOf() }, escape(description));
|
|
683
700
|
const typeSelect = this.getElementById('issue-type');
|
|
684
701
|
const { issueType } = this.issueReporterModel.getData();
|
|
685
|
-
reset(typeSelect, makeOption(IssueType.Bug, ( localize(
|
|
702
|
+
reset(typeSelect, makeOption(IssueType.Bug, ( localize(7264, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(7265, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(7266, "Performance Issue (freeze, slow, crash)"))));
|
|
686
703
|
typeSelect.value = ( issueType.toString());
|
|
687
704
|
this.setSourceOptions();
|
|
688
705
|
}
|
|
@@ -712,14 +729,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
712
729
|
}
|
|
713
730
|
}
|
|
714
731
|
sourceSelect.innerText = '';
|
|
715
|
-
sourceSelect.append(this.makeOption('', ( localize(
|
|
716
|
-
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(
|
|
717
|
-
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(
|
|
732
|
+
sourceSelect.append(this.makeOption('', ( localize(7267, "Select source")), true));
|
|
733
|
+
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(7268, "Visual Studio Code")), false));
|
|
734
|
+
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(7269, "A VS Code extension")), false));
|
|
718
735
|
if (this.product.reportMarketplaceIssueUrl) {
|
|
719
|
-
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(
|
|
736
|
+
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(7270, "Extensions Marketplace")), false));
|
|
720
737
|
}
|
|
721
738
|
if (issueType !== IssueType.FeatureRequest) {
|
|
722
|
-
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(
|
|
739
|
+
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(7271, "Don't know")), false));
|
|
723
740
|
}
|
|
724
741
|
if (selected !== -1 && selected < sourceSelect.options.length) {
|
|
725
742
|
sourceSelect.selectedIndex = selected;
|
|
@@ -771,7 +788,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
771
788
|
const fileName = `extensionData_${formattedDate}_${formattedTime}.md`;
|
|
772
789
|
const handleLinkClick = async () => {
|
|
773
790
|
const downloadPath = await this.fileDialogService.showSaveDialog({
|
|
774
|
-
title: ( localize(
|
|
791
|
+
title: ( localize(7272, "Save Extension Data")),
|
|
775
792
|
availableFileSystems: [Schemas.file],
|
|
776
793
|
defaultUri: joinPath(await this.fileDialogService.defaultFilePath(Schemas.file), fileName),
|
|
777
794
|
});
|
|
@@ -787,13 +804,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
787
804
|
if (selectedExtension && this.nonGitHubIssueUrl) {
|
|
788
805
|
hide(titleTextArea);
|
|
789
806
|
hide(descriptionTextArea);
|
|
790
|
-
reset(descriptionTitle, ( localize(
|
|
807
|
+
reset(descriptionTitle, ( localize(7273, "This extension handles issues outside of VS Code")));
|
|
791
808
|
reset(descriptionSubtitle, ( localize(
|
|
792
|
-
|
|
809
|
+
7274,
|
|
793
810
|
"The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
|
|
794
811
|
selectedExtension.displayName
|
|
795
812
|
)));
|
|
796
|
-
this.previewButton.label = ( localize(
|
|
813
|
+
this.previewButton.label = ( localize(7275, "Open External Issue Reporter"));
|
|
797
814
|
return;
|
|
798
815
|
}
|
|
799
816
|
if (fileOnExtension && selectedExtension?.data) {
|
|
@@ -820,9 +837,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
820
837
|
show(extensionsBlock);
|
|
821
838
|
}
|
|
822
839
|
}
|
|
823
|
-
reset(descriptionTitle, ( localize(
|
|
840
|
+
reset(descriptionTitle, ( localize(7276, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
824
841
|
reset(descriptionSubtitle, ( localize(
|
|
825
|
-
|
|
842
|
+
7277,
|
|
826
843
|
"Share the steps needed to reliably reproduce the problem. Please include actual and expected results. We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
827
844
|
)));
|
|
828
845
|
}
|
|
@@ -840,16 +857,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
840
857
|
else if (!fileOnMarketplace) {
|
|
841
858
|
show(extensionsBlock);
|
|
842
859
|
}
|
|
843
|
-
reset(descriptionTitle, ( localize(
|
|
860
|
+
reset(descriptionTitle, ( localize(7276, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
844
861
|
reset(descriptionSubtitle, ( localize(
|
|
845
|
-
|
|
862
|
+
7278,
|
|
846
863
|
"When did this performance issue happen? Does it occur on startup or after a specific series of actions? We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
847
864
|
)));
|
|
848
865
|
}
|
|
849
866
|
else if (issueType === IssueType.FeatureRequest) {
|
|
850
|
-
reset(descriptionTitle, ( localize(
|
|
867
|
+
reset(descriptionTitle, ( localize(7279, "Description")) + ' ', $('span.required-input', undefined, '*'));
|
|
851
868
|
reset(descriptionSubtitle, ( localize(
|
|
852
|
-
|
|
869
|
+
7280,
|
|
853
870
|
"Please describe the feature you would like to see. We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
854
871
|
)));
|
|
855
872
|
}
|
|
@@ -983,7 +1000,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
983
1000
|
throw ( new CancellationError());
|
|
984
1001
|
}
|
|
985
1002
|
return baseUrl + `&body=${encodeURIComponent(( localize(
|
|
986
|
-
|
|
1003
|
+
7281,
|
|
987
1004
|
"We have written the needed data into your clipboard because it was too large to send. Please paste."
|
|
988
1005
|
)))}`;
|
|
989
1006
|
}
|
|
@@ -1153,7 +1170,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1153
1170
|
const target = this.window.document.querySelector('.block-extensions .block-info');
|
|
1154
1171
|
if (target) {
|
|
1155
1172
|
if (this.disableExtensions) {
|
|
1156
|
-
reset(target, ( localize(
|
|
1173
|
+
reset(target, ( localize(7282, "Extensions are disabled")));
|
|
1157
1174
|
return;
|
|
1158
1175
|
}
|
|
1159
1176
|
const themeExclusionStr = numThemeExtensions ? `\n(${numThemeExtensions} theme extensions excluded)` : '';
|
|
@@ -35,5 +35,5 @@ WebIssueContribution = ( __decorate([
|
|
|
35
35
|
], WebIssueContribution));
|
|
36
36
|
( Registry.as(Extensions$1.Workbench)).registerWorkbenchContribution(WebIssueContribution, LifecyclePhase.Restored);
|
|
37
37
|
CommandsRegistry.registerCommand('_issues.getSystemStatus', (accessor) => {
|
|
38
|
-
return localize(
|
|
38
|
+
return localize(7283, "The --status argument is not yet supported in browsers.");
|
|
39
39
|
});
|
|
@@ -18,7 +18,7 @@ import { IAuxiliaryWindowService } from '@codingame/monaco-vscode-api/vscode/vs/
|
|
|
18
18
|
import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
|
|
19
19
|
import BaseHtml from './issueReporterPage.js';
|
|
20
20
|
import { IssueWebReporter } from './issueReporterService.js';
|
|
21
|
-
import './media/issueReporter.css
|
|
21
|
+
import './media/issueReporter.css';
|
|
22
22
|
|
|
23
23
|
let IssueFormService = class IssueFormService {
|
|
24
24
|
constructor(instantiationService, auxiliaryWindowService, menuService, contextKeyService, logService, dialogService, hostService) {
|
|
@@ -68,9 +68,11 @@ let IssueFormService = class IssueFormService {
|
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
console.error('Failed to open auxiliary window');
|
|
71
|
+
disposables.dispose();
|
|
71
72
|
}
|
|
72
73
|
this.issueReporterWindow?.addEventListener('beforeunload', () => {
|
|
73
74
|
auxiliaryWindow.window.close();
|
|
75
|
+
disposables.dispose();
|
|
74
76
|
this.issueReporterWindow = null;
|
|
75
77
|
});
|
|
76
78
|
}
|
|
@@ -114,19 +116,19 @@ let IssueFormService = class IssueFormService {
|
|
|
114
116
|
await this.dialogService.prompt({
|
|
115
117
|
type: Severity.Warning,
|
|
116
118
|
message: ( localize(
|
|
117
|
-
|
|
119
|
+
7284,
|
|
118
120
|
"Your input will not be saved. Are you sure you want to close this window?"
|
|
119
121
|
)),
|
|
120
122
|
buttons: [
|
|
121
123
|
{
|
|
122
|
-
label: ( localize(
|
|
124
|
+
label: ( localize(7285, "&&Yes")),
|
|
123
125
|
run: () => {
|
|
124
126
|
this.closeReporter();
|
|
125
127
|
this.issueReporterWindow = null;
|
|
126
128
|
}
|
|
127
129
|
},
|
|
128
130
|
{
|
|
129
|
-
label: ( localize(
|
|
131
|
+
label: ( localize(7286, "Cancel")),
|
|
130
132
|
run: () => { }
|
|
131
133
|
}
|
|
132
134
|
]
|
|
@@ -137,16 +139,16 @@ let IssueFormService = class IssueFormService {
|
|
|
137
139
|
await this.dialogService.prompt({
|
|
138
140
|
type: Severity.Warning,
|
|
139
141
|
message: ( localize(
|
|
140
|
-
|
|
142
|
+
7287,
|
|
141
143
|
"There is too much data to send to GitHub directly. The data will be copied to the clipboard, please paste it into the GitHub issue page that is opened."
|
|
142
144
|
)),
|
|
143
145
|
buttons: [
|
|
144
146
|
{
|
|
145
|
-
label: ( localize(
|
|
147
|
+
label: ( localize(7288, "&&OK")),
|
|
146
148
|
run: () => { result = true; }
|
|
147
149
|
},
|
|
148
150
|
{
|
|
149
|
-
label: ( localize(
|
|
151
|
+
label: ( localize(7286, "Cancel")),
|
|
150
152
|
run: () => { result = false; }
|
|
151
153
|
}
|
|
152
154
|
]
|
|
@@ -2,56 +2,65 @@
|
|
|
2
2
|
import { escape } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
4
|
|
|
5
|
-
const sendSystemInfoLabel = escape(( localize(
|
|
6
|
-
const sendProcessInfoLabel = escape(( localize(
|
|
7
|
-
const sendWorkspaceInfoLabel = escape(( localize(
|
|
8
|
-
const sendExtensionsLabel = escape(( localize(
|
|
9
|
-
const sendExperimentsLabel = escape(( localize(
|
|
10
|
-
const sendExtensionData = escape(( localize(
|
|
5
|
+
const sendSystemInfoLabel = escape(( localize(7289, "Include my system information")));
|
|
6
|
+
const sendProcessInfoLabel = escape(( localize(7290, "Include my currently running processes")));
|
|
7
|
+
const sendWorkspaceInfoLabel = escape(( localize(7291, "Include my workspace metadata")));
|
|
8
|
+
const sendExtensionsLabel = escape(( localize(7292, "Include my enabled extensions")));
|
|
9
|
+
const sendExperimentsLabel = escape(( localize(7293, "Include A/B experiment info")));
|
|
10
|
+
const sendExtensionData = escape(( localize(7294, "Include additional extension info")));
|
|
11
|
+
const acknowledgementsLabel = escape(( localize(
|
|
12
|
+
7295,
|
|
13
|
+
"I acknowledge that my VS Code version is not updated and this issue may be closed."
|
|
14
|
+
)));
|
|
11
15
|
const reviewGuidanceLabel = ( localize(
|
|
12
|
-
|
|
13
|
-
'Before you report an issue here please <a href="https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
|
|
16
|
+
7296,
|
|
17
|
+
'Before you report an issue here please <a href="https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>. Please complete the form in English.'
|
|
14
18
|
));
|
|
15
19
|
var BaseHtml = () => `
|
|
20
|
+
<div id="update-banner" class="issue-reporter-update-banner hidden">
|
|
21
|
+
<span class="update-banner-text" id="update-banner-text">
|
|
22
|
+
<!-- To be dynamically filled -->
|
|
23
|
+
</span>
|
|
24
|
+
</div>
|
|
16
25
|
<div class="issue-reporter" id="issue-reporter">
|
|
17
|
-
<div id="english" class="input-group hidden">${escape(( localize(
|
|
26
|
+
<div id="english" class="input-group hidden">${escape(( localize(7297, "Please complete the form in English.")))}</div>
|
|
18
27
|
|
|
19
28
|
<div id="review-guidance-help-text" class="input-group">${reviewGuidanceLabel}</div>
|
|
20
29
|
|
|
21
30
|
<div class="section">
|
|
22
31
|
<div class="input-group">
|
|
23
|
-
<label class="inline-label" for="issue-type">${escape(( localize(
|
|
32
|
+
<label class="inline-label" for="issue-type">${escape(( localize(7298, "This is a")))}</label>
|
|
24
33
|
<select id="issue-type" class="inline-form-control">
|
|
25
34
|
<!-- To be dynamically filled -->
|
|
26
35
|
</select>
|
|
27
36
|
</div>
|
|
28
37
|
|
|
29
38
|
<div class="input-group" id="problem-source">
|
|
30
|
-
<label class="inline-label" for="issue-source">${escape(( localize(
|
|
39
|
+
<label class="inline-label" for="issue-source">${escape(( localize(7299, "For")))} <span class="required-input">*</span></label>
|
|
31
40
|
<select id="issue-source" class="inline-form-control" required>
|
|
32
41
|
<!-- To be dynamically filled -->
|
|
33
42
|
</select>
|
|
34
|
-
<div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
43
|
+
<div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7300, "An issue source is required.")))}</div>
|
|
35
44
|
<div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
|
|
36
|
-
|
|
45
|
+
7301,
|
|
37
46
|
"Try to reproduce the problem after {0}. If the problem only reproduces when extensions are active, it is likely an issue with an extension."
|
|
38
47
|
)))
|
|
39
|
-
.replace('{0}', () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(
|
|
48
|
+
.replace('{0}', () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(7302, "disabling all extensions and reloading the window")))}</span>`)}
|
|
40
49
|
</div>
|
|
41
50
|
|
|
42
51
|
<div id="extension-selection">
|
|
43
|
-
<label class="inline-label" for="extension-selector">${escape(( localize(
|
|
52
|
+
<label class="inline-label" for="extension-selector">${escape(( localize(7303, "Extension")))} <span class="required-input">*</span></label>
|
|
44
53
|
<select id="extension-selector" class="inline-form-control">
|
|
45
54
|
<!-- To be dynamically filled -->
|
|
46
55
|
</select>
|
|
47
56
|
<div id="extension-selection-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
48
|
-
|
|
57
|
+
7304,
|
|
49
58
|
"The issue reporter is unable to create issues for this extension. Please visit {0} to report an issue."
|
|
50
59
|
)))
|
|
51
60
|
.replace('{0}', () => `<span tabIndex=0 role="button" id="extensionBugsLink" class="workbenchCommand"><!-- To be dynamically filled --></span>`)}</div>
|
|
52
61
|
<div id="extension-selection-validation-error-no-url" class="validation-error hidden" role="alert">
|
|
53
62
|
${escape(( localize(
|
|
54
|
-
|
|
63
|
+
7305,
|
|
55
64
|
"The issue reporter is unable to create issues for this extension, as it does not specify a URL for reporting issues. Please check the marketplace page of this extension to see if other instructions are available."
|
|
56
65
|
)))}
|
|
57
66
|
</div>
|
|
@@ -59,10 +68,10 @@ var BaseHtml = () => `
|
|
|
59
68
|
</div>
|
|
60
69
|
|
|
61
70
|
<div id="issue-title-container" class="input-group">
|
|
62
|
-
<label class="inline-label" for="issue-title">${escape(( localize(
|
|
63
|
-
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(
|
|
64
|
-
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
65
|
-
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
71
|
+
<label class="inline-label" for="issue-title">${escape(( localize(7306, "Title")))} <span class="required-input">*</span></label>
|
|
72
|
+
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(7307, "Please enter a title.")))}" required>
|
|
73
|
+
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7308, "A title is required.")))}</div>
|
|
74
|
+
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(7309, "The title is too long.")))}</div>
|
|
66
75
|
<small id="similar-issues">
|
|
67
76
|
<!-- To be dynamically filled -->
|
|
68
77
|
</small>
|
|
@@ -78,10 +87,10 @@ var BaseHtml = () => `
|
|
|
78
87
|
<!-- To be dynamically filled -->
|
|
79
88
|
</div>
|
|
80
89
|
<div class="block-info-text">
|
|
81
|
-
<textarea name="description" id="description" placeholder="${escape(( localize(
|
|
90
|
+
<textarea name="description" id="description" placeholder="${escape(( localize(7310, "Please enter details.")))}" required></textarea>
|
|
82
91
|
</div>
|
|
83
|
-
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
84
|
-
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
92
|
+
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7311, "A description is required.")))}</div>
|
|
93
|
+
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(7312, "Please provide a longer description.")))}</div>
|
|
85
94
|
</div>
|
|
86
95
|
|
|
87
96
|
<div class="system-info" id="block-container">
|
|
@@ -90,10 +99,10 @@ var BaseHtml = () => `
|
|
|
90
99
|
<label class="extension-caption" id="extension-caption" for="includeExtensionData">
|
|
91
100
|
${sendExtensionData}
|
|
92
101
|
<span id="ext-loading" hidden></span>
|
|
93
|
-
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(
|
|
94
|
-
<a id="extension-data-download">${escape(( localize(
|
|
102
|
+
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(7313, "show")))}</a><span class="ext-parens" hidden>)</span>
|
|
103
|
+
<a id="extension-data-download">${escape(( localize(7314, "Download Extension Data")))}</a>
|
|
95
104
|
</label>
|
|
96
|
-
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(
|
|
105
|
+
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(7315, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap; user-select: text;">
|
|
97
106
|
<!-- To be dynamically filled -->
|
|
98
107
|
</pre>
|
|
99
108
|
</div>
|
|
@@ -102,7 +111,7 @@ var BaseHtml = () => `
|
|
|
102
111
|
<input class="sendData" aria-label="${sendSystemInfoLabel}" type="checkbox" id="includeSystemInfo" checked/>
|
|
103
112
|
<label class="caption" for="includeSystemInfo">
|
|
104
113
|
${sendSystemInfoLabel}
|
|
105
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
114
|
+
(<a href="#" class="showInfo">${escape(( localize(7313, "show")))}</a>)
|
|
106
115
|
</label>
|
|
107
116
|
<div class="block-info hidden" style="user-select: text;">
|
|
108
117
|
<!-- To be dynamically filled -->
|
|
@@ -112,7 +121,7 @@ var BaseHtml = () => `
|
|
|
112
121
|
<input class="sendData" aria-label="${sendProcessInfoLabel}" type="checkbox" id="includeProcessInfo" checked/>
|
|
113
122
|
<label class="caption" for="includeProcessInfo">
|
|
114
123
|
${sendProcessInfoLabel}
|
|
115
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
124
|
+
(<a href="#" class="showInfo">${escape(( localize(7313, "show")))}</a>)
|
|
116
125
|
</label>
|
|
117
126
|
<pre class="block-info hidden" style="user-select: text;">
|
|
118
127
|
<code>
|
|
@@ -124,7 +133,7 @@ var BaseHtml = () => `
|
|
|
124
133
|
<input class="sendData" aria-label="${sendWorkspaceInfoLabel}" type="checkbox" id="includeWorkspaceInfo" checked/>
|
|
125
134
|
<label class="caption" for="includeWorkspaceInfo">
|
|
126
135
|
${sendWorkspaceInfoLabel}
|
|
127
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
136
|
+
(<a href="#" class="showInfo">${escape(( localize(7313, "show")))}</a>)
|
|
128
137
|
</label>
|
|
129
138
|
<pre id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
130
139
|
<code>
|
|
@@ -136,7 +145,7 @@ var BaseHtml = () => `
|
|
|
136
145
|
<input class="sendData" aria-label="${sendExtensionsLabel}" type="checkbox" id="includeExtensions" checked/>
|
|
137
146
|
<label class="caption" for="includeExtensions">
|
|
138
147
|
${sendExtensionsLabel}
|
|
139
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
148
|
+
(<a href="#" class="showInfo">${escape(( localize(7313, "show")))}</a>)
|
|
140
149
|
</label>
|
|
141
150
|
<div id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
142
151
|
<!-- To be dynamically filled -->
|
|
@@ -146,12 +155,18 @@ var BaseHtml = () => `
|
|
|
146
155
|
<input class="sendData" aria-label="${sendExperimentsLabel}" type="checkbox" id="includeExperiments" checked/>
|
|
147
156
|
<label class="caption" for="includeExperiments">
|
|
148
157
|
${sendExperimentsLabel}
|
|
149
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
158
|
+
(<a href="#" class="showInfo">${escape(( localize(7313, "show")))}</a>)
|
|
150
159
|
</label>
|
|
151
160
|
<pre class="block-info hidden" style="user-select: text;">
|
|
152
161
|
<!-- To be dynamically filled -->
|
|
153
162
|
</pre>
|
|
154
163
|
</div>
|
|
164
|
+
<div class="block block-acknowledgements hidden" id="version-acknowledgements">
|
|
165
|
+
<input class="sendData" aria-label="${acknowledgementsLabel}" type="checkbox" id="includeAcknowledgement"/>
|
|
166
|
+
<label class="caption" for="includeAcknowledgement">
|
|
167
|
+
${acknowledgementsLabel}
|
|
168
|
+
</label>
|
|
169
|
+
</div>
|
|
155
170
|
</div>
|
|
156
171
|
</div>`;
|
|
157
172
|
|
|
@@ -26,7 +26,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
|
|
|
26
26
|
this.issueReporterModel.update({ issueType: issueType });
|
|
27
27
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
28
28
|
if (descriptionTextArea) {
|
|
29
|
-
descriptionTextArea.placeholder = ( localize(
|
|
29
|
+
descriptionTextArea.placeholder = ( localize(7316, "Please enter a title"));
|
|
30
30
|
}
|
|
31
31
|
this.updatePreviewButtonState();
|
|
32
32
|
this.setSourceOptions();
|
|
@@ -85,13 +85,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
85
85
|
throw ( new Error('invalid state'));
|
|
86
86
|
}
|
|
87
87
|
const res = await this.dialogService.confirm({
|
|
88
|
-
message: ( localize(
|
|
88
|
+
message: ( localize(7317, "Troubleshoot Issue")),
|
|
89
89
|
detail: ( localize(
|
|
90
|
-
|
|
90
|
+
7318,
|
|
91
91
|
"Issue troubleshooting is a process to help you identify the cause for an issue. The cause for an issue can be a misconfiguration, due to an extension, or be {0} itself.\n\nDuring the process the window reloads repeatedly. Each time you must confirm if you are still seeing the issue.",
|
|
92
92
|
this.productService.nameLong
|
|
93
93
|
)),
|
|
94
|
-
primaryButton: ( localize(
|
|
94
|
+
primaryButton: ( localize(7319, "&&Troubleshoot Issue")),
|
|
95
95
|
custom: true
|
|
96
96
|
});
|
|
97
97
|
if (!res.confirmed) {
|
|
@@ -135,7 +135,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
137
|
const result = await this.askToReproduceIssue(( localize(
|
|
138
|
-
|
|
138
|
+
7320,
|
|
139
139
|
"Issue troubleshooting is active and has temporarily disabled all installed extensions. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
140
140
|
)));
|
|
141
141
|
if (result === 'good') {
|
|
@@ -153,7 +153,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
153
153
|
await this.userDataProfileManagementService.createAndEnterTransientProfile();
|
|
154
154
|
this.updateState(this.state);
|
|
155
155
|
const result = await this.askToReproduceIssue(( localize(
|
|
156
|
-
|
|
156
|
+
7321,
|
|
157
157
|
"Issue troubleshooting is active and has temporarily reset your configurations to defaults. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
158
158
|
)));
|
|
159
159
|
if (result === 'stop') {
|
|
@@ -161,13 +161,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
161
161
|
}
|
|
162
162
|
if (result === 'good') {
|
|
163
163
|
await this.askToReportIssue(( localize(
|
|
164
|
-
|
|
164
|
+
7322,
|
|
165
165
|
"Issue troubleshooting has identified that the issue is caused by your configurations. Please report the issue by exporting your configurations using \"Export Profile\" command and share the file in the issue report."
|
|
166
166
|
)));
|
|
167
167
|
}
|
|
168
168
|
if (result === 'bad') {
|
|
169
169
|
await this.askToReportIssue(( localize(
|
|
170
|
-
|
|
170
|
+
7323,
|
|
171
171
|
"Issue troubleshooting has identified that the issue is with {0}.",
|
|
172
172
|
this.productService.nameLong
|
|
173
173
|
)));
|
|
@@ -182,15 +182,15 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
182
182
|
askToReproduceIssue(message) {
|
|
183
183
|
return (new Promise((c, e) => {
|
|
184
184
|
const goodPrompt = {
|
|
185
|
-
label: ( localize(
|
|
185
|
+
label: ( localize(7324, "I Can't Reproduce")),
|
|
186
186
|
run: () => c('good')
|
|
187
187
|
};
|
|
188
188
|
const badPrompt = {
|
|
189
|
-
label: ( localize(
|
|
189
|
+
label: ( localize(7325, "I Can Reproduce")),
|
|
190
190
|
run: () => c('bad')
|
|
191
191
|
};
|
|
192
192
|
const stop = {
|
|
193
|
-
label: ( localize(
|
|
193
|
+
label: ( localize(7326, "Stop")),
|
|
194
194
|
run: () => c('stop')
|
|
195
195
|
};
|
|
196
196
|
this.notificationHandle = this.notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], { sticky: true, priority: NotificationPriority.URGENT });
|
|
@@ -203,9 +203,9 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
203
203
|
if (res === 'good') {
|
|
204
204
|
await this.dialogService.prompt({
|
|
205
205
|
type: Severity.Info,
|
|
206
|
-
message: ( localize(
|
|
206
|
+
message: ( localize(7317, "Troubleshoot Issue")),
|
|
207
207
|
detail: ( localize(
|
|
208
|
-
|
|
208
|
+
7327,
|
|
209
209
|
"This likely means that the issue has been addressed already and will be available in an upcoming release. You can safely use {0} insiders until the new stable version is available.",
|
|
210
210
|
this.productService.nameLong
|
|
211
211
|
)),
|
|
@@ -228,11 +228,11 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
228
228
|
async askToReproduceIssueWithInsiders() {
|
|
229
229
|
const confirmRes = await this.dialogService.confirm({
|
|
230
230
|
type: 'info',
|
|
231
|
-
message: ( localize(
|
|
232
|
-
primaryButton: ( localize(
|
|
233
|
-
cancelButton: ( localize(
|
|
231
|
+
message: ( localize(7317, "Troubleshoot Issue")),
|
|
232
|
+
primaryButton: ( localize(7328, "Download {0} Insiders", this.productService.nameLong)),
|
|
233
|
+
cancelButton: ( localize(7329, "Report Issue Anyway")),
|
|
234
234
|
detail: ( localize(
|
|
235
|
-
|
|
235
|
+
7330,
|
|
236
236
|
"Please try to download and reproduce the issue in {0} insiders.",
|
|
237
237
|
this.productService.nameLong
|
|
238
238
|
)),
|
|
@@ -249,20 +249,20 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
249
249
|
}
|
|
250
250
|
const res = await this.dialogService.prompt({
|
|
251
251
|
type: 'info',
|
|
252
|
-
message: ( localize(
|
|
252
|
+
message: ( localize(7317, "Troubleshoot Issue")),
|
|
253
253
|
buttons: [{
|
|
254
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(7331, "I can't reproduce")),
|
|
255
255
|
run: () => 'good'
|
|
256
256
|
}, {
|
|
257
|
-
label: ( localize(
|
|
257
|
+
label: ( localize(7332, "I can reproduce")),
|
|
258
258
|
run: () => 'bad'
|
|
259
259
|
}],
|
|
260
260
|
cancelButton: {
|
|
261
|
-
label: ( localize(
|
|
261
|
+
label: ( localize(7333, "Stop")),
|
|
262
262
|
run: () => 'stop'
|
|
263
263
|
},
|
|
264
264
|
detail: ( localize(
|
|
265
|
-
|
|
265
|
+
7334,
|
|
266
266
|
"Please try to reproduce the issue in {0} insiders and confirm if the issue exists there.",
|
|
267
267
|
this.productService.nameLong
|
|
268
268
|
)),
|
|
@@ -337,7 +337,7 @@ registerAction2(class TroubleshootIssueAction extends Action2 {
|
|
|
337
337
|
constructor() {
|
|
338
338
|
super({
|
|
339
339
|
id: 'workbench.action.troubleshootIssue.start',
|
|
340
|
-
title: ( localize2(
|
|
340
|
+
title: ( localize2(7335, 'Troubleshoot Issue...')),
|
|
341
341
|
category: Categories.Help,
|
|
342
342
|
f1: true,
|
|
343
343
|
precondition: ( ContextKeyExpr.and(( IssueTroubleshootUi.ctxIsTroubleshootActive.negate()), ( RemoteNameContext.isEqualTo('')), ( IsWebContext.negate()))),
|
|
@@ -351,7 +351,7 @@ registerAction2(class extends Action2 {
|
|
|
351
351
|
constructor() {
|
|
352
352
|
super({
|
|
353
353
|
id: 'workbench.action.troubleshootIssue.stop',
|
|
354
|
-
title: ( localize2(
|
|
354
|
+
title: ( localize2(7336, 'Stop Troubleshoot Issue')),
|
|
355
355
|
category: Categories.Help,
|
|
356
356
|
f1: true,
|
|
357
357
|
precondition: IssueTroubleshootUi.ctxIsTroubleshootActive
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
.web.issue-reporter-body {
|
|
2
|
+
position: absolute;
|
|
3
|
+
overflow-y: scroll;
|
|
4
|
+
}
|
|
5
|
+
.web.issue-reporter-body .monaco-workbench select{
|
|
6
|
+
-webkit-appearance: auto;
|
|
7
|
+
appearance: auto;
|
|
8
|
+
}
|
|
9
|
+
.issue-reporter table {
|
|
10
|
+
width: 100%;
|
|
11
|
+
max-width: 100%;
|
|
12
|
+
background-color: transparent;
|
|
13
|
+
border-collapse: collapse;
|
|
14
|
+
}
|
|
15
|
+
.issue-reporter th {
|
|
16
|
+
vertical-align: bottom;
|
|
17
|
+
border-bottom: 1px solid;
|
|
18
|
+
padding: 5px;
|
|
19
|
+
text-align: inherit;
|
|
20
|
+
}
|
|
21
|
+
.issue-reporter td {
|
|
22
|
+
padding: 5px;
|
|
23
|
+
vertical-align: top;
|
|
24
|
+
}
|
|
25
|
+
.issue-reporter tr td:first-child {
|
|
26
|
+
width: 30%;
|
|
27
|
+
}
|
|
28
|
+
.issue-reporter label {
|
|
29
|
+
user-select: none;
|
|
30
|
+
}
|
|
31
|
+
.issue-reporter .block-settingsSearchResults-details {
|
|
32
|
+
padding-bottom: .5rem;
|
|
33
|
+
}
|
|
34
|
+
.issue-reporter .block-settingsSearchResults-details > div {
|
|
35
|
+
padding: .5rem .75rem;
|
|
36
|
+
}
|
|
37
|
+
.issue-reporter .section {
|
|
38
|
+
margin-bottom: .5em;
|
|
39
|
+
}
|
|
40
|
+
.issue-reporter input[type="text"],
|
|
41
|
+
.issue-reporter textarea {
|
|
42
|
+
display: block;
|
|
43
|
+
width: 100%;
|
|
44
|
+
padding: .375rem .75rem;
|
|
45
|
+
font-size: 1rem;
|
|
46
|
+
line-height: 1.5;
|
|
47
|
+
color: #495057;
|
|
48
|
+
background-color: #fff;
|
|
49
|
+
border: 1px solid #ced4da;
|
|
50
|
+
}
|
|
51
|
+
.issue-reporter textarea {
|
|
52
|
+
overflow: auto;
|
|
53
|
+
resize: vertical;
|
|
54
|
+
}
|
|
55
|
+
.issue-reporter .monaco-text-button {
|
|
56
|
+
display: block;
|
|
57
|
+
width: auto;
|
|
58
|
+
padding: 4px 10px;
|
|
59
|
+
align-self: flex-end;
|
|
60
|
+
margin-bottom: 1em;
|
|
61
|
+
font-size: 13px;
|
|
62
|
+
}
|
|
63
|
+
.issue-reporter select {
|
|
64
|
+
height: calc(2.25rem + 2px);
|
|
65
|
+
display: inline-block;
|
|
66
|
+
padding: 3px 3px;
|
|
67
|
+
font-size: 14px;
|
|
68
|
+
line-height: 1.5;
|
|
69
|
+
color: #495057;
|
|
70
|
+
background-color: #fff;
|
|
71
|
+
}
|
|
72
|
+
.issue-reporter * {
|
|
73
|
+
box-sizing: border-box;
|
|
74
|
+
}
|
|
75
|
+
.issue-reporter textarea,
|
|
76
|
+
.issue-reporter input,
|
|
77
|
+
.issue-reporter select {
|
|
78
|
+
font-family: inherit;
|
|
79
|
+
}
|
|
80
|
+
.issue-reporter html {
|
|
81
|
+
color: #CCCCCC;
|
|
82
|
+
height: 100%;
|
|
83
|
+
}
|
|
84
|
+
.issue-reporter .extension-caption .codicon-modifier-spin {
|
|
85
|
+
padding-bottom: 3px;
|
|
86
|
+
margin-left: 2px;
|
|
87
|
+
}
|
|
88
|
+
.issue-reporter .mac.web {
|
|
89
|
+
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
|
|
90
|
+
}
|
|
91
|
+
.issue-reporter .mac.web:lang(zh-Hans) {
|
|
92
|
+
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif;
|
|
93
|
+
}
|
|
94
|
+
.issue-reporter .mac.web:lang(zh-Hant) {
|
|
95
|
+
font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif;
|
|
96
|
+
}
|
|
97
|
+
.issue-reporter .mac.web:lang(ja) {
|
|
98
|
+
font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif;
|
|
99
|
+
}
|
|
100
|
+
.issue-reporter .mac.web:lang(ko) {
|
|
101
|
+
font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Nanum Gothic", "AppleGothic", sans-serif;
|
|
102
|
+
}
|
|
103
|
+
.issue-reporter .windows.web {
|
|
104
|
+
font-family: "Segoe WPC", "Segoe UI", sans-serif;
|
|
105
|
+
}
|
|
106
|
+
.issue-reporter .windows.web:lang(zh-Hans) {
|
|
107
|
+
font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif;
|
|
108
|
+
}
|
|
109
|
+
.issue-reporter .windows.web:lang(zh-Hant) {
|
|
110
|
+
font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif;
|
|
111
|
+
}
|
|
112
|
+
.issue-reporter .windows.web:lang(ja) {
|
|
113
|
+
font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif;
|
|
114
|
+
}
|
|
115
|
+
.issue-reporter .windows.web:lang(ko) {
|
|
116
|
+
font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif;
|
|
117
|
+
}
|
|
118
|
+
.issue-reporter .linux.web {
|
|
119
|
+
font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;
|
|
120
|
+
}
|
|
121
|
+
.issue-reporter .linux.web:lang(zh-Hans) {
|
|
122
|
+
font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif;
|
|
123
|
+
}
|
|
124
|
+
.issue-reporter .linux.web:lang(zh-Hant) {
|
|
125
|
+
font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif;
|
|
126
|
+
}
|
|
127
|
+
.issue-reporter .linux.web:lang(ja) {
|
|
128
|
+
font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif;
|
|
129
|
+
}
|
|
130
|
+
.issue-reporter .linux.web:lang(ko) {
|
|
131
|
+
font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif;
|
|
132
|
+
}
|
|
133
|
+
.issue-reporter body {
|
|
134
|
+
margin: 0;
|
|
135
|
+
overflow-y: auto;
|
|
136
|
+
height: 100%;
|
|
137
|
+
}
|
|
138
|
+
.issue-reporter .hidden {
|
|
139
|
+
display: none;
|
|
140
|
+
}
|
|
141
|
+
.issue-reporter .block {
|
|
142
|
+
font-size: 12px;
|
|
143
|
+
}
|
|
144
|
+
.issue-reporter .block .block-info {
|
|
145
|
+
width: 100%;
|
|
146
|
+
font-size: 12px;
|
|
147
|
+
overflow: auto;
|
|
148
|
+
overflow-wrap: break-word;
|
|
149
|
+
margin: 5px;
|
|
150
|
+
padding: 10px;
|
|
151
|
+
}
|
|
152
|
+
.issue-reporter {
|
|
153
|
+
max-width: 85vw;
|
|
154
|
+
margin-left: auto;
|
|
155
|
+
margin-right: auto;
|
|
156
|
+
padding-top: 2em;
|
|
157
|
+
padding-bottom: 2em;
|
|
158
|
+
display: flex;
|
|
159
|
+
flex-direction: column;
|
|
160
|
+
overflow: visible;
|
|
161
|
+
}
|
|
162
|
+
.issue-reporter .description-section {
|
|
163
|
+
flex-grow: 0;
|
|
164
|
+
display: flex;
|
|
165
|
+
flex-direction: column;
|
|
166
|
+
flex-shrink: 0;
|
|
167
|
+
}
|
|
168
|
+
.issue-reporter textarea {
|
|
169
|
+
flex-grow: 1;
|
|
170
|
+
height: 200px;
|
|
171
|
+
}
|
|
172
|
+
.issue-reporter .block-info-text {
|
|
173
|
+
display: flex;
|
|
174
|
+
flex-grow: 0;
|
|
175
|
+
flex-direction: column;
|
|
176
|
+
}
|
|
177
|
+
.issue-reporter #github-submit-btn {
|
|
178
|
+
flex-shrink: 0;
|
|
179
|
+
margin-left: auto;
|
|
180
|
+
margin-top: 10px;
|
|
181
|
+
margin-bottom: 10px;
|
|
182
|
+
}
|
|
183
|
+
.issue-reporter .two-col {
|
|
184
|
+
display: inline-block;
|
|
185
|
+
width: 49%;
|
|
186
|
+
}
|
|
187
|
+
.issue-reporter #vscode-version {
|
|
188
|
+
width: 90%;
|
|
189
|
+
}
|
|
190
|
+
.issue-reporter .input-group {
|
|
191
|
+
margin-bottom: 1em;
|
|
192
|
+
font-size: 16px;
|
|
193
|
+
}
|
|
194
|
+
.issue-reporter #extension-selection {
|
|
195
|
+
margin-top: 1em;
|
|
196
|
+
}
|
|
197
|
+
.issue-reporter select,
|
|
198
|
+
.issue-reporter input,
|
|
199
|
+
.issue-reporter textarea {
|
|
200
|
+
border: 1px solid transparent;
|
|
201
|
+
margin-top: 10px;
|
|
202
|
+
}
|
|
203
|
+
.issue-reporter .validation-error {
|
|
204
|
+
font-size: 12px;
|
|
205
|
+
padding: 10px;
|
|
206
|
+
border-top: 0px !important;
|
|
207
|
+
}
|
|
208
|
+
.issue-reporter .system-info {
|
|
209
|
+
margin-bottom: 10px;
|
|
210
|
+
}
|
|
211
|
+
.issue-reporter input[type="checkbox"] {
|
|
212
|
+
width: auto;
|
|
213
|
+
display: inline-block;
|
|
214
|
+
margin-top: 0;
|
|
215
|
+
vertical-align: middle;
|
|
216
|
+
cursor: pointer;
|
|
217
|
+
}
|
|
218
|
+
.issue-reporter input:disabled {
|
|
219
|
+
opacity: 0.6;
|
|
220
|
+
}
|
|
221
|
+
.issue-reporter .list-title {
|
|
222
|
+
margin-top: 1em;
|
|
223
|
+
margin-left: 1em;
|
|
224
|
+
}
|
|
225
|
+
.issue-reporter .instructions {
|
|
226
|
+
font-size: 12px;
|
|
227
|
+
margin-top: .5em;
|
|
228
|
+
}
|
|
229
|
+
.issue-reporter a,
|
|
230
|
+
.issue-reporter .workbenchCommand {
|
|
231
|
+
cursor: pointer;
|
|
232
|
+
border: 1px solid transparent;
|
|
233
|
+
}
|
|
234
|
+
.issue-reporter .workbenchCommand:disabled {
|
|
235
|
+
color: #868e96;
|
|
236
|
+
cursor: default
|
|
237
|
+
}
|
|
238
|
+
.issue-reporter .block-extensions .block-info {
|
|
239
|
+
margin-bottom: 1.5em;
|
|
240
|
+
}
|
|
241
|
+
.issue-reporter input,
|
|
242
|
+
.issue-reporter select,
|
|
243
|
+
.issue-reporter textarea {
|
|
244
|
+
background-color: #3c3c3c;
|
|
245
|
+
color: #cccccc;
|
|
246
|
+
}
|
|
247
|
+
.issue-reporter .section .input-group .validation-error {
|
|
248
|
+
margin-left: 100px;
|
|
249
|
+
}
|
|
250
|
+
.issue-reporter .section .inline-form-control,
|
|
251
|
+
.issue-reporter .section .inline-label {
|
|
252
|
+
display: inline-block;
|
|
253
|
+
}
|
|
254
|
+
.issue-reporter .section .inline-label {
|
|
255
|
+
width: 95px;
|
|
256
|
+
}
|
|
257
|
+
.issue-reporter .section .inline-form-control,
|
|
258
|
+
.issue-reporter .section .input-group .validation-error {
|
|
259
|
+
width: calc(100% - 100px);
|
|
260
|
+
}
|
|
261
|
+
.issue-reporter #issue-type {
|
|
262
|
+
cursor: pointer;
|
|
263
|
+
}
|
|
264
|
+
.issue-reporter #similar-issues {
|
|
265
|
+
margin-left: 15%;
|
|
266
|
+
display: block;
|
|
267
|
+
}
|
|
268
|
+
.issue-reporter #problem-source-help-text {
|
|
269
|
+
margin-left: calc(15% + 1em);
|
|
270
|
+
}
|
|
271
|
+
@media (max-width: 950px) {
|
|
272
|
+
.issue-reporter .section .inline-label {
|
|
273
|
+
width: 15%;
|
|
274
|
+
font-size: 16px;
|
|
275
|
+
}
|
|
276
|
+
.issue-reporter #problem-source-help-text {
|
|
277
|
+
margin-left: calc(15% + 1em);
|
|
278
|
+
}
|
|
279
|
+
.issue-reporter .section .inline-form-control,
|
|
280
|
+
.issue-reporter .section .input-group .validation-error {
|
|
281
|
+
width: calc(85% - 5px);
|
|
282
|
+
}
|
|
283
|
+
.issue-reporter .section .input-group .validation-error {
|
|
284
|
+
margin-left: calc(15% + 4px);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
@media (max-width: 620px) {
|
|
288
|
+
.issue-reporter .section .inline-label {
|
|
289
|
+
display: none !important;
|
|
290
|
+
}
|
|
291
|
+
.issue-reporter #problem-source-help-text {
|
|
292
|
+
margin-left: 1em;
|
|
293
|
+
}
|
|
294
|
+
.issue-reporter .section .inline-form-control,
|
|
295
|
+
.issue-reporter .section .input-group .validation-error {
|
|
296
|
+
width: 100%;
|
|
297
|
+
}
|
|
298
|
+
.issue-reporter #similar-issues,
|
|
299
|
+
.issue-reporter .section .input-group .validation-error {
|
|
300
|
+
margin-left: 0;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
.issue-reporter ::-webkit-scrollbar {
|
|
304
|
+
width: 14px;
|
|
305
|
+
}
|
|
306
|
+
.issue-reporter ::-webkit-scrollbar-thumb {
|
|
307
|
+
min-height: 20px;
|
|
308
|
+
}
|
|
309
|
+
.issue-reporter ::-webkit-scrollbar-corner {
|
|
310
|
+
display: none;
|
|
311
|
+
}
|
|
312
|
+
.issue-reporter .issues-container {
|
|
313
|
+
margin-left: 1.5em;
|
|
314
|
+
margin-top: .5em;
|
|
315
|
+
max-height: 92px;
|
|
316
|
+
overflow-y: auto;
|
|
317
|
+
}
|
|
318
|
+
.issue-reporter .issues-container > .issue {
|
|
319
|
+
padding: 4px 0;
|
|
320
|
+
display: flex;
|
|
321
|
+
}
|
|
322
|
+
.issue-reporter .issues-container > .issue > .issue-link {
|
|
323
|
+
width: calc(100% - 82px);
|
|
324
|
+
overflow: hidden;
|
|
325
|
+
padding-top: 3px;
|
|
326
|
+
white-space: nowrap;
|
|
327
|
+
text-overflow: ellipsis;
|
|
328
|
+
}
|
|
329
|
+
.issue-reporter .issues-container > .issue > .issue-state .codicon {
|
|
330
|
+
width: 16px;
|
|
331
|
+
}
|
|
332
|
+
.issue-reporter .issues-container > .issue > .issue-state {
|
|
333
|
+
display: flex;
|
|
334
|
+
width: 77px;
|
|
335
|
+
padding: 3px 6px;
|
|
336
|
+
margin-right: 5px;
|
|
337
|
+
color: #CCCCCC;
|
|
338
|
+
background-color: #3c3c3c;
|
|
339
|
+
border-radius: .25rem;
|
|
340
|
+
}
|
|
341
|
+
.issue-reporter .issues-container > .issue .label {
|
|
342
|
+
padding-top: 2px;
|
|
343
|
+
margin-left: 5px;
|
|
344
|
+
width: 44px;
|
|
345
|
+
text-overflow: ellipsis;
|
|
346
|
+
overflow: hidden;
|
|
347
|
+
}
|
|
348
|
+
.issue-reporter .issues-container > .issue .issue-icon {
|
|
349
|
+
padding-top: 2px;
|
|
350
|
+
}
|
|
351
|
+
.issue-reporter a {
|
|
352
|
+
color: var(--vscode-textLink-foreground);
|
|
353
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
1
3
|
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
2
4
|
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
3
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
4
|
-
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
5
5
|
export declare class BaseIssueContribution extends Disposable implements IWorkbenchContribution {
|
|
6
6
|
constructor(productService: IProductService, configurationService: IConfigurationService);
|
|
7
7
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
4
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
5
|
import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/action/common/actionCommonCategories';
|
|
5
6
|
import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
7
|
import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
|
|
8
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
9
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
7
10
|
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
8
11
|
import { IWorkbenchIssueService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/issue/common/issue.service';
|
|
9
|
-
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
10
|
-
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
11
12
|
|
|
12
13
|
const OpenIssueReporterActionId = 'workbench.action.openIssueReporter';
|
|
13
14
|
const OpenIssueReporterApiId = 'vscode.openIssueReporter';
|
|
@@ -46,6 +47,16 @@ const OpenIssueReporterCommandMetadata = {
|
|
|
46
47
|
let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
47
48
|
constructor(productService, configurationService) {
|
|
48
49
|
super();
|
|
50
|
+
if (!configurationService.getValue('telemetry.feedback.enabled')) {
|
|
51
|
+
this._register(CommandsRegistry.registerCommand({
|
|
52
|
+
id: 'workbench.action.openIssueReporter',
|
|
53
|
+
handler: function (accessor) {
|
|
54
|
+
const data = accessor.get(INotificationService);
|
|
55
|
+
data.info('Feedback is disabled.');
|
|
56
|
+
},
|
|
57
|
+
}));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
49
60
|
if (!productService.reportIssueUrl) {
|
|
50
61
|
return;
|
|
51
62
|
}
|
|
@@ -75,7 +86,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
75
86
|
}));
|
|
76
87
|
const reportIssue = {
|
|
77
88
|
id: OpenIssueReporterActionId,
|
|
78
|
-
title: ( localize2(
|
|
89
|
+
title: ( localize2(7337, "Report Issue...")),
|
|
79
90
|
category: Categories.Help
|
|
80
91
|
};
|
|
81
92
|
this._register(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command: reportIssue }));
|
|
@@ -83,7 +94,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
83
94
|
group: '3_feedback',
|
|
84
95
|
command: {
|
|
85
96
|
id: OpenIssueReporterActionId,
|
|
86
|
-
title: ( localize(
|
|
97
|
+
title: ( localize(7338, "Report &&Issue"))
|
|
87
98
|
},
|
|
88
99
|
order: 3
|
|
89
100
|
}));
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import n from '@codingame/monaco-vscode-api/external/rollup-plugin-styles/dist/runtime/inject-css';
|
|
2
|
-
|
|
3
|
-
var css = ".web.issue-reporter-body{overflow-y:scroll;position:absolute}.web.issue-reporter-body .monaco-workbench select{-webkit-appearance:auto;appearance:auto}.issue-reporter table{background-color:transparent;border-collapse:collapse;max-width:100%;width:100%}.issue-reporter th{border-bottom:1px solid;padding:5px;text-align:inherit;vertical-align:bottom}.issue-reporter td{padding:5px;vertical-align:top}.issue-reporter tr td:first-child{width:30%}.issue-reporter label{user-select:none}.issue-reporter .block-settingsSearchResults-details{padding-bottom:.5rem}.issue-reporter .block-settingsSearchResults-details>div{padding:.5rem .75rem}.issue-reporter .section{margin-bottom:.5em}.issue-reporter input[type=text],.issue-reporter textarea{background-color:#fff;border:1px solid #ced4da;color:#495057;display:block;font-size:1rem;line-height:1.5;padding:.375rem .75rem;width:100%}.issue-reporter textarea{overflow:auto;resize:vertical}.issue-reporter .monaco-text-button{align-self:flex-end;display:block;font-size:13px;margin-bottom:1em;padding:4px 10px;width:auto}.issue-reporter select{background-color:#fff;border:none;color:#495057;display:inline-block;font-size:14px;height:calc(2.25rem + 2px);line-height:1.5;padding:3px}.issue-reporter *{box-sizing:border-box}.issue-reporter input,.issue-reporter select,.issue-reporter textarea{font-family:inherit}.issue-reporter html{color:#ccc;height:100%}.issue-reporter .extension-caption .codicon-modifier-spin{margin-left:2px;padding-bottom:3px}.issue-reporter .mac.web{font-family:-apple-system,BlinkMacSystemFont,sans-serif}.issue-reporter .mac.web:lang(zh-Hans){font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,sans-serif}.issue-reporter .mac.web:lang(zh-Hant){font-family:-apple-system,BlinkMacSystemFont,PingFang TC,sans-serif}.issue-reporter .mac.web:lang(ja){font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic Pro,sans-serif}.issue-reporter .mac.web:lang(ko){font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Nanum Gothic,AppleGothic,sans-serif}.issue-reporter .windows.web{font-family:Segoe WPC,Segoe UI,sans-serif}.issue-reporter .windows.web:lang(zh-Hans){font-family:Segoe WPC,Segoe UI,Microsoft YaHei,sans-serif}.issue-reporter .windows.web:lang(zh-Hant){font-family:Segoe WPC,Segoe UI,Microsoft Jhenghei,sans-serif}.issue-reporter .windows.web:lang(ja){font-family:Segoe WPC,Segoe UI,Yu Gothic UI,Meiryo UI,sans-serif}.issue-reporter .windows.web:lang(ko){font-family:Segoe WPC,Segoe UI,Malgun Gothic,Dotom,sans-serif}.issue-reporter .linux.web{font-family:system-ui,Ubuntu,Droid Sans,sans-serif}.issue-reporter .linux.web:lang(zh-Hans){font-family:system-ui,Ubuntu,Droid Sans,Source Han Sans SC,Source Han Sans CN,Source Han Sans,sans-serif}.issue-reporter .linux.web:lang(zh-Hant){font-family:system-ui,Ubuntu,Droid Sans,Source Han Sans TC,Source Han Sans TW,Source Han Sans,sans-serif}.issue-reporter .linux.web:lang(ja){font-family:system-ui,Ubuntu,Droid Sans,Source Han Sans J,Source Han Sans JP,Source Han Sans,sans-serif}.issue-reporter .linux.web:lang(ko){font-family:system-ui,Ubuntu,Droid Sans,Source Han Sans K,Source Han Sans JR,Source Han Sans,UnDotum,FBaekmuk Gulim,sans-serif}.issue-reporter body{height:100%;margin:0;overflow-y:scroll}.issue-reporter .hidden{display:none}.issue-reporter .block{font-size:12px}.issue-reporter .block .block-info{font-size:12px;margin:5px;overflow:auto;overflow-wrap:break-word;padding:10px;width:100%}.issue-reporter{display:flex;flex-direction:column;margin-left:auto;margin-right:auto;max-width:85vw;min-height:100%;overflow:visible;padding-bottom:2em;padding-top:2em}.issue-reporter .description-section{display:flex;flex-direction:column;flex-grow:1;flex-shrink:0}.issue-reporter textarea{flex-grow:1;min-height:150px}.issue-reporter .block-info-text{display:flex;flex-grow:1}.issue-reporter #github-submit-btn{flex-shrink:0;margin-bottom:10px;margin-left:auto;margin-top:10px}.issue-reporter .two-col{display:inline-block;width:49%}.issue-reporter #vscode-version{width:90%}.issue-reporter .input-group{font-size:16px;margin-bottom:1em}.issue-reporter #extension-selection{margin-top:1em}.issue-reporter input,.issue-reporter select,.issue-reporter textarea{border:1px solid transparent;margin-top:10px}.issue-reporter .validation-error{border-top:0!important;font-size:12px;padding:10px}.issue-reporter .system-info{margin-bottom:10px}.issue-reporter input[type=checkbox]{cursor:pointer;display:inline-block;margin-top:0;vertical-align:middle;width:auto}.issue-reporter input:disabled{opacity:.6}.issue-reporter .list-title{margin-left:1em;margin-top:1em}.issue-reporter .instructions{font-size:12px;margin-top:.5em}.issue-reporter .workbenchCommand,.issue-reporter a{border:1px solid transparent;cursor:pointer}.issue-reporter .workbenchCommand:disabled{color:#868e96;cursor:default}.issue-reporter .block-extensions .block-info{margin-bottom:1.5em}.issue-reporter input,.issue-reporter select,.issue-reporter textarea{background-color:#3c3c3c;border:none;color:#ccc}.issue-reporter .section .input-group .validation-error{margin-left:100px}.issue-reporter .section .inline-form-control,.issue-reporter .section .inline-label{display:inline-block}.issue-reporter .section .inline-label{width:95px}.issue-reporter .section .inline-form-control,.issue-reporter .section .input-group .validation-error{width:calc(100% - 100px)}.issue-reporter #issue-type{cursor:pointer}.issue-reporter #similar-issues{display:block;margin-left:15%}.issue-reporter #problem-source-help-text{margin-left:calc(15% + 1em)}@media (max-width:950px){.issue-reporter .section .inline-label{font-size:16px;width:15%}.issue-reporter #problem-source-help-text{margin-left:calc(15% + 1em)}.issue-reporter .section .inline-form-control,.issue-reporter .section .input-group .validation-error{width:calc(85% - 5px)}.issue-reporter .section .input-group .validation-error{margin-left:calc(15% + 4px)}}@media (max-width:620px){.issue-reporter .section .inline-label{display:none!important}.issue-reporter #problem-source-help-text{margin-left:1em}.issue-reporter .section .inline-form-control,.issue-reporter .section .input-group .validation-error{width:100%}.issue-reporter #similar-issues,.issue-reporter .section .input-group .validation-error{margin-left:0}}.issue-reporter ::-webkit-scrollbar{width:14px}.issue-reporter ::-webkit-scrollbar-thumb{min-height:20px}.issue-reporter ::-webkit-scrollbar-corner{display:none}.issue-reporter .issues-container{margin-left:1.5em;margin-top:.5em;max-height:92px;overflow-y:auto}.issue-reporter .issues-container>.issue{display:flex;padding:4px 0}.issue-reporter .issues-container>.issue>.issue-link{overflow:hidden;padding-top:3px;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 82px)}.issue-reporter .issues-container>.issue>.issue-state .codicon{width:16px}.issue-reporter .issues-container>.issue>.issue-state{background-color:#3c3c3c;border-radius:.25rem;color:#ccc;display:flex;margin-right:5px;padding:3px 6px;width:77px}.issue-reporter .issues-container>.issue .label{margin-left:5px;overflow:hidden;padding-top:2px;text-overflow:ellipsis;width:44px}.issue-reporter .issues-container>.issue .issue-icon{padding-top:2px}.issue-reporter a{color:var(--vscode-textLink-foreground)}";
|
|
4
|
-
n(css,{});
|
|
5
|
-
|
|
6
|
-
export { css, css as default };
|