@codingame/monaco-vscode-debug-service-override 1.83.1 → 1.83.3-next.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.
Files changed (48) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -2
  3. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +104 -139
  4. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +5 -26
  5. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +61 -104
  6. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +3 -9
  7. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +29 -51
  8. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +190 -203
  9. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +4 -4
  10. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +11 -31
  11. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +32 -32
  12. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +5 -5
  13. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +3 -3
  14. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +21 -48
  15. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -5
  16. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -12
  17. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +11 -15
  18. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +28 -80
  19. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +56 -68
  20. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -8
  21. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +3 -3
  22. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +17 -50
  23. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +31 -0
  24. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +9 -4
  25. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +12 -4
  26. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +47 -51
  27. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -11
  28. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +4 -4
  29. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +6 -25
  30. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +9 -12
  31. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +15 -21
  32. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +6 -20
  33. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +5 -17
  34. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +10 -18
  35. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +10 -13
  36. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +70 -29
  37. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +6 -9
  38. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +3 -12
  39. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +113 -148
  40. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +41 -143
  41. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +11 -36
  43. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  45. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  46. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +11 -16
  47. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -49
  48. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -4
@@ -7,7 +7,7 @@ import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
7
7
  import { dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
8
8
  import { basename } from 'monaco-editor/esm/vs/base/common/path.js';
9
9
  import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
10
- import { localize } from 'monaco-editor/esm/vs/nls.js';
10
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
11
11
  import { IContextViewService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
12
12
  import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
13
13
  import { defaultCountBadgeStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
@@ -300,34 +300,20 @@ class ReplDataSource {
300
300
  }
301
301
  class ReplAccessibilityProvider {
302
302
  getWidgetAriaLabel() {
303
- return ( localize('debugConsole', "Debug Console"));
303
+ return localizeWithPath('vs/workbench/contrib/debug/browser/replViewer', 'debugConsole', "Debug Console");
304
304
  }
305
305
  getAriaLabel(element) {
306
306
  if (element instanceof Variable) {
307
- return ( localize(
308
- 'replVariableAriaLabel',
309
- "Variable {0}, value {1}",
310
- element.name,
311
- element.value
312
- ));
307
+ return localizeWithPath('vs/workbench/contrib/debug/browser/replViewer', 'replVariableAriaLabel', "Variable {0}, value {1}", element.name, element.value);
313
308
  }
314
309
  if (element instanceof ReplOutputElement || element instanceof ReplEvaluationInput || element instanceof ReplEvaluationResult) {
315
- return element.value + (element instanceof ReplOutputElement && element.count > 1 ? ( localize(
316
- { key: 'occurred', comment: ['Front will the value of the debug console element. Placeholder will be replaced by a number which represents occurrance count.'] },
317
- ", occurred {0} times",
318
- element.count
319
- )) : '');
310
+ return element.value + (element instanceof ReplOutputElement && element.count > 1 ? localizeWithPath('vs/workbench/contrib/debug/browser/replViewer', { key: 'occurred', comment: ['Front will the value of the debug console element. Placeholder will be replaced by a number which represents occurrance count.'] }, ", occurred {0} times", element.count) : '');
320
311
  }
321
312
  if (element instanceof RawObjectReplElement) {
322
- return ( localize(
323
- 'replRawObjectAriaLabel',
324
- "Debug console variable {0}, value {1}",
325
- element.name,
326
- element.value
327
- ));
313
+ return localizeWithPath('vs/workbench/contrib/debug/browser/replViewer', 'replRawObjectAriaLabel', "Debug console variable {0}, value {1}", element.name, element.value);
328
314
  }
329
315
  if (element instanceof ReplGroup) {
330
- return ( localize('replGroup', "Debug console group {0}", element.name));
316
+ return localizeWithPath('vs/workbench/contrib/debug/browser/replViewer', 'replGroup', "Debug console group {0}", element.name);
331
317
  }
332
318
  return '';
333
319
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { localize } from 'monaco-editor/esm/vs/nls.js';
2
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
3
  import { registerColor, asCssVariableName, asCssVariable } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
4
4
  import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
5
5
  import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
@@ -14,37 +14,25 @@ const STATUS_BAR_DEBUGGING_BACKGROUND = registerColor('statusBar.debuggingBackgr
14
14
  light: '#CC6633',
15
15
  hcDark: '#BA592C',
16
16
  hcLight: '#B5200D'
17
- }, ( localize(
18
- 'statusBarDebuggingBackground',
19
- "Status bar background color when a program is being debugged. The status bar is shown in the bottom of the window"
20
- )));
17
+ }, localizeWithPath('vs/workbench/contrib/debug/browser/statusbarColorProvider', 'statusBarDebuggingBackground', "Status bar background color when a program is being debugged. The status bar is shown in the bottom of the window"));
21
18
  const STATUS_BAR_DEBUGGING_FOREGROUND = registerColor('statusBar.debuggingForeground', {
22
19
  dark: STATUS_BAR_FOREGROUND,
23
20
  light: STATUS_BAR_FOREGROUND,
24
21
  hcDark: STATUS_BAR_FOREGROUND,
25
22
  hcLight: '#FFFFFF'
26
- }, ( localize(
27
- 'statusBarDebuggingForeground',
28
- "Status bar foreground color when a program is being debugged. The status bar is shown in the bottom of the window"
29
- )));
23
+ }, localizeWithPath('vs/workbench/contrib/debug/browser/statusbarColorProvider', 'statusBarDebuggingForeground', "Status bar foreground color when a program is being debugged. The status bar is shown in the bottom of the window"));
30
24
  const STATUS_BAR_DEBUGGING_BORDER = registerColor('statusBar.debuggingBorder', {
31
25
  dark: STATUS_BAR_BORDER,
32
26
  light: STATUS_BAR_BORDER,
33
27
  hcDark: STATUS_BAR_BORDER,
34
28
  hcLight: STATUS_BAR_BORDER
35
- }, ( localize(
36
- 'statusBarDebuggingBorder',
37
- "Status bar border color separating to the sidebar and editor when a program is being debugged. The status bar is shown in the bottom of the window"
38
- )));
29
+ }, localizeWithPath('vs/workbench/contrib/debug/browser/statusbarColorProvider', 'statusBarDebuggingBorder', "Status bar border color separating to the sidebar and editor when a program is being debugged. The status bar is shown in the bottom of the window"));
39
30
  const COMMAND_CENTER_DEBUGGING_BACKGROUND = registerColor('commandCenter.debuggingBackground', {
40
31
  dark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
41
32
  hcDark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
42
33
  light: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
43
34
  hcLight: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 }
44
- }, ( localize(
45
- 'commandCenter-activeBackground',
46
- "Command center background color when a program is being debugged"
47
- )), true);
35
+ }, localizeWithPath('vs/workbench/contrib/debug/browser/statusbarColorProvider', 'commandCenter-activeBackground', "Command center background color when a program is being debugged"), true);
48
36
  let StatusBarColorProvider = class StatusBarColorProvider {
49
37
  set enabled(enabled) {
50
38
  if (enabled === !!this.disposable) {
@@ -6,7 +6,7 @@ import { timeout, RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/asyn
6
6
  import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
7
7
  import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
8
8
  import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
9
- import { localize } from 'monaco-editor/esm/vs/nls.js';
9
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
10
10
  import { createAndFillInContextMenuActions } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
11
11
  import { MenuId, registerAction2, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
12
12
  import { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js';
@@ -318,7 +318,7 @@ let VariablesRenderer = class VariablesRenderer extends AbstractExpressionsRende
318
318
  const variable = expression;
319
319
  return {
320
320
  initialValue: expression.value,
321
- ariaLabel: ( localize('variableValueAriaLabel', "Type new variable value")),
321
+ ariaLabel: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'variableValueAriaLabel', "Type new variable value"),
322
322
  validationOptions: {
323
323
  validation: () => variable.errorMessage ? ({ content: variable.errorMessage }) : null
324
324
  },
@@ -355,19 +355,14 @@ VariablesRenderer = VariablesRenderer_1 = ( __decorate([
355
355
  ], VariablesRenderer));
356
356
  class VariablesAccessibilityProvider {
357
357
  getWidgetAriaLabel() {
358
- return ( localize('variablesAriaTreeLabel', "Debug Variables"));
358
+ return localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'variablesAriaTreeLabel', "Debug Variables");
359
359
  }
360
360
  getAriaLabel(element) {
361
361
  if (element instanceof Scope) {
362
- return ( localize('variableScopeAriaLabel', "Scope {0}", element.name));
362
+ return localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'variableScopeAriaLabel', "Scope {0}", element.name);
363
363
  }
364
364
  if (element instanceof Variable) {
365
- return ( localize(
366
- { key: 'variableAriaLabel', comment: ['Placeholders are variable name and variable value respectivly. They should not be translated.'] },
367
- "{0}, value {1}",
368
- element.name,
369
- element.value
370
- ));
365
+ return localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', { key: 'variableAriaLabel', comment: ['Placeholders are variable name and variable value respectivly. They should not be translated.'] }, "{0}, value {1}", element.name, element.value);
371
366
  }
372
367
  return null;
373
368
  }
@@ -469,22 +464,19 @@ CommandsRegistry.registerCommand({
469
464
  function tryInstallHexEditor(notifications, progressService, extensionService, commandService) {
470
465
  return ( new Promise(resolve => {
471
466
  let installing = false;
472
- const handle = notifications.prompt(Severity.Info, ( localize(
473
- "viewMemory.prompt",
474
- "Inspecting binary data requires the Hex Editor extension. Would you like to install it now?"
475
- )), [
467
+ const handle = notifications.prompt(Severity.Info, localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "viewMemory.prompt", "Inspecting binary data requires the Hex Editor extension. Would you like to install it now?"), [
476
468
  {
477
- label: ( localize("cancel", "Cancel")),
469
+ label: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "cancel", "Cancel"),
478
470
  run: () => resolve(false),
479
471
  },
480
472
  {
481
- label: ( localize("install", "Install")),
473
+ label: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "install", "Install"),
482
474
  run: async () => {
483
475
  installing = true;
484
476
  try {
485
477
  await progressService.withProgress({
486
478
  location: 15 ,
487
- title: ( localize("viewMemory.install.progress", "Installing the Hex Editor...")),
479
+ title: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "viewMemory.install.progress", "Installing the Hex Editor..."),
488
480
  }, async () => {
489
481
  await commandService.executeCommand('workbench.extensions.installExtension', HEX_EDITOR_EXTENSION_ID);
490
482
  while (!(await extensionService.getExtension(HEX_EDITOR_EXTENSION_ID))) {
@@ -558,7 +550,7 @@ registerAction2(class extends ViewAction {
558
550
  super({
559
551
  id: 'variables.collapse',
560
552
  viewId: VARIABLES_VIEW_ID,
561
- title: ( localize('collapse', "Collapse All")),
553
+ title: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'collapse', "Collapse All"),
562
554
  f1: false,
563
555
  icon: Codicon.collapseAll,
564
556
  menu: {
@@ -18,7 +18,7 @@ import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeS
18
18
  import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
19
19
  import { watchExpressionsAdd, watchExpressionsRemoveAll } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
20
20
  import { MenuId, registerAction2, Action2, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
21
- import { localize } from 'monaco-editor/esm/vs/nls.js';
21
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
22
22
  import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
23
23
  import { createAndFillInContextMenuActions } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
24
24
  import { LinkDetector } from './linkDetector.js';
@@ -247,7 +247,7 @@ let WatchExpressionsRenderer = class WatchExpressionsRenderer extends AbstractEx
247
247
  if (settingValue) {
248
248
  return {
249
249
  initialValue: expression.value,
250
- ariaLabel: ( localize('typeNewValue', "Type new value")),
250
+ ariaLabel: localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'typeNewValue', "Type new value"),
251
251
  onFinish: async (value, success) => {
252
252
  if (success && value) {
253
253
  const focusedFrame = this.debugService.getViewModel().focusedStackFrame;
@@ -261,8 +261,8 @@ let WatchExpressionsRenderer = class WatchExpressionsRenderer extends AbstractEx
261
261
  }
262
262
  return {
263
263
  initialValue: expression.name ? expression.name : '',
264
- ariaLabel: ( localize('watchExpressionInputAriaLabel', "Type watch expression")),
265
- placeholder: ( localize('watchExpressionPlaceholder', "Expression to watch")),
264
+ ariaLabel: localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'watchExpressionInputAriaLabel', "Type watch expression"),
265
+ placeholder: localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'watchExpressionPlaceholder', "Expression to watch"),
266
266
  onFinish: (value, success) => {
267
267
  if (success && value) {
268
268
  this.debugService.renameWatchExpression(expression.getId(), value);
@@ -301,16 +301,13 @@ function getContextForWatchExpressionMenu(parentContext, expression) {
301
301
  }
302
302
  class WatchExpressionsAccessibilityProvider {
303
303
  getWidgetAriaLabel() {
304
- return ( localize(
305
- { comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel' },
306
- "Debug Watch Expressions"
307
- ));
304
+ return localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', { comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel' }, "Debug Watch Expressions");
308
305
  }
309
306
  getAriaLabel(element) {
310
307
  if (element instanceof Expression) {
311
- return ( localize('watchExpressionAriaLabel', "{0}, value {1}", element.name, element.value));
308
+ return localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'watchExpressionAriaLabel', "{0}, value {1}", element.name, element.value);
312
309
  }
313
- return ( localize('watchVariableAriaLabel', "{0}, value {1}", element.name, element.value));
310
+ return localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'watchVariableAriaLabel', "{0}, value {1}", element.name, element.value);
314
311
  }
315
312
  }
316
313
  class WatchExpressionsDragAndDrop {
@@ -352,7 +349,7 @@ registerAction2(class Collapse extends ViewAction {
352
349
  super({
353
350
  id: 'watch.collapse',
354
351
  viewId: WATCH_VIEW_ID,
355
- title: ( localize('collapse', "Collapse All")),
352
+ title: localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'collapse', "Collapse All"),
356
353
  f1: false,
357
354
  icon: Codicon.collapseAll,
358
355
  precondition: CONTEXT_WATCH_EXPRESSIONS_EXIST,
@@ -369,7 +366,7 @@ registerAction2(class Collapse extends ViewAction {
369
366
  }
370
367
  });
371
368
  const ADD_WATCH_ID = 'workbench.debug.viewlet.action.addWatchExpression';
372
- const ADD_WATCH_LABEL = ( localize('addWatchExpression', "Add Expression"));
369
+ const ADD_WATCH_LABEL = localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'addWatchExpression', "Add Expression");
373
370
  registerAction2(class AddWatchExpressionAction extends Action2 {
374
371
  constructor() {
375
372
  super({
@@ -390,7 +387,7 @@ registerAction2(class AddWatchExpressionAction extends Action2 {
390
387
  }
391
388
  });
392
389
  const REMOVE_WATCH_EXPRESSIONS_COMMAND_ID = 'workbench.debug.viewlet.action.removeAllWatchExpressions';
393
- const REMOVE_WATCH_EXPRESSIONS_LABEL = ( localize('removeAllWatchExpressions', "Remove All Expressions"));
390
+ const REMOVE_WATCH_EXPRESSIONS_LABEL = localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'removeAllWatchExpressions', "Remove All Expressions");
394
391
  registerAction2(class RemoveAllWatchExpressionsAction extends Action2 {
395
392
  constructor() {
396
393
  super({
@@ -3,27 +3,30 @@ import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeS
3
3
  import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
4
4
  import { IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
5
5
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
6
- import { RawContextKey, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
- import { localize } from 'monaco-editor/esm/vs/nls.js';
8
- import { CONTEXT_DEBUGGERS_AVAILABLE, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
6
+ import { RawContextKey, ContextKeyExpr, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
8
+ import { CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_EXTENSION_AVAILABLE, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
9
9
  import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
10
10
  import { ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
11
11
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
12
12
  import { Extensions, ViewContentGroups, IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
13
13
  import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
14
14
  import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
15
+ import { WorkbenchStateContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
16
+ import { OpenFileFolderAction, OpenFileAction, OpenFolderAction } from 'vscode/vscode/vs/workbench/browser/actions/workspaceActions';
17
+ import { isMacintosh, isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
15
18
  import { isCodeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
16
19
  import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
17
20
  import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
18
21
  import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
19
- import { DEBUG_START_COMMAND_ID, SELECT_AND_START_ID } from './debugCommands.js';
22
+ import { DEBUG_START_COMMAND_ID, SELECT_AND_START_ID, DEBUG_CONFIGURE_COMMAND_ID } from './debugCommands.js';
20
23
 
21
24
  const debugStartLanguageKey = 'debugStartLanguage';
22
- const CONTEXT_DEBUG_START_LANGUAGE = ( (new RawContextKey(debugStartLanguageKey, undefined)));
23
- const CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR = ( (new RawContextKey('debuggerInterestedInActiveEditor', false)));
25
+ const CONTEXT_DEBUG_START_LANGUAGE = ( new RawContextKey(debugStartLanguageKey, undefined));
26
+ const CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR = ( new RawContextKey('debuggerInterestedInActiveEditor', false));
24
27
  let WelcomeView = class WelcomeView extends ViewPane {
25
28
  static { this.ID = 'workbench.debug.welcome'; }
26
- static { this.LABEL = ( (localize('run', "Run"))); }
29
+ static { this.LABEL = localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'run', "Run"); }
27
30
  constructor(options, themeService, keybindingService, contextMenuService, configurationService, contextKeyService, debugService, editorService, instantiationService, viewDescriptorService, openerService, storageSevice, telemetryService) {
28
31
  super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
29
32
  this.debugService = debugService;
@@ -46,7 +49,7 @@ let WelcomeView = class WelcomeView extends ViewPane {
46
49
  }
47
50
  this.debuggerInterestedContext.set(false);
48
51
  };
49
- const disposables = ( (new DisposableStore()));
52
+ const disposables = ( new DisposableStore());
50
53
  this._register(disposables);
51
54
  this._register(editorService.onDidActiveEditorChange(() => {
52
55
  disposables.clear();
@@ -70,33 +73,71 @@ let WelcomeView = class WelcomeView extends ViewPane {
70
73
  return true;
71
74
  }
72
75
  };
73
- WelcomeView = ( (__decorate([
74
- ( (__param(1, IThemeService))),
75
- ( (__param(2, IKeybindingService))),
76
- ( (__param(3, IContextMenuService))),
77
- ( (__param(4, IConfigurationService))),
78
- ( (__param(5, IContextKeyService))),
79
- ( (__param(6, IDebugService))),
80
- ( (__param(7, IEditorService))),
81
- ( (__param(8, IInstantiationService))),
82
- ( (__param(9, IViewDescriptorService))),
83
- ( (__param(10, IOpenerService))),
84
- ( (__param(11, IStorageService))),
85
- ( (__param(12, ITelemetryService)))
86
- ], WelcomeView)));
87
- const viewsRegistry = ( (Registry.as(Extensions.ViewsRegistry)));
76
+ WelcomeView = ( __decorate([
77
+ ( __param(1, IThemeService)),
78
+ ( __param(2, IKeybindingService)),
79
+ ( __param(3, IContextMenuService)),
80
+ ( __param(4, IConfigurationService)),
81
+ ( __param(5, IContextKeyService)),
82
+ ( __param(6, IDebugService)),
83
+ ( __param(7, IEditorService)),
84
+ ( __param(8, IInstantiationService)),
85
+ ( __param(9, IViewDescriptorService)),
86
+ ( __param(10, IOpenerService)),
87
+ ( __param(11, IStorageService)),
88
+ ( __param(12, ITelemetryService))
89
+ ], WelcomeView));
90
+ const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
91
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
92
+ content: localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', {
93
+ key: 'openAFileWhichCanBeDebugged',
94
+ comment: [
95
+ 'Please do not translate the word "command", it is part of our internal syntax which must not change',
96
+ '{Locked="](command:{0})"}'
97
+ ]
98
+ }, "[Open a file](command:{0}) which can be debugged or run.", (isMacintosh && !isWeb) ? OpenFileFolderAction.ID : OpenFileAction.ID),
99
+ when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR.toNegated()))),
100
+ group: ViewContentGroups.Open,
101
+ }));
88
102
  let debugKeybindingLabel = '';
89
- ( (viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
90
- content: `[${( ( localize('runAndDebugAction', "Run and Debug")))}${debugKeybindingLabel}](command:${DEBUG_START_COMMAND_ID})`,
103
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
104
+ content: `[${localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'runAndDebugAction', "Run and Debug")}${debugKeybindingLabel}](command:${DEBUG_START_COMMAND_ID})`,
91
105
  when: CONTEXT_DEBUGGERS_AVAILABLE,
92
106
  group: ViewContentGroups.Debug,
93
107
  order: 1
94
- })));
95
- ( (viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
96
- content: `[${( ( localize('detectThenRunAndDebug', "Show all automatic debug configurations")))}](command:${SELECT_AND_START_ID}).`,
108
+ }));
109
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
110
+ content: `[${localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'detectThenRunAndDebug', "Show all automatic debug configurations")}](command:${SELECT_AND_START_ID}).`,
97
111
  when: CONTEXT_DEBUGGERS_AVAILABLE,
98
112
  group: ViewContentGroups.Debug,
99
113
  order: 10
100
- })));
114
+ }));
115
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
116
+ content: localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', {
117
+ key: 'customizeRunAndDebug',
118
+ comment: [
119
+ 'Please do not translate the word "command", it is part of our internal syntax which must not change',
120
+ '{Locked="](command:{0})"}'
121
+ ]
122
+ }, "To customize Run and Debug [create a launch.json file](command:{0}).", DEBUG_CONFIGURE_COMMAND_ID),
123
+ when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.notEqualsTo('empty')))),
124
+ group: ViewContentGroups.Debug
125
+ }));
126
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
127
+ content: localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', {
128
+ key: 'customizeRunAndDebugOpenFolder',
129
+ comment: [
130
+ 'Please do not translate the word "commmand", it is part of our internal syntax which must not change',
131
+ '{Locked="](command:{0})"}'
132
+ ]
133
+ }, "To customize Run and Debug, [open a folder](command:{0}) and create a launch.json file.", (isMacintosh && !isWeb) ? OpenFileFolderAction.ID : OpenFolderAction.ID),
134
+ when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.isEqualTo('empty')))),
135
+ group: ViewContentGroups.Debug
136
+ }));
137
+ ( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
138
+ content: localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'allDebuggersDisabled', "All debug extensions are disabled. Enable a debug extension or install a new one from the Marketplace."),
139
+ when: ( CONTEXT_DEBUG_EXTENSION_AVAILABLE.toNegated()),
140
+ group: ViewContentGroups.Debug
141
+ }));
101
142
 
102
143
  export { WelcomeView };
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { localize } from 'monaco-editor/esm/vs/nls.js';
2
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
3
  import { getMimeTypes } from 'monaco-editor/esm/vs/editor/common/services/languagesAssociations.js';
4
4
  import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
5
5
  import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
@@ -48,19 +48,16 @@ let DebugContentProvider = class DebugContentProvider {
48
48
  session = this.debugService.getViewModel().focusedSession;
49
49
  }
50
50
  if (!session) {
51
- return Promise.reject(( new ErrorNoTelemetry(( localize('unable', "Unable to resolve the resource without a debug session")))));
51
+ return Promise.reject(( new ErrorNoTelemetry(
52
+ localizeWithPath('vs/workbench/contrib/debug/common/debugContentProvider', 'unable', "Unable to resolve the resource without a debug session")
53
+ )));
52
54
  }
53
55
  const createErrModel = (errMsg) => {
54
56
  this.debugService.sourceIsNotAvailable(resource);
55
57
  const languageSelection = this.languageService.createById(PLAINTEXT_LANGUAGE_ID);
56
58
  const message = errMsg
57
- ? ( localize(
58
- 'canNotResolveSourceWithError',
59
- "Could not load source '{0}': {1}.",
60
- resource.path,
61
- errMsg
62
- ))
63
- : ( localize('canNotResolveSource', "Could not load source '{0}'.", resource.path));
59
+ ? localizeWithPath('vs/workbench/contrib/debug/common/debugContentProvider', 'canNotResolveSourceWithError', "Could not load source '{0}': {1}.", resource.path, errMsg)
60
+ : localizeWithPath('vs/workbench/contrib/debug/common/debugContentProvider', 'canNotResolveSource', "Could not load source '{0}'.", resource.path);
64
61
  return this.modelService.createModel(message, languageSelection, resource);
65
62
  };
66
63
  return session.loadSource(resource).then(response => {
@@ -27,24 +27,15 @@ let DebugLifecycle = class DebugLifecycle {
27
27
  async showWindowCloseConfirmation(numSessions) {
28
28
  let message;
29
29
  if (numSessions === 1) {
30
- message = ( nls.localize(
31
- 'debug.debugSessionCloseConfirmationSingular',
32
- "There is an active debug session, are you sure you want to stop it?"
33
- ));
30
+ message = nls.localizeWithPath('vs/workbench/contrib/debug/common/debugLifecycle', 'debug.debugSessionCloseConfirmationSingular', "There is an active debug session, are you sure you want to stop it?");
34
31
  }
35
32
  else {
36
- message = ( nls.localize(
37
- 'debug.debugSessionCloseConfirmationPlural',
38
- "There are active debug sessions, are you sure you want to stop them?"
39
- ));
33
+ message = nls.localizeWithPath('vs/workbench/contrib/debug/common/debugLifecycle', 'debug.debugSessionCloseConfirmationPlural', "There are active debug sessions, are you sure you want to stop them?");
40
34
  }
41
35
  const res = await this.dialogService.confirm({
42
36
  message,
43
37
  type: 'warning',
44
- primaryButton: ( nls.localize(
45
- { key: 'debug.stop', comment: ['&& denotes a mnemonic'] },
46
- "&&Stop Debugging"
47
- ))
38
+ primaryButton: nls.localizeWithPath('vs/workbench/contrib/debug/common/debugLifecycle', { key: 'debug.stop', comment: ['&& denotes a mnemonic'] }, "&&Stop Debugging")
48
39
  });
49
40
  return !res.confirmed;
50
41
  }