@codingame/monaco-vscode-issue-service-override 32.0.1 → 33.0.6
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 +38 -38
- 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,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-issue-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "33.0.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - issue service-override",
|
|
6
6
|
"keywords": [],
|
|
7
|
+
"license": "MIT",
|
|
7
8
|
"author": {
|
|
8
9
|
"name": "CodinGame",
|
|
9
10
|
"url": "http://www.codingame.com"
|
|
10
11
|
},
|
|
11
|
-
"license": "MIT",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "git+ssh://git@github.com/CodinGame/monaco-vscode-api.git"
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "33.0.6"
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"module": "index.js",
|
|
@@ -116,7 +116,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
116
116
|
fileOnMarketplace,
|
|
117
117
|
fileOnProduct
|
|
118
118
|
});
|
|
119
|
-
this.createAction = this._register(( new Action("issueReporter.create", ( localize(
|
|
119
|
+
this.createAction = this._register(( new Action("issueReporter.create", ( localize(10624, "Create on GitHub")), undefined, true, async () => {
|
|
120
120
|
this.delayedSubmit.trigger(async () => {
|
|
121
121
|
this.setSubmittingState(true);
|
|
122
122
|
try {
|
|
@@ -126,7 +126,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
126
126
|
}
|
|
127
127
|
});
|
|
128
128
|
})));
|
|
129
|
-
this.previewAction = this._register(( new Action("issueReporter.preview", ( localize(
|
|
129
|
+
this.previewAction = this._register(( new Action("issueReporter.preview", ( localize(10625, "Preview on GitHub")), undefined, true, async () => {
|
|
130
130
|
this.delayedSubmit.trigger(async () => {
|
|
131
131
|
this.setSubmittingState(true);
|
|
132
132
|
try {
|
|
@@ -136,7 +136,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
138
|
})));
|
|
139
|
-
this.privateAction = this._register(( new Action("issueReporter.privateCreate", ( localize(
|
|
139
|
+
this.privateAction = this._register(( new Action("issueReporter.privateCreate", ( localize(10626, "Create Internally")), undefined, true, async () => {
|
|
140
140
|
this.delayedSubmit.trigger(async () => {
|
|
141
141
|
this.setSubmittingState(true);
|
|
142
142
|
try {
|
|
@@ -241,7 +241,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
241
241
|
filingNote.classList.add("internal-preview-message");
|
|
242
242
|
container.appendChild(filingNote);
|
|
243
243
|
}
|
|
244
|
-
filingNote.textContent = escape(( localize(
|
|
244
|
+
filingNote.textContent = escape(( localize(10627, "If your copilot debug logs contain private information:")));
|
|
245
245
|
}
|
|
246
246
|
updatePublicGithubButton(container) {
|
|
247
247
|
const issueReporterElement = this.getElementById("issue-reporter");
|
|
@@ -253,7 +253,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
253
253
|
}
|
|
254
254
|
if (!this.acknowledged && this.needsUpdate) {
|
|
255
255
|
this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
|
|
256
|
-
this.publicGithubButton.label = ( localize(
|
|
256
|
+
this.publicGithubButton.label = ( localize(10628, "Confirm Version Acknowledgement"));
|
|
257
257
|
this.publicGithubButton.enabled = false;
|
|
258
258
|
} else if (this.data.githubAccessToken && this.isPreviewEnabled()) {
|
|
259
259
|
this.publicGithubButton = this._register(( new ButtonWithDropdown(container, {
|
|
@@ -265,21 +265,21 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
265
265
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
266
266
|
this.createAction.run();
|
|
267
267
|
}));
|
|
268
|
-
this.publicGithubButton.label = ( localize(
|
|
268
|
+
this.publicGithubButton.label = ( localize(10629, "Create on GitHub"));
|
|
269
269
|
this.publicGithubButton.enabled = true;
|
|
270
270
|
} else if (this.data.githubAccessToken && !this.isPreviewEnabled()) {
|
|
271
271
|
this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
|
|
272
272
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
273
273
|
this.createAction.run();
|
|
274
274
|
}));
|
|
275
|
-
this.publicGithubButton.label = ( localize(
|
|
275
|
+
this.publicGithubButton.label = ( localize(10629, "Create on GitHub"));
|
|
276
276
|
this.publicGithubButton.enabled = true;
|
|
277
277
|
} else {
|
|
278
278
|
this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
|
|
279
279
|
this._register(this.publicGithubButton.onDidClick(() => {
|
|
280
280
|
this.previewAction.run();
|
|
281
281
|
}));
|
|
282
|
-
this.publicGithubButton.label = ( localize(
|
|
282
|
+
this.publicGithubButton.label = ( localize(10630, "Preview on GitHub"));
|
|
283
283
|
this.publicGithubButton.enabled = true;
|
|
284
284
|
}
|
|
285
285
|
const repoLink = this.getElementById("show-repo-name");
|
|
@@ -332,7 +332,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
332
332
|
}));
|
|
333
333
|
this.internalGithubButton.element.id = "internal-create-btn";
|
|
334
334
|
this.internalGithubButton.element.classList.add("internal-create-subtle");
|
|
335
|
-
this.internalGithubButton.label = ( localize(
|
|
335
|
+
this.internalGithubButton.label = ( localize(10631, "Create Internally"));
|
|
336
336
|
this.internalGithubButton.enabled = true;
|
|
337
337
|
this.internalGithubButton.setTitle(this.data.privateUri.path.slice(1));
|
|
338
338
|
}
|
|
@@ -368,7 +368,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
368
368
|
if (submitting) {
|
|
369
369
|
const currentLabel = this.publicGithubButton instanceof ButtonWithDropdown ? this.publicGithubButton.primaryButton.label : this.publicGithubButton.label;
|
|
370
370
|
this.preSubmitButtonLabel = typeof currentLabel === "string" ? currentLabel : "";
|
|
371
|
-
this.publicGithubButton.label = ( localize(
|
|
371
|
+
this.publicGithubButton.label = ( localize(10632, "Submitting..."));
|
|
372
372
|
const spinnerIcon = renderIcon(ThemeIcon.modify(Codicon.loading, "spin"));
|
|
373
373
|
buttonEl.prepend(spinnerIcon);
|
|
374
374
|
} else {
|
|
@@ -440,7 +440,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
440
440
|
const {
|
|
441
441
|
selectedExtension
|
|
442
442
|
} = this.issueReporterModel.getData();
|
|
443
|
-
reset(extensionsSelector, this.makeOption("", ( localize(
|
|
443
|
+
reset(extensionsSelector, this.makeOption("", ( localize(10633, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
|
|
444
444
|
if (!selectedExtension) {
|
|
445
445
|
extensionsSelector.selectedIndex = 0;
|
|
446
446
|
}
|
|
@@ -544,10 +544,10 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
544
544
|
const info = containingElement && containingElement.lastElementChild;
|
|
545
545
|
if (info && info.classList.contains("hidden")) {
|
|
546
546
|
show(info);
|
|
547
|
-
label.textContent = ( localize(
|
|
547
|
+
label.textContent = ( localize(10634, "hide"));
|
|
548
548
|
} else {
|
|
549
549
|
hide(info);
|
|
550
|
-
label.textContent = ( localize(
|
|
550
|
+
label.textContent = ( localize(10635, "show"));
|
|
551
551
|
}
|
|
552
552
|
}
|
|
553
553
|
});
|
|
@@ -568,13 +568,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
568
568
|
}
|
|
569
569
|
const descriptionTextArea = this.getElementById("issue-title");
|
|
570
570
|
if (value === IssueSource.VSCode) {
|
|
571
|
-
descriptionTextArea.placeholder = ( localize(
|
|
571
|
+
descriptionTextArea.placeholder = ( localize(10636, "E.g Workbench is missing problems panel"));
|
|
572
572
|
} else if (value === IssueSource.Extension) {
|
|
573
|
-
descriptionTextArea.placeholder = ( localize(
|
|
573
|
+
descriptionTextArea.placeholder = ( localize(10637, "E.g. Missing alt text on extension readme image"));
|
|
574
574
|
} else if (value === IssueSource.Marketplace) {
|
|
575
|
-
descriptionTextArea.placeholder = ( localize(
|
|
575
|
+
descriptionTextArea.placeholder = ( localize(10638, "E.g Cannot disable installed extension"));
|
|
576
576
|
} else {
|
|
577
|
-
descriptionTextArea.placeholder = ( localize(
|
|
577
|
+
descriptionTextArea.placeholder = ( localize(10639, "Please enter a title"));
|
|
578
578
|
}
|
|
579
579
|
let fileOnExtension, fileOnMarketplace, fileOnProduct = false;
|
|
580
580
|
if (value === IssueSource.Extension) {
|
|
@@ -816,7 +816,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
816
816
|
if (results.length) {
|
|
817
817
|
const issues = $("div.issues-container");
|
|
818
818
|
const issuesText = $("div.list-title");
|
|
819
|
-
issuesText.textContent = ( localize(
|
|
819
|
+
issuesText.textContent = ( localize(10640, "Similar issues"));
|
|
820
820
|
this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
|
|
821
821
|
for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
|
|
822
822
|
const issue = results[i];
|
|
@@ -836,8 +836,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
836
836
|
renderIcon(issue.state === "open" ? Codicon.issueOpened : Codicon.issueClosed)
|
|
837
837
|
);
|
|
838
838
|
const issueStateLabel = $("span.issue-state.label");
|
|
839
|
-
issueStateLabel.textContent = issue.state === "open" ? ( localize(
|
|
840
|
-
issueState.title = issue.state === "open" ? ( localize(
|
|
839
|
+
issueStateLabel.textContent = issue.state === "open" ? ( localize(10641, "Open")) : ( localize(10642, "Closed"));
|
|
840
|
+
issueState.title = issue.state === "open" ? ( localize(10641, "Open")) : ( localize(10642, "Closed"));
|
|
841
841
|
issueState.appendChild(issueIcon);
|
|
842
842
|
issueState.appendChild(issueStateLabel);
|
|
843
843
|
item = $("div.issue", undefined, issueState, link);
|
|
@@ -858,7 +858,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
858
858
|
const {
|
|
859
859
|
issueType
|
|
860
860
|
} = this.issueReporterModel.getData();
|
|
861
|
-
reset(typeSelect, makeOption(IssueType.Bug, ( localize(
|
|
861
|
+
reset(typeSelect, makeOption(IssueType.Bug, ( localize(10643, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(10644, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(10645, "Performance Issue (freeze, slow, crash)"))));
|
|
862
862
|
typeSelect.value = ( issueType.toString());
|
|
863
863
|
this.setSourceOptions();
|
|
864
864
|
}
|
|
@@ -891,14 +891,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
893
|
sourceSelect.innerText = "";
|
|
894
|
-
sourceSelect.append(this.makeOption("", ( localize(
|
|
895
|
-
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(
|
|
896
|
-
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(
|
|
894
|
+
sourceSelect.append(this.makeOption("", ( localize(10646, "Select source")), true));
|
|
895
|
+
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(10647, "Visual Studio Code")), false));
|
|
896
|
+
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(10648, "A VS Code extension")), false));
|
|
897
897
|
if (this.product.reportMarketplaceIssueUrl) {
|
|
898
|
-
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(
|
|
898
|
+
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(10649, "Extensions Marketplace")), false));
|
|
899
899
|
}
|
|
900
900
|
if (issueType !== IssueType.FeatureRequest) {
|
|
901
|
-
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(
|
|
901
|
+
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(10650, "Don't know")), false));
|
|
902
902
|
}
|
|
903
903
|
if (selected !== -1 && selected < sourceSelect.options.length) {
|
|
904
904
|
sourceSelect.selectedIndex = selected;
|
|
@@ -954,7 +954,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
954
954
|
const fileName = `extensionData_${formattedDate}_${formattedTime}.md`;
|
|
955
955
|
const handleLinkClick = async () => {
|
|
956
956
|
const downloadPath = await this.fileDialogService.showSaveDialog({
|
|
957
|
-
title: ( localize(
|
|
957
|
+
title: ( localize(10651, "Save Extension Data")),
|
|
958
958
|
availableFileSystems: [Schemas.file],
|
|
959
959
|
defaultUri: joinPath(await this.fileDialogService.defaultFilePath(Schemas.file), fileName)
|
|
960
960
|
});
|
|
@@ -970,13 +970,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
970
970
|
if (selectedExtension && this.nonGitHubIssueUrl) {
|
|
971
971
|
hide(titleTextArea);
|
|
972
972
|
hide(descriptionTextArea);
|
|
973
|
-
reset(descriptionTitle, ( localize(
|
|
973
|
+
reset(descriptionTitle, ( localize(10652, "This extension handles issues outside of VS Code")));
|
|
974
974
|
reset(descriptionSubtitle, ( localize(
|
|
975
|
-
|
|
975
|
+
10653,
|
|
976
976
|
"The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
|
|
977
977
|
selectedExtension.displayName
|
|
978
978
|
)));
|
|
979
|
-
this.publicGithubButton.label = ( localize(
|
|
979
|
+
this.publicGithubButton.label = ( localize(10654, "Open External Issue Reporter"));
|
|
980
980
|
return;
|
|
981
981
|
}
|
|
982
982
|
if (fileOnExtension && selectedExtension?.data) {
|
|
@@ -1003,9 +1003,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1003
1003
|
show(extensionsBlock);
|
|
1004
1004
|
}
|
|
1005
1005
|
}
|
|
1006
|
-
reset(descriptionTitle, ( localize(
|
|
1006
|
+
reset(descriptionTitle, ( localize(10655, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
|
|
1007
1007
|
reset(descriptionSubtitle, ( localize(
|
|
1008
|
-
|
|
1008
|
+
10656,
|
|
1009
1009
|
"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."
|
|
1010
1010
|
)));
|
|
1011
1011
|
} else if (issueType === IssueType.PerformanceIssue) {
|
|
@@ -1021,15 +1021,15 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1021
1021
|
} else if (!fileOnMarketplace) {
|
|
1022
1022
|
show(extensionsBlock);
|
|
1023
1023
|
}
|
|
1024
|
-
reset(descriptionTitle, ( localize(
|
|
1024
|
+
reset(descriptionTitle, ( localize(10655, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
|
|
1025
1025
|
reset(descriptionSubtitle, ( localize(
|
|
1026
|
-
|
|
1026
|
+
10657,
|
|
1027
1027
|
"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."
|
|
1028
1028
|
)));
|
|
1029
1029
|
} else if (issueType === IssueType.FeatureRequest) {
|
|
1030
|
-
reset(descriptionTitle, ( localize(
|
|
1030
|
+
reset(descriptionTitle, ( localize(10658, "Description")) + " ", $("span.required-input", undefined, "*"));
|
|
1031
1031
|
reset(descriptionSubtitle, ( localize(
|
|
1032
|
-
|
|
1032
|
+
10659,
|
|
1033
1033
|
"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."
|
|
1034
1034
|
)));
|
|
1035
1035
|
}
|
|
@@ -1160,7 +1160,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1160
1160
|
throw ( new CancellationError());
|
|
1161
1161
|
}
|
|
1162
1162
|
return baseUrl + `&body=${encodeURIComponent(( localize(
|
|
1163
|
-
|
|
1163
|
+
10660,
|
|
1164
1164
|
"We have written the needed data into your clipboard because it was too large to send. Please paste."
|
|
1165
1165
|
)))}`;
|
|
1166
1166
|
}
|
|
@@ -1349,7 +1349,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
1349
1349
|
const target = this.window.document.querySelector(".block-extensions .block-info");
|
|
1350
1350
|
if (target) {
|
|
1351
1351
|
if (this.disableExtensions) {
|
|
1352
|
-
reset(target, ( localize(
|
|
1352
|
+
reset(target, ( localize(10661, "Extensions are disabled")));
|
|
1353
1353
|
return;
|
|
1354
1354
|
}
|
|
1355
1355
|
const themeExclusionStr = numThemeExtensions ? `\n(${numThemeExtensions} theme extensions excluded)` : "";
|
|
@@ -32,5 +32,5 @@ let WebIssueContribution = class WebIssueContribution extends BaseIssueContribut
|
|
|
32
32
|
WebIssueContribution = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService))], WebIssueContribution));
|
|
33
33
|
( Registry.as(Extensions$1.Workbench)).registerWorkbenchContribution(WebIssueContribution, LifecyclePhase.Restored);
|
|
34
34
|
CommandsRegistry.registerCommand("_issues.getSystemStatus", accessor => {
|
|
35
|
-
return localize(
|
|
35
|
+
return localize(10662, "The --status argument is not yet supported in browsers.");
|
|
36
36
|
});
|
|
@@ -157,17 +157,17 @@ let IssueFormService = class IssueFormService {
|
|
|
157
157
|
await this.dialogService.prompt({
|
|
158
158
|
type: Severity.Warning,
|
|
159
159
|
message: ( localize(
|
|
160
|
-
|
|
160
|
+
10663,
|
|
161
161
|
"Your input will not be saved. Are you sure you want to close this window?"
|
|
162
162
|
)),
|
|
163
163
|
buttons: [{
|
|
164
|
-
label: ( localize(
|
|
164
|
+
label: ( localize(10664, "&&Yes")),
|
|
165
165
|
run: () => {
|
|
166
166
|
this.closeReporter();
|
|
167
167
|
this.issueReporterWindow = null;
|
|
168
168
|
}
|
|
169
169
|
}, {
|
|
170
|
-
label: ( localize(
|
|
170
|
+
label: ( localize(10665, "Cancel")),
|
|
171
171
|
run: () => {}
|
|
172
172
|
}]
|
|
173
173
|
});
|
|
@@ -177,16 +177,16 @@ let IssueFormService = class IssueFormService {
|
|
|
177
177
|
await this.dialogService.prompt({
|
|
178
178
|
type: Severity.Warning,
|
|
179
179
|
message: ( localize(
|
|
180
|
-
|
|
180
|
+
10666,
|
|
181
181
|
"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."
|
|
182
182
|
)),
|
|
183
183
|
buttons: [{
|
|
184
|
-
label: ( localize(
|
|
184
|
+
label: ( localize(10667, "&&OK")),
|
|
185
185
|
run: () => {
|
|
186
186
|
result = true;
|
|
187
187
|
}
|
|
188
188
|
}, {
|
|
189
|
-
label: ( localize(
|
|
189
|
+
label: ( localize(10665, "Cancel")),
|
|
190
190
|
run: () => {
|
|
191
191
|
result = false;
|
|
192
192
|
}
|
|
@@ -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(10668, "Include my system information")));
|
|
6
|
+
const sendProcessInfoLabel = escape(( localize(10669, "Include my currently running processes")));
|
|
7
|
+
const sendWorkspaceInfoLabel = escape(( localize(10670, "Include my workspace metadata")));
|
|
8
|
+
const sendExtensionsLabel = escape(( localize(10671, "Include my enabled extensions")));
|
|
9
|
+
const sendExperimentsLabel = escape(( localize(10672, "Include A/B experiment info")));
|
|
10
|
+
const sendExtensionData = escape(( localize(10673, "Include additional extension info")));
|
|
11
11
|
const acknowledgementsLabel = escape(( localize(
|
|
12
|
-
|
|
12
|
+
10674,
|
|
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
|
+
10675,
|
|
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,40 +23,40 @@ 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(10676, "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(10677, "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(10678, "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(10679, "An issue source is required.")))}</div>
|
|
44
44
|
<div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
|
|
45
|
-
|
|
45
|
+
10680,
|
|
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
|
))).replace(
|
|
48
48
|
"{0}",
|
|
49
|
-
() => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(
|
|
49
|
+
() => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(10681, "disabling all extensions and reloading the window")))}</span>`
|
|
50
50
|
)}
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
53
|
<div id="extension-selection">
|
|
54
|
-
<label class="inline-label" for="extension-selector">${escape(( localize(
|
|
54
|
+
<label class="inline-label" for="extension-selector">${escape(( localize(10682, "Extension")))} <span class="required-input">*</span></label>
|
|
55
55
|
<select id="extension-selector" class="inline-form-control">
|
|
56
56
|
<!-- To be dynamically filled -->
|
|
57
57
|
</select>
|
|
58
58
|
<div id="extension-selection-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
59
|
-
|
|
59
|
+
10683,
|
|
60
60
|
"The issue reporter is unable to create issues for this extension. Please visit {0} to report an issue."
|
|
61
61
|
))).replace(
|
|
62
62
|
"{0}",
|
|
@@ -64,7 +64,7 @@ var BaseHtml = () => `
|
|
|
64
64
|
)}</div>
|
|
65
65
|
<div id="extension-selection-validation-error-no-url" class="validation-error hidden" role="alert">
|
|
66
66
|
${escape(( localize(
|
|
67
|
-
|
|
67
|
+
10684,
|
|
68
68
|
"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."
|
|
69
69
|
)))}
|
|
70
70
|
</div>
|
|
@@ -72,10 +72,10 @@ var BaseHtml = () => `
|
|
|
72
72
|
</div>
|
|
73
73
|
|
|
74
74
|
<div id="issue-title-container" class="input-group">
|
|
75
|
-
<label class="inline-label" for="issue-title">${escape(( localize(
|
|
76
|
-
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(
|
|
77
|
-
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
78
|
-
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
75
|
+
<label class="inline-label" for="issue-title">${escape(( localize(10685, "Title")))} <span class="required-input">*</span></label>
|
|
76
|
+
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(10686, "Please enter a title.")))}" required>
|
|
77
|
+
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10687, "A title is required.")))}</div>
|
|
78
|
+
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(10688, "The title is too long.")))}</div>
|
|
79
79
|
<small id="similar-issues">
|
|
80
80
|
<!-- To be dynamically filled -->
|
|
81
81
|
</small>
|
|
@@ -91,10 +91,10 @@ var BaseHtml = () => `
|
|
|
91
91
|
<!-- To be dynamically filled -->
|
|
92
92
|
</div>
|
|
93
93
|
<div class="block-info-text">
|
|
94
|
-
<textarea name="description" id="description" placeholder="${escape(( localize(
|
|
94
|
+
<textarea name="description" id="description" placeholder="${escape(( localize(10689, "Please enter details.")))}" required></textarea>
|
|
95
95
|
</div>
|
|
96
|
-
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
97
|
-
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
96
|
+
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10690, "A description is required.")))}</div>
|
|
97
|
+
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(10691, "Please provide a longer description.")))}</div>
|
|
98
98
|
</div>
|
|
99
99
|
|
|
100
100
|
<div class="system-info" id="block-container">
|
|
@@ -103,10 +103,10 @@ var BaseHtml = () => `
|
|
|
103
103
|
<label class="extension-caption" id="extension-caption" for="includeExtensionData">
|
|
104
104
|
${sendExtensionData}
|
|
105
105
|
<span id="ext-loading" hidden></span>
|
|
106
|
-
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(
|
|
107
|
-
<a id="extension-data-download">${escape(( localize(
|
|
106
|
+
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(10692, "show")))}</a><span class="ext-parens" hidden>)</span>
|
|
107
|
+
<a id="extension-data-download">${escape(( localize(10693, "Download Extension Data")))}</a>
|
|
108
108
|
</label>
|
|
109
|
-
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(
|
|
109
|
+
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(10694, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap; user-select: text;">
|
|
110
110
|
<!-- To be dynamically filled -->
|
|
111
111
|
</pre>
|
|
112
112
|
</div>
|
|
@@ -115,7 +115,7 @@ var BaseHtml = () => `
|
|
|
115
115
|
<input class="sendData" aria-label="${sendSystemInfoLabel}" type="checkbox" id="includeSystemInfo" checked/>
|
|
116
116
|
<label class="caption" for="includeSystemInfo">
|
|
117
117
|
${sendSystemInfoLabel}
|
|
118
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
118
|
+
(<a href="#" class="showInfo">${escape(( localize(10692, "show")))}</a>)
|
|
119
119
|
</label>
|
|
120
120
|
<div class="block-info hidden" style="user-select: text;">
|
|
121
121
|
<!-- To be dynamically filled -->
|
|
@@ -125,7 +125,7 @@ var BaseHtml = () => `
|
|
|
125
125
|
<input class="sendData" aria-label="${sendProcessInfoLabel}" type="checkbox" id="includeProcessInfo" checked/>
|
|
126
126
|
<label class="caption" for="includeProcessInfo">
|
|
127
127
|
${sendProcessInfoLabel}
|
|
128
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
128
|
+
(<a href="#" class="showInfo">${escape(( localize(10692, "show")))}</a>)
|
|
129
129
|
</label>
|
|
130
130
|
<pre class="block-info hidden" style="user-select: text;">
|
|
131
131
|
<code>
|
|
@@ -137,7 +137,7 @@ var BaseHtml = () => `
|
|
|
137
137
|
<input class="sendData" aria-label="${sendWorkspaceInfoLabel}" type="checkbox" id="includeWorkspaceInfo" checked/>
|
|
138
138
|
<label class="caption" for="includeWorkspaceInfo">
|
|
139
139
|
${sendWorkspaceInfoLabel}
|
|
140
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
140
|
+
(<a href="#" class="showInfo">${escape(( localize(10692, "show")))}</a>)
|
|
141
141
|
</label>
|
|
142
142
|
<pre id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
143
143
|
<code>
|
|
@@ -149,7 +149,7 @@ var BaseHtml = () => `
|
|
|
149
149
|
<input class="sendData" aria-label="${sendExtensionsLabel}" type="checkbox" id="includeExtensions" checked/>
|
|
150
150
|
<label class="caption" for="includeExtensions">
|
|
151
151
|
${sendExtensionsLabel}
|
|
152
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
152
|
+
(<a href="#" class="showInfo">${escape(( localize(10692, "show")))}</a>)
|
|
153
153
|
</label>
|
|
154
154
|
<div id="systemInfo" class="block-info hidden" style="user-select: text;">
|
|
155
155
|
<!-- To be dynamically filled -->
|
|
@@ -159,7 +159,7 @@ var BaseHtml = () => `
|
|
|
159
159
|
<input class="sendData" aria-label="${sendExperimentsLabel}" type="checkbox" id="includeExperiments" checked/>
|
|
160
160
|
<label class="caption" for="includeExperiments">
|
|
161
161
|
${sendExperimentsLabel}
|
|
162
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
162
|
+
(<a href="#" class="showInfo">${escape(( localize(10692, "show")))}</a>)
|
|
163
163
|
</label>
|
|
164
164
|
<pre class="block-info hidden" style="user-select: text;">
|
|
165
165
|
<!-- To be dynamically filled -->
|
|
@@ -60,7 +60,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
|
|
|
60
60
|
});
|
|
61
61
|
const descriptionTextArea = this.getElementById("issue-title");
|
|
62
62
|
if (descriptionTextArea) {
|
|
63
|
-
descriptionTextArea.placeholder = ( localize(
|
|
63
|
+
descriptionTextArea.placeholder = ( localize(10695, "Please enter a title"));
|
|
64
64
|
}
|
|
65
65
|
this.updateButtonStates();
|
|
66
66
|
this.setSourceOptions();
|
|
@@ -102,13 +102,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
102
102
|
throw ( new Error("invalid state"));
|
|
103
103
|
}
|
|
104
104
|
const res = await this.dialogService.confirm({
|
|
105
|
-
message: ( localize(
|
|
105
|
+
message: ( localize(10696, "Troubleshoot Issue")),
|
|
106
106
|
detail: ( localize(
|
|
107
|
-
|
|
107
|
+
10697,
|
|
108
108
|
"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.",
|
|
109
109
|
this.productService.nameLong
|
|
110
110
|
)),
|
|
111
|
-
primaryButton: ( localize(
|
|
111
|
+
primaryButton: ( localize(10698, "&&Troubleshoot Issue")),
|
|
112
112
|
custom: true
|
|
113
113
|
});
|
|
114
114
|
if (!res.confirmed) {
|
|
@@ -152,7 +152,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
154
|
const result = await this.askToReproduceIssue(( localize(
|
|
155
|
-
|
|
155
|
+
10699,
|
|
156
156
|
"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."
|
|
157
157
|
)));
|
|
158
158
|
if (result === "good") {
|
|
@@ -170,7 +170,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
170
170
|
await this.userDataProfileManagementService.createAndEnterTransientProfile();
|
|
171
171
|
this.updateState(this.state);
|
|
172
172
|
const result = await this.askToReproduceIssue(( localize(
|
|
173
|
-
|
|
173
|
+
10700,
|
|
174
174
|
"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."
|
|
175
175
|
)));
|
|
176
176
|
if (result === "stop") {
|
|
@@ -178,13 +178,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
178
178
|
}
|
|
179
179
|
if (result === "good") {
|
|
180
180
|
await this.askToReportIssue(( localize(
|
|
181
|
-
|
|
181
|
+
10701,
|
|
182
182
|
"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."
|
|
183
183
|
)));
|
|
184
184
|
}
|
|
185
185
|
if (result === "bad") {
|
|
186
186
|
await this.askToReportIssue(( localize(
|
|
187
|
-
|
|
187
|
+
10702,
|
|
188
188
|
"Issue troubleshooting has identified that the issue is with {0}.",
|
|
189
189
|
this.productService.nameLong
|
|
190
190
|
)));
|
|
@@ -199,15 +199,15 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
199
199
|
askToReproduceIssue(message) {
|
|
200
200
|
return (new Promise((c, e) => {
|
|
201
201
|
const goodPrompt = {
|
|
202
|
-
label: ( localize(
|
|
202
|
+
label: ( localize(10703, "I Can't Reproduce")),
|
|
203
203
|
run: () => c("good")
|
|
204
204
|
};
|
|
205
205
|
const badPrompt = {
|
|
206
|
-
label: ( localize(
|
|
206
|
+
label: ( localize(10704, "I Can Reproduce")),
|
|
207
207
|
run: () => c("bad")
|
|
208
208
|
};
|
|
209
209
|
const stop = {
|
|
210
|
-
label: ( localize(
|
|
210
|
+
label: ( localize(10705, "Stop")),
|
|
211
211
|
run: () => c("stop")
|
|
212
212
|
};
|
|
213
213
|
this.notificationHandle = this.notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], {
|
|
@@ -223,9 +223,9 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
223
223
|
if (res === "good") {
|
|
224
224
|
await this.dialogService.prompt({
|
|
225
225
|
type: Severity.Info,
|
|
226
|
-
message: ( localize(
|
|
226
|
+
message: ( localize(10696, "Troubleshoot Issue")),
|
|
227
227
|
detail: ( localize(
|
|
228
|
-
|
|
228
|
+
10706,
|
|
229
229
|
"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.",
|
|
230
230
|
this.productService.nameLong
|
|
231
231
|
)),
|
|
@@ -248,11 +248,11 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
248
248
|
async askToReproduceIssueWithInsiders() {
|
|
249
249
|
const confirmRes = await this.dialogService.confirm({
|
|
250
250
|
type: "info",
|
|
251
|
-
message: ( localize(
|
|
252
|
-
primaryButton: ( localize(
|
|
253
|
-
cancelButton: ( localize(
|
|
251
|
+
message: ( localize(10696, "Troubleshoot Issue")),
|
|
252
|
+
primaryButton: ( localize(10707, "Download {0} Insiders", this.productService.nameLong)),
|
|
253
|
+
cancelButton: ( localize(10708, "Report Issue Anyway")),
|
|
254
254
|
detail: ( localize(
|
|
255
|
-
|
|
255
|
+
10709,
|
|
256
256
|
"Please try to download and reproduce the issue in {0} insiders.",
|
|
257
257
|
this.productService.nameLong
|
|
258
258
|
)),
|
|
@@ -269,20 +269,20 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
269
269
|
}
|
|
270
270
|
const res = await this.dialogService.prompt({
|
|
271
271
|
type: "info",
|
|
272
|
-
message: ( localize(
|
|
272
|
+
message: ( localize(10696, "Troubleshoot Issue")),
|
|
273
273
|
buttons: [{
|
|
274
|
-
label: ( localize(
|
|
274
|
+
label: ( localize(10710, "I can't reproduce")),
|
|
275
275
|
run: () => "good"
|
|
276
276
|
}, {
|
|
277
|
-
label: ( localize(
|
|
277
|
+
label: ( localize(10711, "I can reproduce")),
|
|
278
278
|
run: () => "bad"
|
|
279
279
|
}],
|
|
280
280
|
cancelButton: {
|
|
281
|
-
label: ( localize(
|
|
281
|
+
label: ( localize(10712, "Stop")),
|
|
282
282
|
run: () => "stop"
|
|
283
283
|
},
|
|
284
284
|
detail: ( localize(
|
|
285
|
-
|
|
285
|
+
10713,
|
|
286
286
|
"Please try to reproduce the issue in {0} insiders and confirm if the issue exists there.",
|
|
287
287
|
this.productService.nameLong
|
|
288
288
|
)),
|
|
@@ -348,7 +348,7 @@ registerAction2(class TroubleshootIssueAction extends Action2 {
|
|
|
348
348
|
constructor() {
|
|
349
349
|
super({
|
|
350
350
|
id: "workbench.action.troubleshootIssue.start",
|
|
351
|
-
title: ( localize2(
|
|
351
|
+
title: ( localize2(10714, "Troubleshoot Issue...")),
|
|
352
352
|
category: Categories.Help,
|
|
353
353
|
f1: true,
|
|
354
354
|
precondition: ( ContextKeyExpr.and(( IssueTroubleshootUi.ctxIsTroubleshootActive.negate()), ( RemoteNameContext.isEqualTo("")), ( IsWebContext.negate())))
|
|
@@ -362,7 +362,7 @@ registerAction2(class extends Action2 {
|
|
|
362
362
|
constructor() {
|
|
363
363
|
super({
|
|
364
364
|
id: "workbench.action.troubleshootIssue.stop",
|
|
365
|
-
title: ( localize2(
|
|
365
|
+
title: ( localize2(10715, "Stop Troubleshoot Issue")),
|
|
366
366
|
category: Categories.Help,
|
|
367
367
|
f1: true,
|
|
368
368
|
precondition: IssueTroubleshootUi.ctxIsTroubleshootActive
|
|
@@ -81,7 +81,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
81
81
|
}));
|
|
82
82
|
const reportIssue = {
|
|
83
83
|
id: OpenIssueReporterActionId,
|
|
84
|
-
title: ( localize2(
|
|
84
|
+
title: ( localize2(10716, "Report Issue...")),
|
|
85
85
|
category: Categories.Help
|
|
86
86
|
};
|
|
87
87
|
this._register(MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
@@ -91,7 +91,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
91
91
|
group: "3_feedback",
|
|
92
92
|
command: {
|
|
93
93
|
id: OpenIssueReporterActionId,
|
|
94
|
-
title: ( localize(
|
|
94
|
+
title: ( localize(10717, "Report &&Issue"))
|
|
95
95
|
},
|
|
96
96
|
order: 3
|
|
97
97
|
}));
|