@codingame/monaco-vscode-issue-service-override 16.1.1 → 17.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-issue-service-override",
3
- "version": "16.1.1",
3
+ "version": "17.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": "16.1.1",
19
- "@codingame/monaco-vscode-api": "16.1.1"
18
+ "@codingame/monaco-vscode-89a82baf-8ded-5b2f-b8af-e5fbd72dc5ad-common": "17.0.0",
19
+ "@codingame/monaco-vscode-api": "17.0.0"
20
20
  },
21
21
  "main": "index.js",
22
22
  "module": "index.js",
@@ -77,6 +77,7 @@ export declare class BaseIssueReporterService extends Disposable {
77
77
  }): Promise<boolean>;
78
78
  createIssue(): Promise<boolean>;
79
79
  writeToClipboard(baseUrl: string, issueBody: string): Promise<string>;
80
+ addTemplateToUrl(owner?: string, repositoryName?: string): string;
80
81
  getIssueUrl(): string;
81
82
  parseGitHubUrl(url: string): undefined | {
82
83
  repositoryName: string;
@@ -247,7 +247,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
247
247
  const extensionsSelector = this.getElementById('extension-selector');
248
248
  if (extensionsSelector) {
249
249
  const { selectedExtension } = this.issueReporterModel.getData();
250
- reset(extensionsSelector, this.makeOption('', ( localize(7248, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
250
+ reset(extensionsSelector, this.makeOption('', ( localize(7329, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
251
251
  if (!selectedExtension) {
252
252
  extensionsSelector.selectedIndex = 0;
253
253
  }
@@ -339,11 +339,11 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
339
339
  const info = containingElement && containingElement.lastElementChild;
340
340
  if (info && info.classList.contains('hidden')) {
341
341
  show(info);
342
- label.textContent = ( localize(7249, "hide"));
342
+ label.textContent = ( localize(7330, "hide"));
343
343
  }
344
344
  else {
345
345
  hide(info);
346
- label.textContent = ( localize(7250, "show"));
346
+ label.textContent = ( localize(7331, "show"));
347
347
  }
348
348
  }
349
349
  });
@@ -363,25 +363,28 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
363
363
  }
364
364
  const descriptionTextArea = this.getElementById('issue-title');
365
365
  if (value === IssueSource.VSCode) {
366
- descriptionTextArea.placeholder = ( localize(7251, "E.g Workbench is missing problems panel"));
366
+ descriptionTextArea.placeholder = ( localize(7332, "E.g Workbench is missing problems panel"));
367
367
  }
368
368
  else if (value === IssueSource.Extension) {
369
- descriptionTextArea.placeholder = ( localize(7252, "E.g. Missing alt text on extension readme image"));
369
+ descriptionTextArea.placeholder = ( localize(7333, "E.g. Missing alt text on extension readme image"));
370
370
  }
371
371
  else if (value === IssueSource.Marketplace) {
372
- descriptionTextArea.placeholder = ( localize(7253, "E.g Cannot disable installed extension"));
372
+ descriptionTextArea.placeholder = ( localize(7334, "E.g Cannot disable installed extension"));
373
373
  }
374
374
  else {
375
- descriptionTextArea.placeholder = ( localize(7254, "Please enter a title"));
375
+ descriptionTextArea.placeholder = ( localize(7335, "Please enter a title"));
376
376
  }
377
- let fileOnExtension, fileOnMarketplace = false;
377
+ let fileOnExtension, fileOnMarketplace, fileOnProduct = false;
378
378
  if (value === IssueSource.Extension) {
379
379
  fileOnExtension = true;
380
380
  }
381
381
  else if (value === IssueSource.Marketplace) {
382
382
  fileOnMarketplace = true;
383
383
  }
384
- this.issueReporterModel.update({ fileOnExtension, fileOnMarketplace });
384
+ else if (value === IssueSource.VSCode) {
385
+ fileOnProduct = true;
386
+ }
387
+ this.issueReporterModel.update({ fileOnExtension, fileOnMarketplace, fileOnProduct });
385
388
  this.render();
386
389
  const title = this.getElementById('issue-title').value;
387
390
  this.searchIssues(title, fileOnExtension, fileOnMarketplace);
@@ -476,21 +479,21 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
476
479
  }
477
480
  updatePreviewButtonState() {
478
481
  if (!this.acknowledged && this.needsUpdate) {
479
- this.previewButton.label = ( localize(7255, "Confirm Version Acknowledgement"));
482
+ this.previewButton.label = ( localize(7336, "Confirm Version Acknowledgement"));
480
483
  this.previewButton.enabled = false;
481
484
  }
482
485
  else if (this.isPreviewEnabled()) {
483
486
  if (this.data.githubAccessToken) {
484
- this.previewButton.label = ( localize(7256, "Create on GitHub"));
487
+ this.previewButton.label = ( localize(7337, "Create on GitHub"));
485
488
  }
486
489
  else {
487
- this.previewButton.label = ( localize(7257, "Preview on GitHub"));
490
+ this.previewButton.label = ( localize(7338, "Preview on GitHub"));
488
491
  }
489
492
  this.previewButton.enabled = true;
490
493
  }
491
494
  else {
492
495
  this.previewButton.enabled = false;
493
- this.previewButton.label = ( localize(7258, "Loading data..."));
496
+ this.previewButton.label = ( localize(7339, "Loading data..."));
494
497
  }
495
498
  const issueRepoName = this.getElementById('show-repo-name');
496
499
  const selectedExtension = this.issueReporterModel.getData().selectedExtension;
@@ -609,7 +612,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
609
612
  }
610
613
  else {
611
614
  const message = $('div.list-title');
612
- message.textContent = ( localize(7259, "GitHub query limit exceeded. Please wait."));
615
+ message.textContent = ( localize(7340, "No duplicate issues found: GitHub query limit exceeded."));
613
616
  similarIssues.appendChild(message);
614
617
  const resetTime = response.headers.get('X-RateLimit-Reset');
615
618
  const timeToWait = resetTime ? parseInt(resetTime) - Math.floor(Date.now() / 1000) : 1;
@@ -659,7 +662,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
659
662
  if (results.length) {
660
663
  const issues = $('div.issues-container');
661
664
  const issuesText = $('div.list-title');
662
- issuesText.textContent = ( localize(7260, "Similar issues"));
665
+ issuesText.textContent = ( localize(7341, "Similar issues"));
663
666
  this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
664
667
  for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
665
668
  const issue = results[i];
@@ -675,8 +678,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
675
678
  const issueIcon = $('span.issue-icon');
676
679
  issueIcon.appendChild(renderIcon(issue.state === 'open' ? Codicon.issueOpened : Codicon.issueClosed));
677
680
  const issueStateLabel = $('span.issue-state.label');
678
- issueStateLabel.textContent = issue.state === 'open' ? ( localize(7261, "Open")) : ( localize(7262, "Closed"));
679
- issueState.title = issue.state === 'open' ? ( localize(7261, "Open")) : ( localize(7262, "Closed"));
681
+ issueStateLabel.textContent = issue.state === 'open' ? ( localize(7342, "Open")) : ( localize(7343, "Closed"));
682
+ issueState.title = issue.state === 'open' ? ( localize(7342, "Open")) : ( localize(7343, "Closed"));
680
683
  issueState.appendChild(issueIcon);
681
684
  issueState.appendChild(issueStateLabel);
682
685
  item = $('div.issue', undefined, issueState, link);
@@ -691,7 +694,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
691
694
  }
692
695
  else {
693
696
  const message = $('div.list-title');
694
- message.textContent = ( localize(7263, "No similar issues found"));
697
+ message.textContent = ( localize(7344, "No similar issues found"));
695
698
  similarIssues.appendChild(message);
696
699
  }
697
700
  }
@@ -699,7 +702,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
699
702
  const makeOption = (issueType, description) => $('option', { 'value': issueType.valueOf() }, escape(description));
700
703
  const typeSelect = this.getElementById('issue-type');
701
704
  const { issueType } = this.issueReporterModel.getData();
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)"))));
705
+ reset(typeSelect, makeOption(IssueType.Bug, ( localize(7345, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(7346, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(7347, "Performance Issue (freeze, slow, crash)"))));
703
706
  typeSelect.value = ( issueType.toString());
704
707
  this.setSourceOptions();
705
708
  }
@@ -729,14 +732,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
729
732
  }
730
733
  }
731
734
  sourceSelect.innerText = '';
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));
735
+ sourceSelect.append(this.makeOption('', ( localize(7348, "Select source")), true));
736
+ sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(7349, "Visual Studio Code")), false));
737
+ sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(7350, "A VS Code extension")), false));
735
738
  if (this.product.reportMarketplaceIssueUrl) {
736
- sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(7270, "Extensions Marketplace")), false));
739
+ sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(7351, "Extensions Marketplace")), false));
737
740
  }
