@codingame/monaco-vscode-issue-service-override 21.3.2 → 21.3.4
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 +3 -3
- package/vscode/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.js +37 -37
- package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/browser/issueFormService.js +6 -6
- package/vscode/src/vs/workbench/contrib/issue/browser/issueReporterPage.js +32 -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/common/issue.contribution.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-issue-service-override",
|
|
3
|
-
"version": "21.3.
|
|
3
|
+
"version": "21.3.4",
|
|
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": "21.3.
|
|
19
|
-
"@codingame/monaco-vscode-api": "21.3.
|
|
18
|
+
"@codingame/monaco-vscode-89a82baf-8ded-5b2f-b8af-e5fbd72dc5ad-common": "21.3.4",
|
|
19
|
+
"@codingame/monaco-vscode-api": "21.3.4"
|
|
20
20
|
},
|
|
21
21
|
"main": "index.js",
|
|
22
22
|
"module": "index.js",
|
|
@@ -99,17 +99,17 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
99
99
|
const fileOnMarketplace = data.issueSource === IssueSource.Marketplace;
|
|
100
100
|
const fileOnProduct = data.issueSource === IssueSource.VSCode;
|
|
101
101
|
this.issueReporterModel.update({ fileOnMarketplace, fileOnProduct });
|
|
102
|
-
this.createAction = this._register(( new Action('issueReporter.create', ( localize(
|
|
102
|
+
this.createAction = this._register(( new Action('issueReporter.create', ( localize(7908, "Create on GitHub")), undefined, true, async () => {
|
|
103
103
|
this.delayedSubmit.trigger(async () => {
|
|
104
104
|
this.createIssue(true);
|
|
105
105
|
});
|
|
106
106
|
})));
|
|
107
|
-
this.previewAction = this._register(( new Action('issueReporter.preview', ( localize(
|
|
107
|
+
this.previewAction = this._register(( new Action('issueReporter.preview', ( localize(7909, "Preview on GitHub")), undefined, true, async () => {
|
|
108
108
|
this.delayedSubmit.trigger(async () => {
|
|
109
109
|
this.createIssue(false);
|
|
110
110
|
});
|
|
111
111
|
})));
|
|
112
|
-
this.privateAction = this._register(( new Action('issueReporter.privateCreate', ( localize(
|
|
112
|
+
this.privateAction = this._register(( new Action('issueReporter.privateCreate', ( localize(7910, "Create Internally")), undefined, true, async () => {
|
|
113
113
|
this.delayedSubmit.trigger(async () => {
|
|
114
114
|
this.createIssue(true, true);
|
|
115
115
|
});
|
|
@@ -206,7 +206,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
206
206
|
filingNote.classList.add('internal-preview-message');
|
|
207
207
|
container.appendChild(filingNote);
|
|
208
208
|
}
|
|
209
|
-
filingNote.textContent = escape(( localize(
|
|
209
|
+
filingNote.textContent = escape(( localize(7911, 'If your copilot debug logs contain private information:')));
|
|
210
210
|
}
|
|
211
211
|
updatePublicGithubButton(container) {
|
|
212
212
|
const issueReporterElement = this.getElementById('issue-reporter');
|
|
@@ -218,7 +218,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
218
218
|
}
|
|
219
219
|
if (!this.acknowledged && this.needsUpdate) {
|
|
220
220
|
this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
|
|
221
|
-
this.publicGithubButton.label = ( localize(
|
|
221
|
+
this.publicGithubButton.label = ( localize(7912, "Confirm Version Acknowledgement"));
|
|
222
222
|
this.publicGithubButton.enabled = false;
|
|
223
223
|
}
|
|
224
224
|
else if (this.data.githubAccessToken && this.isPreviewEnabled()) {
|
|
@@ -231,7 +231,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
231
231
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
232
232
|
this.createAction.run();
|
|
233
233
|
}));
|
|
234
|
-
this.publicGithubButton.label = ( localize(
|
|
234
|
+
this.publicGithubButton.label = ( localize(7913, "Create on GitHub"));
|
|
235
235
|
this.publicGithubButton.enabled = true;
|
|
236
236
|
}
|
|
237
237
|
else if (this.data.githubAccessToken && !this.isPreviewEnabled()) {
|
|
@@ -239,7 +239,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
239
239
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
240
240
|
this.createAction.run();
|
|
241
241
|
}));
|
|
242
|
-
this.publicGithubButton.label = ( localize(
|
|
242
|
+
this.publicGithubButton.label = ( localize(7913, "Create on GitHub"));
|
|
243
243
|
this.publicGithubButton.enabled = true;
|
|
244
244
|
}
|
|
245
245
|
else {
|
|
@@ -247,7 +247,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
247
247
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
248
248
|
this.previewAction.run();
|
|
249
249
|
}));
|
|
250
|
-
this.publicGithubButton.label = ( localize(
|
|
250
|
+
this.publicGithubButton.label = ( localize(7914, "Preview on GitHub"));
|
|
251
251
|
this.publicGithubButton.enabled = true;
|
|
252
252
|
}
|
|
253
253
|
const repoLink = this.getElementById('show-repo-name');
|
|
@@ -301,7 +301,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
301
301
|
}));
|
|
302
302
|
this.internalGithubButton.element.id = 'internal-create-btn';
|
|
303
303
|
this.internalGithubButton.element.classList.add('internal-create-subtle');
|
|
304
|
-
this.internalGithubButton.label = ( localize(
|
|
304
|
+
this.internalGithubButton.label = ( localize(7915, "Create Internally"));
|
|
305
305
|
this.internalGithubButton.enabled = true;
|
|
306
306
|
this.internalGithubButton.setTitle(this.data.privateUri.path.slice(1));
|
|
307
307
|
}
|
|
@@ -375,7 +375,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
375
375
|
const extensionsSelector = this.getElementById('extension-selector');
|
|
376
376
|
if (extensionsSelector) {
|
|
377
377
|
const { selectedExtension } = this.issueReporterModel.getData();
|
|
378
|
-
reset(extensionsSelector, this.makeOption('', ( localize(
|
|
378
|
+
reset(extensionsSelector, this.makeOption('', ( localize(7916, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
|
|
379
379
|
if (!selectedExtension) {
|
|
380
380
|
extensionsSelector.selectedIndex = 0;
|
|
381
381
|
}
|
|
@@ -472,11 +472,11 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
472
472
|
const info = containingElement && containingElement.lastElementChild;
|
|
473
473
|
if (info && info.classList.contains('hidden')) {
|
|
474
474
|
show(info);
|
|
475
|
-
label.textContent = ( localize(
|
|
475
|
+
label.textContent = ( localize(7917, "hide"));
|
|
476
476
|
}
|
|
477
477
|
else {
|
|
478
478
|
hide(info);
|
|
479
|
-
label.textContent = ( localize(
|
|
479
|
+
label.textContent = ( localize(7918, "show"));
|
|
480
480
|
}
|
|
481
481
|
}
|
|
482
482
|
});
|
|
@@ -496,16 +496,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
496
496
|
}
|
|
497
497
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
498
498
|
if (value === IssueSource.VSCode) {
|
|
499
|
-
descriptionTextArea.placeholder = ( localize(
|
|
499
|
+
descriptionTextArea.placeholder = ( localize(7919, "E.g Workbench is missing problems panel"));
|
|
500
500
|
}
|
|
501
501
|
else if (value === IssueSource.Extension) {
|
|
502
|
-
descriptionTextArea.placeholder = ( localize(
|
|
502
|
+
descriptionTextArea.placeholder = ( localize(7920, "E.g. Missing alt text on extension readme image"));
|
|
503
503
|
}
|
|
504
504
|
else if (value === IssueSource.Marketplace) {
|
|
505
|
-
descriptionTextArea.placeholder = ( localize(
|
|
505
|
+
descriptionTextArea.placeholder = ( localize(7921, "E.g Cannot disable installed extension"));
|
|
506
506
|
}
|
|
507
507
|
else {
|
|
508
|
-
descriptionTextArea.placeholder = ( localize(
|
|
508
|
+
descriptionTextArea.placeholder = ( localize(7922, "Please enter a title"));
|
|
509
509
|
}
|
|
510
510
|
let fileOnExtension, fileOnMarketplace, fileOnProduct = false;
|
|
511
511
|
if (value === IssueSource.Extension) {
|
|
@@ -738,7 +738,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
738
738
|
if (results.length) {
|
|
739
739
|
const issues = $('div.issues-container');
|
|
740
740
|
const issuesText = $('div.list-title');
|
|
741
|
-
issuesText.textContent = ( localize(
|
|
741
|
+
issuesText.textContent = ( localize(7923, "Similar issues"));
|
|
742
742
|
this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
|
|
743
743
|
for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
|
|
744
744
|
const issue = results[i];
|
|
@@ -754,8 +754,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
754
754
|
const issueIcon = $('span.issue-icon');
|
|
755
755
|
issueIcon.appendChild(renderIcon(issue.state === 'open' ? Codicon.issueOpened : Codicon.issueClosed));
|
|
756
756
|
const issueStateLabel = $('span.issue-state.label');
|
|
757
|
-
issueStateLabel.textContent = issue.state === 'open' ? ( localize(
|
|
758
|
-
issueState.title = issue.state === 'open' ? ( localize(
|
|
757
|
+
issueStateLabel.textContent = issue.state === 'open' ? ( localize(7924, "Open")) : ( localize(7925, "Closed"));
|
|
758
|
+
issueState.title = issue.state === 'open' ? ( localize(7924, "Open")) : ( localize(7925, "Closed"));
|
|
759
759
|
issueState.appendChild(issueIcon);
|
|
760
760
|
issueState.appendChild(issueStateLabel);
|
|
761
761
|
item = $('div.issue', undefined, issueState, link);
|
|
@@ -773,7 +773,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
773
773
|
const makeOption = (issueType, description) => $('option', { 'value': issueType.valueOf() }, escape(description));
|
|
774
774
|
const typeSelect = this.getElementById('issue-type');
|
|
775
775
|
const { issueType } = this.issueReporterModel.getData();
|
|
776
|
-
reset(typeSelect, makeOption(IssueType.Bug, ( localize(
|
|
776
|
+
reset(typeSelect, makeOption(IssueType.Bug, ( localize(7926, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(7927, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(7928, "Performance Issue (freeze, slow, crash)"))));
|
|
777
777
|
typeSelect.value = ( issueType.toString());
|
|
778
778
|
this.setSourceOptions();
|
|
779
779
|
}
|
|
@@ -803,14 +803,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
803
803
|
}
|
|
804
804
|
}
|
|
805
805
|
sourceSelect.innerText = '';
|
|
806
|
-
sourceSelect.append(this.makeOption('', ( localize(
|
|
807
|
-
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(
|
|
808
|
-
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(
|
|
806
|
+
sourceSelect.append(this.makeOption('', ( localize(7929, "Select source")), true));
|
|
807
|
+
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(7930, "Visual Studio Code")), false));
|
|
808
|
+
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(7931, "A VS Code extension")), false));
|
|
809
809
|
if (this.product.reportMarketplaceIssueUrl) {
|
|
810
|
-
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(
|
|
810
|
+
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(7932, "Extensions Marketplace")), false));
|
|
811
811
|
}
|
|
812
812
|
if (issueType !== IssueType.FeatureRequest) {
|
|
813
|
-
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(
|
|
813
|
+
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(7933, "Don't know")), false));
|
|
814
814
|
}
|
|
815
815
|
if (selected !== -1 && selected < sourceSelect.options.length) {
|
|
816
816
|
sourceSelect.selectedIndex = selected;
|
|
@@ -862,7 +862,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
862
862
|
const fileName = `extensionData_${formattedDate}_${formattedTime}.md`;
|
|
863
863
|
const handleLinkClick = async () => {
|
|
864
864
|
const downloadPath = await this.fileDialogService.showSaveDialog({
|
|
865
|
-
title: ( localize(
|
|
865
|
+
title: ( localize(7934, "Save Extension Data")),
|
|
866
866
|
availableFileSystems: [Schemas.file],
|
|
867
867
|
defaultUri: joinPath(await this.fileDialogService.defaultFilePath(Schemas.file), fileName),
|
|
868
868
|
});
|
|
@@ -878,13 +878,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
878
878
|
if (selectedExtension && this.nonGitHubIssueUrl) {
|
|
879
879
|
hide(titleTextArea);
|
|
880
880
|
hide(descriptionTextArea);
|
|
881
|
-
reset(descriptionTitle, ( localize(
|
|
881
|
+
reset(descriptionTitle, ( localize(7935, "This extension handles issues outside of VS Code")));
|
|
882
882
|
reset(descriptionSubtitle, ( localize(
|
|
883
|
-
|
|
883
|
+
7936,
|
|
884
884
|
"The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
|
|
885
885
|
selectedExtension.displayName
|
|
886
886
|
)));
|
|
887
|
-
this.publicGithubButton.label = ( localize(
|
|
887
|
+
this.publicGithubButton.label = ( localize(7937, "Open External Issue Reporter"));
|
|
888
888
|
return;
|
|
889
889
|
}
|
|
890
890
|
if (fileOnExtension && selectedExtension?.data) {
|
|
@@ -911,9 +911,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
911
911
|
show(extensionsBlock);
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
|
-
reset(descriptionTitle, ( localize(
|
|
914
|
+
reset(descriptionTitle, ( localize(7938, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
915
915
|
reset(descriptionSubtitle, ( localize(
|
|
916
|
-
|
|
916
|
+
7939,
|
|
917
917
|
"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."
|
|
918
918
|
)));
|
|
919
919
|
}
|
|
@@ -931,16 +931,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
931
931
|
else if (!fileOnMarketplace) {
|
|
932
932
|
show(extensionsBlock);
|
|
933
933
|
}
|
|
934
|
-
reset(descriptionTitle, ( localize(
|
|
934
|
+
reset(descriptionTitle, ( localize(7938, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
935
935
|
reset(descriptionSubtitle, ( localize(
|
|
936
|
-
|
|
936
|
+
7940,
|
|
937
937
|
"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."
|
|
938
938
|
)));
|
|
939
939
|
}
|
|
940
940
|
else if (issueType === IssueType.FeatureRequest) {
|
|
941
|
-
reset(descriptionTitle, ( localize(
|
|
941
|
+
reset(descriptionTitle, ( localize(7941, "Description")) + ' ', $('span.required-input', undefined, '*'));
|
|
942
942
|
reset(descriptionSubtitle, ( localize(
|
|
943
|
-
|
|
943
|
+
7942,
|
|
944
944
|
"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."
|
|
945
945
|
)));
|
|
946
946
|
}
|
|
@@ -1075,7 +1075,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1075
1075
|
throw ( new CancellationError());
|
|
1076
1076
|
}
|
|
1077
1077
|
return baseUrl + `&body=${encodeURIComponent(( localize(
|
|
1078
|
-
|
|
1078
|
+
7943,
|
|
1079
1079
|
"We have written the needed data into your clipboard because it was too large to send. Please paste."
|
|
1080
1080
|
)))}`;
|
|
1081
1081
|
}
|
|
@@ -1265,7 +1265,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1265
1265
|
const target = this.window.document.querySelector('.block-extensions .block-info');
|
|
1266
1266
|
if (target) {
|
|
1267
1267
|
if (this.disableExtensions) {
|
|
1268
|
-
reset(target, ( localize(
|
|
1268
|
+
reset(target, ( localize(7944, "Extensions are disabled")));
|
|
1269
1269
|
return;
|
|
1270
1270
|
}
|
|
1271
1271
|
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(7945, "The --status argument is not yet supported in browsers.");
|
|
39
39
|
});
|
|
@@ -142,19 +142,19 @@ let IssueFormService = class IssueFormService {
|
|
|
142
142
|
await this.dialogService.prompt({
|
|
143
143
|
type: Severity.Warning,
|
|
144
144
|
message: ( localize(
|
|
145
|
-
|
|
145
|
+
7946,
|
|
146
146
|
"Your input will not be saved. Are you sure you want to close this window?"
|
|
147
147
|
)),
|
|
148
148
|
buttons: [
|
|
149
149
|
{
|
|
150
|
-
label: ( localize(
|
|
150
|
+
label: ( localize(7947, "&&Yes")),
|
|
151
151
|
run: () => {
|
|
152
152
|
this.closeReporter();
|
|
153
153
|
this.issueReporterWindow = null;
|
|
154
154
|
}
|
|
155
155
|
},
|
|
156
156
|
{
|
|
157
|
-
label: ( localize(
|
|
157
|
+
label: ( localize(7948, "Cancel")),
|
|
158
158
|
run: () => { }
|
|
159
159
|
}
|
|
160
160
|
]
|
|
@@ -165,16 +165,16 @@ let IssueFormService = class IssueFormService {
|
|
|
165
165
|
await this.dialogService.prompt({
|
|
166
166
|
type: Severity.Warning,
|
|
167
167
|
message: ( localize(
|
|
168
|
-
|
|
168
|
+
7949,
|
|
169
169
|
"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."
|
|
170
170
|
)),
|
|
171
171
|
buttons: [
|
|
172
172
|
{
|
|
173
|
-
label: ( localize(
|
|
173
|
+
label: ( localize(7950, "&&OK")),
|
|
174
174
|
run: () => { result = true; }
|
|
175
175
|
},
|
|
176
176
|
{
|
|
177
|
-
label: ( localize(
|
|
177
|
+
label: ( localize(7948, "Cancel")),
|
|
178
178
|
run: () => { result = false; }
|
|
179
179
|
}
|
|
180
180
|
]
|
|
@@ -2,18 +2,18 @@
|
|
|
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(7951, "Include my system information")));
|
|
6
|
+
const sendProcessInfoLabel = escape(( localize(7952, "Include my currently running processes")));
|
|
7
|
+
const sendWorkspaceInfoLabel = escape(( localize(7953, "Include my workspace metadata")));
|
|
8
|
+
const sendExtensionsLabel = escape(( localize(7954, "Include my enabled extensions")));
|
|
9
|
+
const sendExperimentsLabel = escape(( localize(7955, "Include A/B experiment info")));
|
|
10
|
+
const sendExtensionData = escape(( localize(7956, "Include additional extension info")));
|
|
11
11
|
const acknowledgementsLabel = escape(( localize(
|
|
12
|
-
|
|
12
|
+
7957,
|
|
13
13
|
"I acknowledge that my VS Code version is not updated and this issue may be closed."
|
|
14
14
|
)));
|
|
15
15
|
const reviewGuidanceLabel = ( localize(
|
|
16
|
-
|
|
16
|
+
7958,
|
|
17
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.'
|
|
18
18
|
));
|
|
19
19
|
var BaseHtml = () => `
|
|
@@ -23,44 +23,44 @@ var BaseHtml = () => `
|
|
|
23
23
|
</span>
|
|
24
24
|
</div>
|
|
25
25
|
<div class="issue-reporter" id="issue-reporter">
|
|
26
|
-
<div id="english" class="input-group hidden">${escape(( localize(
|
|
26
|
+
<div id="english" class="input-group hidden">${escape(( localize(7959, "Please complete the form in English.")))}</div>
|
|
27
27
|
|
|
28
28
|
<div id="review-guidance-help-text" class="input-group">${reviewGuidanceLabel}</div>
|
|
29
29
|
|
|
30
30
|
<div class="section">
|
|
31
31
|
<div class="input-group">
|
|
32
|
-
<label class="inline-label" for="issue-type">${escape(( localize(
|
|
32
|
+
<label class="inline-label" for="issue-type">${escape(( localize(7960, "This is a")))}</label>
|
|
33
33
|
<select id="issue-type" class="inline-form-control">
|
|
34
34
|
<!-- To be dynamically filled -->
|
|
35
35
|
</select>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
<div class="input-group" id="problem-source">
|
|
39
|
-
<label class="inline-label" for="issue-source">${escape(( localize(
|
|
39
|
+
<label class="inline-label" for="issue-source">${escape(( localize(7961, "For")))} <span class="required-input">*</span></label>
|
|
40
40
|
<select id="issue-source" class="inline-form-control" required>
|
|
41
41
|
<!-- To be dynamically filled -->
|
|
42
42
|
</select>
|
|
43
|
-
<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(7962, "An issue source is required.")))}</div>
|
|
44
44
|
<div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
|
|
45
|
-
|
|
45
|
+
7963,
|
|
46
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."
|
|
47
47
|
)))
|
|
48
|
-
.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(7964, "disabling all extensions and reloading the window")))}</span>`)}
|
|
49
49
|
</div>
|
|
50
50
|
|
|
51
51
|
<div id="extension-selection">
|
|
52
|
-
<label class="inline-label" for="extension-selector">${escape(( localize(
|
|
52
|
+
<label class="inline-label" for="extension-selector">${escape(( localize(7965, "Extension")))} <span class="required-input">*</span></label>
|
|
53
53
|
<select id="extension-selector" class="inline-form-control">
|
|
54
54
|
<!-- To be dynamically filled -->
|
|
55
55
|
</select>
|
|
56
56
|
<div id="extension-selection-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
57
|
-
|
|
57
|
+
7966,
|
|
58
58
|
"The issue reporter is unable to create issues for this extension. Please visit {0} to report an issue."
|
|
59
59
|
)))
|
|
60
60
|
.replace('{0}', () => `<span tabIndex=0 role="button" id="extensionBugsLink" class="workbenchCommand"><!-- To be dynamically filled --></span>`)}</div>
|
|
61
61
|
<div id="extension-selection-validation-error-no-url" class="validation-error hidden" role="alert">
|
|
62
62
|
${escape(( localize(
|
|
63
|
-
|
|
63
|
+
7967,
|
|
64
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."
|
|
65
65
|
)))}
|
|
66
66
|
</div>
|
|
@@ -68,10 +68,10 @@ var BaseHtml = () => `
|
|
|
68
68
|
</div>
|
|
69
69
|
|
|
70
70
|
<div id="issue-title-container" class="input-group">
|
|
71
|
-
<label class="inline-label" for="issue-title">${escape(( localize(
|
|
72
|
-
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(
|
|
73
|
-
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
74
|
-
<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(7968, "Title")))} <span class="required-input">*</span></label>
|
|
72
|
+
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(7969, "Please enter a title.")))}" required>
|
|
73
|
+
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7970, "A title is required.")))}</div>
|
|
74
|
+
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(7971, "The title is too long.")))}</div>
|
|
75
75
|
<small id="similar-issues">
|
|
76
76
|
<!-- To be dynamically filled -->
|
|
77
77
|
</small>
|
|
@@ -87,10 +87,10 @@ var BaseHtml = () => `
|
|
|
87
87
|
<!-- To be dynamically filled -->
|
|
88
88
|
</div>
|
|
89
89
|
<div class="block-info-text">
|
|
90
|
-
<textarea name="description" id="description" placeholder="${escape(( localize(
|
|
90
|
+
<textarea name="description" id="description" placeholder="${escape(( localize(7972, "Please enter details.")))}" required></textarea>
|
|
91
91
|
</div>
|
|
92
|
-
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
93
|
-
<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(7973, "A description is required.")))}</div>
|
|
93
|
+
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(7974, "Please provide a longer description.")))}</div>
|
|
94
94
|
</div>
|
|
95
95
|
|
|
96
96
|
<div class="system-info" id="block-container">
|
|
@@ -99,10 +99,10 @@ var BaseHtml = () => `
|
|
|
99
99
|
<label class="extension-caption" id="extension-caption" for="includeExtensionData">
|
|
100
100
|
${sendExtensionData}
|
|
101
101
|
<span id="ext-loading" hidden></span>
|
|
102
|
-
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(
|
|
103
|
-
<a id="extension-data-download">${escape(( localize(
|
|
102
|
+
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(7975, "show")))}</a><span class="ext-parens" hidden>)</span>
|
|
103
|
+
<a id="extension-data-download">${escape(( localize(7976, "Download Extension Data")))}</a>
|
|
104
104
|
</label>
|
|
105
|
-
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(
|
|
105
|
+
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(7977, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap; user-select: text;">
|
|
106
106
|
<!-- To be dynamically filled -->
|
|
107
107
|
</pre>
|
|
108
108
|
</div>
|
|
@@ -111,7 +111,7 @@ var BaseHtml = () => `
|
|
|
111
111
|
<input class="sendData" aria-label="${sendSystemInfoLabel}" type="checkbox" id="includeSystemInfo" checked/>
|
|
112
112
|
<label class="caption" for="includeSystemInfo">
|
|
113
113
|
${sendSystemInfoLabel}
|
|
114
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
114
|
+
(<a href="#" class="showInfo">${escape(( localize(7975, "show")))}</a>)
|
|
115
115
|
</label>
|
|
116
116
|
<div class="block-info hidden" style="user-select: text;">
|
|
117
117
|
<!-- To be dynamically filled -->
|
|
@@ -121,7 +121,7 @@ var BaseHtml = () => `
|
|
|
121
121
|
<input class="sendData" aria-label="${sendProcessInfoLabel}" type="checkbox" id="includeProcessInfo" checked/>
|
|
122
122
|
<label class="caption" for="includeProcessInfo">
|
|
123
123
|
${sendProcessInfoLabel}
|
|
124
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
124
|
+
(<a href="#" class="showInfo">${escape(( localize(7975, "show")))}</a>)
|
|
125
125
|
</label>
|
|
126
126
|
<pre class="block-info hidden" style="user-select: text;">
|
|
127
127
|
<code>
|
|
@@ -133,7 +133,7 @@ var BaseHtml = () => `
|
|
|
133
133
|
<input class="sendData" aria-label="${sendWorkspaceInfoLabel}" type="checkbox" id="includeWorkspaceInfo" checked/>
|
|
134
134
|
<label class="caption" for="includeWorkspaceInfo">
|
|
135
135
|
${sendWorkspaceInfoLabel}
|
|
136
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
136
|
+
(<a href="#" class="showInfo">${escape(( localize(7975, "show")))}</a>)
|
|
137
137
|
</label>
|
|
138
138
|
<pre id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
139
139
|
<code>
|
|
@@ -145,7 +145,7 @@ var BaseHtml = () => `
|
|
|
145
145
|
<input class="sendData" aria-label="${sendExtensionsLabel}" type="checkbox" id="includeExtensions" checked/>
|
|
146
146
|
<label class="caption" for="includeExtensions">
|
|
147
147
|
${sendExtensionsLabel}
|
|
148
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
148
|
+
(<a href="#" class="showInfo">${escape(( localize(7975, "show")))}</a>)
|
|
149
149
|
</label>
|
|
150
150
|
<div id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
151
151
|
<!-- To be dynamically filled -->
|
|
@@ -155,7 +155,7 @@ var BaseHtml = () => `
|
|
|
155
155
|
<input class="sendData" aria-label="${sendExperimentsLabel}" type="checkbox" id="includeExperiments" checked/>
|
|
156
156
|
<label class="caption" for="includeExperiments">
|
|
157
157
|
${sendExperimentsLabel}
|
|
158
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
158
|
+
(<a href="#" class="showInfo">${escape(( localize(7975, "show")))}</a>)
|
|
159
159
|
</label>
|
|
160
160
|
<pre class="block-info hidden" style="user-select: text;">
|
|
161
161
|
<!-- To be dynamically filled -->
|
|
@@ -29,7 +29,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
|
|
|
29
29
|
this.issueReporterModel.update({ issueType: issueType });
|
|
30
30
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
31
31
|
if (descriptionTextArea) {
|
|
32
|
-
descriptionTextArea.placeholder = ( localize(
|
|
32
|
+
descriptionTextArea.placeholder = ( localize(7978, "Please enter a title"));
|
|
33
33
|
}
|
|
34
34
|
this.updateButtonStates();
|
|
35
35
|
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(7979, "Troubleshoot Issue")),
|
|
89
89
|
detail: ( localize(
|
|
90
|
-
|
|
90
|
+
7980,
|
|
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(7981, "&&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
|
+
7982,
|
|
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
|
+
7983,
|
|
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
|
+
7984,
|
|
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
|
+
7985,
|
|
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(7986, "I Can't Reproduce")),
|
|
186
186
|
run: () => c('good')
|
|
187
187
|
};
|
|
188
188
|
const badPrompt = {
|
|
189
|
-
label: ( localize(
|
|
189
|
+
label: ( localize(7987, "I Can Reproduce")),
|
|
190
190
|
run: () => c('bad')
|
|
191
191
|
};
|
|
192
192
|
const stop = {
|
|
193
|
-
label: ( localize(
|
|
193
|
+
label: ( localize(7988, "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(7979, "Troubleshoot Issue")),
|
|
207
207
|
detail: ( localize(
|
|
208
|
-
|
|
208
|
+
7989,
|
|
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(7979, "Troubleshoot Issue")),
|
|
232
|
+
primaryButton: ( localize(7990, "Download {0} Insiders", this.productService.nameLong)),
|
|
233
|
+
cancelButton: ( localize(7991, "Report Issue Anyway")),
|
|
234
234
|
detail: ( localize(
|
|
235
|
-
|
|
235
|
+
7992,
|
|
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(7979, "Troubleshoot Issue")),
|
|
253
253
|
buttons: [{
|
|
254
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(7993, "I can't reproduce")),
|
|
255
255
|
run: () => 'good'
|
|
256
256
|
}, {
|
|
257
|
-
label: ( localize(
|
|
257
|
+
label: ( localize(7994, "I can reproduce")),
|
|
258
258
|
run: () => 'bad'
|
|
259
259
|
}],
|
|
260
260
|
cancelButton: {
|
|
261
|
-
label: ( localize(
|
|
261
|
+
label: ( localize(7995, "Stop")),
|
|
262
262
|
run: () => 'stop'
|
|
263
263
|
},
|
|
264
264
|
detail: ( localize(
|
|
265
|
-
|
|
265
|
+
7996,
|
|
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(7997, '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(7998, 'Stop Troubleshoot Issue')),
|
|
355
355
|
category: Categories.Help,
|
|
356
356
|
f1: true,
|
|
357
357
|
precondition: IssueTroubleshootUi.ctxIsTroubleshootActive
|
|
@@ -86,7 +86,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
86
86
|
}));
|
|
87
87
|
const reportIssue = {
|
|
88
88
|
id: OpenIssueReporterActionId,
|
|
89
|
-
title: ( localize2(
|
|
89
|
+
title: ( localize2(7999, "Report Issue...")),
|
|
90
90
|
category: Categories.Help
|
|
91
91
|
};
|
|
92
92
|
this._register(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command: reportIssue }));
|
|
@@ -94,7 +94,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
94
94
|
group: '3_feedback',
|
|
95
95
|
command: {
|
|
96
96
|
id: OpenIssueReporterActionId,
|
|
97
|
-
title: ( localize(
|
|
97
|
+
title: ( localize(8000, "Report &&Issue"))
|
|
98
98
|
},
|
|
99
99
|
order: 3
|
|
100
100
|
}));
|