738
741
  if (issueType !== IssueType.FeatureRequest) {
739
- sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(7271, "Don't know")), false));
742
+ sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(7352, "Don't know")), false));
740
743
  }
741
744
  if (selected !== -1 && selected < sourceSelect.options.length) {
742
745
  sourceSelect.selectedIndex = selected;
@@ -788,7 +791,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
788
791
  const fileName = `extensionData_${formattedDate}_${formattedTime}.md`;
789
792
  const handleLinkClick = async () => {
790
793
  const downloadPath = await this.fileDialogService.showSaveDialog({
791
- title: ( localize(7272, "Save Extension Data")),
794
+ title: ( localize(7353, "Save Extension Data")),
792
795
  availableFileSystems: [Schemas.file],
793
796
  defaultUri: joinPath(await this.fileDialogService.defaultFilePath(Schemas.file), fileName),
794
797
  });
@@ -804,13 +807,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
804
807
  if (selectedExtension && this.nonGitHubIssueUrl) {
805
808
  hide(titleTextArea);
806
809
  hide(descriptionTextArea);
807
- reset(descriptionTitle, ( localize(7273, "This extension handles issues outside of VS Code")));
810
+ reset(descriptionTitle, ( localize(7354, "This extension handles issues outside of VS Code")));
808
811
  reset(descriptionSubtitle, ( localize(
809
- 7274,
812
+ 7355,
810
813
  "The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
811
814
  selectedExtension.displayName
812
815
  )));
813
- this.previewButton.label = ( localize(7275, "Open External Issue Reporter"));
816
+ this.previewButton.label = ( localize(7356, "Open External Issue Reporter"));
814
817
  return;
815
818
  }
816
819
  if (fileOnExtension && selectedExtension?.data) {
@@ -837,9 +840,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
837
840
  show(extensionsBlock);
838
841
  }
839
842
  }
840
- reset(descriptionTitle, ( localize(7276, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
843
+ reset(descriptionTitle, ( localize(7357, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
841
844
  reset(descriptionSubtitle, ( localize(
842
- 7277,
845
+ 7358,
843
846
  "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."
844
847
  )));
845
848
  }
@@ -857,16 +860,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
857
860
  else if (!fileOnMarketplace) {
858
861
  show(extensionsBlock);
859
862
  }
860
- reset(descriptionTitle, ( localize(7276, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
863
+ reset(descriptionTitle, ( localize(7357, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
861
864
  reset(descriptionSubtitle, ( localize(
862
- 7278,
865
+ 7359,
863
866
  "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."
864
867
  )));
865
868
  }
866
869
  else if (issueType === IssueType.FeatureRequest) {
867
- reset(descriptionTitle, ( localize(7279, "Description")) + ' ', $('span.required-input', undefined, '*'));
870
+ reset(descriptionTitle, ( localize(7360, "Description")) + ' ', $('span.required-input', undefined, '*'));
868
871
  reset(descriptionSubtitle, ( localize(
869
- 7280,
872
+ 7361,
870
873
  "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."
871
874
  )));
872
875
  }
@@ -982,9 +985,10 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
982
985
  }
983
986
  const baseUrl = this.getIssueUrlWithTitle(this.getElementById('issue-title').value, issueUrl);
984
987
  let url = baseUrl + `&body=${encodeURIComponent(issueBody)}`;
988
+ url += this.addTemplateToUrl(gitHubDetails?.owner, gitHubDetails?.repositoryName);
985
989
  if (url.length > MAX_URL_LENGTH) {
986
990
  try {
987
- url = await this.writeToClipboard(baseUrl, issueBody);
991
+ url = (await this.writeToClipboard(baseUrl, issueBody)) + this.addTemplateToUrl(gitHubDetails?.owner, gitHubDetails?.repositoryName);
988
992
  }
989
993
  catch (_) {
990
994
  console.error('Writing to clipboard failed');
@@ -1000,10 +1004,25 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
1000
1004
  throw ( new CancellationError());
1001
1005
  }
1002
1006
  return baseUrl + `&body=${encodeURIComponent(( localize(
1003
- 7281,
1007
+ 7362,
1004
1008
  "We have written the needed data into your clipboard because it was too large to send. Please paste."
1005
1009
  )))}`;
1006
1010
  }
1011
+ addTemplateToUrl(owner, repositoryName) {
1012
+ const isVscode = this.issueReporterModel.getData().fileOnProduct;
1013
+ const isCopilot = owner?.toLowerCase() === 'microsoft' && repositoryName === 'vscode-copilot-release';
1014
+ const isPython = owner?.toLowerCase() === 'microsoft' && repositoryName === 'vscode-python';
1015
+ if (isVscode) {
1016
+ return `&template=bug_report.md`;
1017
+ }
1018
+ if (isCopilot) {
1019
+ return `&template=bug_report_chat.md`;
1020
+ }
1021
+ if (isPython) {
1022
+ return `&template=bug_report.md`;
1023
+ }
1024
+ return '';
1025
+ }
1007
1026
  getIssueUrl() {
1008
1027
  return this.issueReporterModel.fileOnExtension()
1009
1028
  ? this.getExtensionGitHubUrl()
@@ -1170,7 +1189,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
1170
1189
  const target = this.window.document.querySelector('.block-extensions .block-info');
1171
1190
  if (target) {
1172
1191
  if (this.disableExtensions) {
1173
- reset(target, ( localize(7282, "Extensions are disabled")));
1192
+ reset(target, ( localize(7363, "Extensions are disabled")));
1174
1193
  return;
1175
1194
  }
1176
1195
  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(7283, "The --status argument is not yet supported in browsers.");
38
+ return localize(7364, "The --status argument is not yet supported in browsers.");
39
39
  });
@@ -118,19 +118,19 @@ let IssueFormService = class IssueFormService {
118
118
  await this.dialogService.prompt({
119
119
  type: Severity.Warning,
120
120
  message: ( localize(
121
- 7284,
121
+ 7365,
122
122
  "Your input will not be saved. Are you sure you want to close this window?"
123
123
  )),
124
124
  buttons: [
125
125
  {
126
- label: ( localize(7285, "&&Yes")),
126
+ label: ( localize(7366, "&&Yes")),
127
127
  run: () => {
128
128
  this.closeReporter();
129
129
  this.issueReporterWindow = null;
130
130
  }
131
131
  },
132
132
  {
133
- label: ( localize(7286, "Cancel")),
133
+ label: ( localize(7367, "Cancel")),
134
134
  run: () => { }
135
135
  }
136
136
  ]
@@ -141,16 +141,16 @@ let IssueFormService = class IssueFormService {
141
141
  await this.dialogService.prompt({
142
142
  type: Severity.Warning,
143
143
  message: ( localize(
144
- 7287,
144
+ 7368,
145
145
  "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."
146
146
  )),
147
147
  buttons: [
148
148
  {
149
- label: ( localize(7288, "&&OK")),
149
+ label: ( localize(7369, "&&OK")),
150
150
  run: () => { result = true; }
151
151
  },
152
152
  {
153
- label: ( localize(7286, "Cancel")),
153
+ label: ( localize(7367, "Cancel")),
154
154
  run: () => { result = false; }
155
155
  }
156
156
  ]
@@ -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(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")));
5
+ const sendSystemInfoLabel = escape(( localize(7370, "Include my system information")));
6
+ const sendProcessInfoLabel = escape(( localize(7371, "Include my currently running processes")));
7
+ const sendWorkspaceInfoLabel = escape(( localize(7372, "Include my workspace metadata")));
8
+ const sendExtensionsLabel = escape(( localize(7373, "Include my enabled extensions")));
9
+ const sendExperimentsLabel = escape(( localize(7374, "Include A/B experiment info")));
10
+ const sendExtensionData = escape(( localize(7375, "Include additional extension info")));
11
11
  const acknowledgementsLabel = escape(( localize(
12
- 7295,
12
+ 7376,
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
- 7296,
16
+ 7377,
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(7297, "Please complete the form in English.")))}</div>
26
+ <div id="english" class="input-group hidden">${escape(( localize(7378, "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(7298, "This is a")))}</label>
32
+ <label class="inline-label" for="issue-type">${escape(( localize(7379, "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(7299, "For")))} <span class="required-input">*</span></label>
39
+ <label class="inline-label" for="issue-source">${escape(( localize(7380, "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(7300, "An issue source is required.")))}</div>
43
+ <div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7381, "An issue source is required.")))}</div>
44
44
  <div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
45
- 7301,
45
+ 7382,
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(7302, "disabling all extensions and reloading the window")))}</span>`)}
48
+ .replace('{0}', () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(7383, "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(7303, "Extension")))} <span class="required-input">*</span></label>
52
+ <label class="inline-label" for="extension-selector">${escape(( localize(7384, "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
- 7304,
57
+ 7385,
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
- 7305,
63
+ 7386,
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(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>
71
+ <label class="inline-label" for="issue-title">${escape(( localize(7387, "Title")))} <span class="required-input">*</span></label>
72
+ <input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(7388, "Please enter a title.")))}" required>
73
+ <div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7389, "A title is required.")))}</div>
74
+ <div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(7390, "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(7310, "Please enter details.")))}" required></textarea>
90
+ <textarea name="description" id="description" placeholder="${escape(( localize(7391, "Please enter details.")))}" required></textarea>
91
91
  </div>
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>
92
+ <div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(7392, "A description is required.")))}</div>
93
+ <div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(7393, "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(7313, "show")))}</a><span class="ext-parens" hidden>)</span>
103
- <a id="extension-data-download">${escape(( localize(7314, "Download Extension Data")))}</a>
102
+ <span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(7394, "show")))}</a><span class="ext-parens" hidden>)</span>
103
+ <a id="extension-data-download">${escape(( localize(7395, "Download Extension Data")))}</a>
104
104
  </label>
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;">
105
+ <pre class="block-info" id="extension-data" placeholder="${escape(( localize(7396, "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(7313, "show")))}</a>)
114
+ (<a href="#" class="showInfo">${escape(( localize(7394, "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(7313, "show")))}</a>)
124
+ (<a href="#" class="showInfo">${escape(( localize(7394, "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(7313, "show")))}</a>)
136
+ (<a href="#" class="showInfo">${escape(( localize(7394, "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(7313, "show")))}</a>)
148
+ (<a href="#" class="showInfo">${escape(( localize(7394, "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(7313, "show")))}</a>)
158
+ (<a href="#" class="showInfo">${escape(( localize(7394, "show")))}</a>)
159
159
  </label>
160
160
  <pre class="block-info hidden" style="user-select: text;">
161
161
  <!-- To be dynamically filled -->
@@ -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(7316, "Please enter a title"));
29
+ descriptionTextArea.placeholder = ( localize(7397, "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(7317, "Troubleshoot Issue")),
88
+ message: ( localize(7398, "Troubleshoot Issue")),
89
89
  detail: ( localize(
90
- 7318,
90
+ 7399,
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(7319, "&&Troubleshoot Issue")),
94
+ primaryButton: ( localize(7400, "&&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
- 7320,
138
+ 7401,
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
- 7321,
156
+ 7402,
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
- 7322,
164
+ 7403,
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
- 7323,
170
+ 7404,
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(7324, "I Can't Reproduce")),
185
+ label: ( localize(7405, "I Can't Reproduce")),
186
186
  run: () => c('good')
187
187
  };
188
188
  const badPrompt = {
189
- label: ( localize(7325, "I Can Reproduce")),
189
+ label: ( localize(7406, "I Can Reproduce")),
190
190
  run: () => c('bad')
191
191
  };
192
192
  const stop = {
193
- label: ( localize(7326, "Stop")),
193
+ label: ( localize(7407, "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(7317, "Troubleshoot Issue")),
206
+ message: ( localize(7398, "Troubleshoot Issue")),
207
207
  detail: ( localize(
208
- 7327,
208
+ 7408,
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(7317, "Troubleshoot Issue")),
232
- primaryButton: ( localize(7328, "Download {0} Insiders", this.productService.nameLong)),
233
- cancelButton: ( localize(7329, "Report Issue Anyway")),
231
+ message: ( localize(7398, "Troubleshoot Issue")),
232
+ primaryButton: ( localize(7409, "Download {0} Insiders", this.productService.nameLong)),
233
+ cancelButton: ( localize(7410, "Report Issue Anyway")),
234
234
  detail: ( localize(
235
- 7330,
235
+ 7411,
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(7317, "Troubleshoot Issue")),
252
+ message: ( localize(7398, "Troubleshoot Issue")),
253
253
  buttons: [{
254
- label: ( localize(7331, "I can't reproduce")),
254
+ label: ( localize(7412, "I can't reproduce")),
255
255
  run: () => 'good'
256
256
  }, {
257
- label: ( localize(7332, "I can reproduce")),
257
+ label: ( localize(7413, "I can reproduce")),
258
258
  run: () => 'bad'
259
259
  }],
260
260
  cancelButton: {
261
- label: ( localize(7333, "Stop")),
261
+ label: ( localize(7414, "Stop")),
262
262
  run: () => 'stop'
263
263
  },
264
264
  detail: ( localize(
265
- 7334,
265
+ 7415,
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(7335, 'Troubleshoot Issue...')),
340
+ title: ( localize2(7416, '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(7336, 'Stop Troubleshoot Issue')),
354
+ title: ( localize2(7417, '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(7337, "Report Issue...")),
89
+ title: ( localize2(7418, "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(7338, "Report &&Issue"))
97
+ title: ( localize(7419, "Report &&Issue"))
98
98
  },
99
99
  order: 3
100
100
  }));