@codingame/monaco-vscode-debug-service-override 1.83.5 → 1.83.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 +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +193 -86
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +44 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +254 -60
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +10 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +98 -28
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +429 -185
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +25 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +62 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +130 -32
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +20 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +105 -21
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +10 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +18 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +39 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +100 -24
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +58 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +17 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +12 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +80 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +15 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +8 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +36 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +24 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +33 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +34 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +26 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +48 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +31 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +20 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +40 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +49 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +5 -60
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +18 -5
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +15 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +32 -22
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +205 -41
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +51 -10
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +5 -1
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +18 -7
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +80 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +5 -1
|
@@ -551,7 +551,11 @@ class LoadedScriptsRenderer {
|
|
|
551
551
|
options.fileKind = FileKind.ROOT_FOLDER;
|
|
552
552
|
}
|
|
553
553
|
else if (element instanceof SessionTreeItem) {
|
|
554
|
-
options.title = nls.localizeWithPath(
|
|
554
|
+
options.title = ( nls.localizeWithPath(
|
|
555
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
556
|
+
'loadedScriptsSession',
|
|
557
|
+
"Debug Session"
|
|
558
|
+
));
|
|
555
559
|
options.hideIcon = true;
|
|
556
560
|
}
|
|
557
561
|
else if (element instanceof BaseTreeItem) {
|
|
@@ -573,20 +577,44 @@ class LoadedScriptsRenderer {
|
|
|
573
577
|
}
|
|
574
578
|
class LoadedSciptsAccessibilityProvider {
|
|
575
579
|
getWidgetAriaLabel() {
|
|
576
|
-
return nls.localizeWithPath(
|
|
580
|
+
return ( nls.localizeWithPath(
|
|
581
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
582
|
+
{ comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' },
|
|
583
|
+
"Debug Loaded Scripts"
|
|
584
|
+
));
|
|
577
585
|
}
|
|
578
586
|
getAriaLabel(element) {
|
|
579
587
|
if (element instanceof RootFolderTreeItem) {
|
|
580
|
-
return nls.localizeWithPath(
|
|
588
|
+
return ( nls.localizeWithPath(
|
|
589
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
590
|
+
'loadedScriptsRootFolderAriaLabel',
|
|
591
|
+
"Workspace folder {0}, loaded script, debug",
|
|
592
|
+
element.getLabel()
|
|
593
|
+
));
|
|
581
594
|
}
|
|
582
595
|
if (element instanceof SessionTreeItem) {
|
|
583
|
-
return nls.localizeWithPath(
|
|
596
|
+
return ( nls.localizeWithPath(
|
|
597
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
598
|
+
'loadedScriptsSessionAriaLabel',
|
|
599
|
+
"Session {0}, loaded script, debug",
|
|
600
|
+
element.getLabel()
|
|
601
|
+
));
|
|
584
602
|
}
|
|
585
603
|
if (element.hasChildren()) {
|
|
586
|
-
return nls.localizeWithPath(
|
|
604
|
+
return ( nls.localizeWithPath(
|
|
605
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
606
|
+
'loadedScriptsFolderAriaLabel',
|
|
607
|
+
"Folder {0}, loaded script, debug",
|
|
608
|
+
element.getLabel()
|
|
609
|
+
));
|
|
587
610
|
}
|
|
588
611
|
else {
|
|
589
|
-
return nls.localizeWithPath(
|
|
612
|
+
return ( nls.localizeWithPath(
|
|
613
|
+
'vs/workbench/contrib/debug/browser/loadedScriptsView',
|
|
614
|
+
'loadedScriptsSourceAriaLabel',
|
|
615
|
+
"{0}, loaded script, debug",
|
|
616
|
+
element.getLabel()
|
|
617
|
+
));
|
|
590
618
|
}
|
|
591
619
|
}
|
|
592
620
|
}
|
|
@@ -192,9 +192,11 @@ let RawDebugSession = class RawDebugSession {
|
|
|
192
192
|
}
|
|
193
193
|
async start() {
|
|
194
194
|
if (!this.debugAdapter) {
|
|
195
|
-
return Promise.reject(( new Error(
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
return Promise.reject(( new Error(( nls.localizeWithPath(
|
|
196
|
+
'vs/workbench/contrib/debug/browser/rawDebugSession',
|
|
197
|
+
'noDebugAdapterStart',
|
|
198
|
+
"No debug adapter, can not start debug session."
|
|
199
|
+
)))));
|
|
198
200
|
}
|
|
199
201
|
await this.debugAdapter.startSession();
|
|
200
202
|
this.startTime = ( new Date()).getTime();
|
|
@@ -514,8 +516,16 @@ let RawDebugSession = class RawDebugSession {
|
|
|
514
516
|
if (!result.success) {
|
|
515
517
|
const { confirmed } = await this.dialogSerivce.confirm({
|
|
516
518
|
type: Severity.Warning,
|
|
517
|
-
message: nls.localizeWithPath(
|
|
518
|
-
|
|
519
|
+
message: ( nls.localizeWithPath(
|
|
520
|
+
'vs/workbench/contrib/debug/browser/rawDebugSession',
|
|
521
|
+
'canNotStart',
|
|
522
|
+
"The debugger needs to open a new tab or window for the debuggee but the browser prevented this. You must give permission to continue."
|
|
523
|
+
)),
|
|
524
|
+
primaryButton: ( nls.localizeWithPath(
|
|
525
|
+
'vs/workbench/contrib/debug/browser/rawDebugSession',
|
|
526
|
+
{ key: 'continue', comment: ['&& denotes a mnemonic'] },
|
|
527
|
+
"&&Continue"
|
|
528
|
+
))
|
|
519
529
|
});
|
|
520
530
|
if (confirmed) {
|
|
521
531
|
result = await this.launchVsCode(request.arguments);
|
|
@@ -615,9 +625,12 @@ let RawDebugSession = class RawDebugSession {
|
|
|
615
625
|
completeDispatch(undefined);
|
|
616
626
|
}
|
|
617
627
|
else {
|
|
618
|
-
errorDispatch(( new Error(
|
|
619
|
-
|
|
620
|
-
|
|
628
|
+
errorDispatch(( new Error(( nls.localizeWithPath(
|
|
629
|
+
'vs/workbench/contrib/debug/browser/rawDebugSession',
|
|
630
|
+
'noDebugAdapter',
|
|
631
|
+
"No debugger available found. Can not send '{0}'.",
|
|
632
|
+
command
|
|
633
|
+
)))));
|
|
621
634
|
}
|
|
622
635
|
return;
|
|
623
636
|
}
|
|
@@ -650,7 +663,11 @@ let RawDebugSession = class RawDebugSession {
|
|
|
650
663
|
const userMessage = error ? formatPII(error.format, false, error.variables) : errorMessage;
|
|
651
664
|
const url = error?.url;
|
|
652
665
|
if (error && url) {
|
|
653
|
-
const label = error.urlLabel ? error.urlLabel : nls.localizeWithPath(
|
|
666
|
+
const label = error.urlLabel ? error.urlLabel : ( nls.localizeWithPath(
|
|
667
|
+
'vs/workbench/contrib/debug/browser/rawDebugSession',
|
|
668
|
+
'moreInfo',
|
|
669
|
+
"More Info"
|
|
670
|
+
));
|
|
654
671
|
const uri = ( URI.parse(url));
|
|
655
672
|
const actionId = uri.scheme === Schemas.command ? 'debug.moreInfo.command' : 'debug.moreInfo';
|
|
656
673
|
return createErrorWithActions(userMessage, [toAction({ id: actionId, label, run: () => this.openerService.open(uri, { allowCommands: true }) })]);
|
|
@@ -75,7 +75,11 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
75
75
|
super({
|
|
76
76
|
...options,
|
|
77
77
|
filterOptions: {
|
|
78
|
-
placeholder:
|
|
78
|
+
placeholder: ( (localizeWithPath(
|
|
79
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
80
|
+
{ key: 'workbench.debug.filter.placeholder', comment: ['Text in the brackets after e.g. is not localizable'] },
|
|
81
|
+
"Filter (e.g. text, !exclude)"
|
|
82
|
+
))),
|
|
79
83
|
text: filterText,
|
|
80
84
|
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY, 1 , '[]')),
|
|
81
85
|
}
|
|
@@ -445,7 +449,13 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
445
449
|
await autoExpandElements(session.getReplElements());
|
|
446
450
|
}
|
|
447
451
|
const { total, filtered } = this.getFilterStats();
|
|
448
|
-
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : localizeWithPath(
|
|
452
|
+
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : ( (localizeWithPath(
|
|
453
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
454
|
+
'showing filtered repl lines',
|
|
455
|
+
"Showing {0} of {1}",
|
|
456
|
+
filtered,
|
|
457
|
+
total
|
|
458
|
+
))));
|
|
449
459
|
}, Repl_1.REFRESH_DELAY))
|
|
450
460
|
);
|
|
451
461
|
}
|
|
@@ -545,7 +555,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
545
555
|
options.suggest = { showStatusBar: true };
|
|
546
556
|
const config = this.configurationService.getValue('debug');
|
|
547
557
|
options.acceptSuggestionOnEnter = config.console.acceptSuggestionOnEnter === 'on' ? 'on' : 'off';
|
|
548
|
-
options.ariaLabel = localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'debugConsole', "Debug Console");
|
|
558
|
+
options.ariaLabel = ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'debugConsole', "Debug Console")));
|
|
549
559
|
this.replInput = this.scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, options, getSimpleCodeEditorWidgetOptions());
|
|
550
560
|
this._register(this.replInput.onDidChangeModelContent(() => {
|
|
551
561
|
const model = this.replInput.getModel();
|
|
@@ -596,7 +606,11 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
596
606
|
},
|
|
597
607
|
renderOptions: {
|
|
598
608
|
after: {
|
|
599
|
-
contentText: localizeWithPath(
|
|
609
|
+
contentText: ( (localizeWithPath(
|
|
610
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
611
|
+
'startDebugFirst',
|
|
612
|
+
"Please start a debug session to evaluate expressions"
|
|
613
|
+
))),
|
|
600
614
|
color: transparentForeground ? ( (transparentForeground.toString())) : undefined
|
|
601
615
|
}
|
|
602
616
|
}
|
|
@@ -708,7 +722,11 @@ class AcceptReplInputAction extends EditorAction {
|
|
|
708
722
|
constructor() {
|
|
709
723
|
super({
|
|
710
724
|
id: 'repl.action.acceptInput',
|
|
711
|
-
label: localizeWithPath(
|
|
725
|
+
label: ( (localizeWithPath(
|
|
726
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
727
|
+
{ key: 'actions.repl.acceptInput', comment: ['Apply input from the debug console input box'] },
|
|
728
|
+
"REPL Accept Input"
|
|
729
|
+
))),
|
|
712
730
|
alias: 'REPL Accept Input',
|
|
713
731
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
714
732
|
kbOpts: {
|
|
@@ -728,7 +746,11 @@ class FilterReplAction extends EditorAction {
|
|
|
728
746
|
constructor() {
|
|
729
747
|
super({
|
|
730
748
|
id: 'repl.action.filter',
|
|
731
|
-
label: localizeWithPath(
|
|
749
|
+
label: ( (localizeWithPath(
|
|
750
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
751
|
+
'repl.action.filter',
|
|
752
|
+
"REPL Focus Content to Filter"
|
|
753
|
+
))),
|
|
732
754
|
alias: 'REPL Filter',
|
|
733
755
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
734
756
|
kbOpts: {
|
|
@@ -747,7 +769,11 @@ class ReplCopyAllAction extends EditorAction {
|
|
|
747
769
|
constructor() {
|
|
748
770
|
super({
|
|
749
771
|
id: 'repl.action.copyAll',
|
|
750
|
-
label: localizeWithPath(
|
|
772
|
+
label: ( (localizeWithPath(
|
|
773
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
774
|
+
'actions.repl.copyAll',
|
|
775
|
+
"Debug: Console Copy All"
|
|
776
|
+
))),
|
|
751
777
|
alias: 'Debug Console Copy All',
|
|
752
778
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
753
779
|
});
|
|
@@ -783,7 +809,11 @@ registerAction2(class extends ViewAction {
|
|
|
783
809
|
super({
|
|
784
810
|
id: selectReplCommandId,
|
|
785
811
|
viewId: REPL_VIEW_ID,
|
|
786
|
-
title: localizeWithPath(
|
|
812
|
+
title: ( (localizeWithPath(
|
|
813
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
814
|
+
'selectRepl',
|
|
815
|
+
"Select Debug Console"
|
|
816
|
+
))),
|
|
787
817
|
f1: false,
|
|
788
818
|
menu: {
|
|
789
819
|
id: MenuId.ViewTitle,
|
|
@@ -815,7 +845,7 @@ registerAction2(class extends ViewAction {
|
|
|
815
845
|
super({
|
|
816
846
|
id: 'workbench.debug.panel.action.clearReplAction',
|
|
817
847
|
viewId: REPL_VIEW_ID,
|
|
818
|
-
title: { value: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'clearRepl', "Clear Console"), original: 'Clear Console' },
|
|
848
|
+
title: { value: ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'clearRepl', "Clear Console"))), original: 'Clear Console' },
|
|
819
849
|
f1: true,
|
|
820
850
|
icon: debugConsoleClearAll,
|
|
821
851
|
menu: [{
|
|
@@ -832,14 +862,18 @@ registerAction2(class extends ViewAction {
|
|
|
832
862
|
}
|
|
833
863
|
runInView(_accessor, view) {
|
|
834
864
|
view.clearRepl();
|
|
835
|
-
aria.status(localizeWithPath(
|
|
865
|
+
aria.status(( (localizeWithPath(
|
|
866
|
+
'vs/workbench/contrib/debug/browser/repl',
|
|
867
|
+
'debugConsoleCleared',
|
|
868
|
+
"Debug console was cleared"
|
|
869
|
+
))));
|
|
836
870
|
}
|
|
837
871
|
});
|
|
838
872
|
registerAction2(class extends ViewAction {
|
|
839
873
|
constructor() {
|
|
840
874
|
super({
|
|
841
875
|
id: 'debug.collapseRepl',
|
|
842
|
-
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'collapse', "Collapse All"),
|
|
876
|
+
title: ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'collapse', "Collapse All"))),
|
|
843
877
|
viewId: REPL_VIEW_ID,
|
|
844
878
|
menu: {
|
|
845
879
|
id: MenuId.DebugConsoleContext,
|
|
@@ -857,7 +891,7 @@ registerAction2(class extends ViewAction {
|
|
|
857
891
|
constructor() {
|
|
858
892
|
super({
|
|
859
893
|
id: 'debug.replPaste',
|
|
860
|
-
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'paste', "Paste"),
|
|
894
|
+
title: ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'paste', "Paste"))),
|
|
861
895
|
viewId: REPL_VIEW_ID,
|
|
862
896
|
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(0 )))),
|
|
863
897
|
menu: {
|
|
@@ -887,7 +921,7 @@ registerAction2(class extends ViewAction {
|
|
|
887
921
|
constructor() {
|
|
888
922
|
super({
|
|
889
923
|
id: 'workbench.debug.action.copyAll',
|
|
890
|
-
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copyAll', "Copy All"),
|
|
924
|
+
title: ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copyAll', "Copy All"))),
|
|
891
925
|
viewId: REPL_VIEW_ID,
|
|
892
926
|
menu: {
|
|
893
927
|
id: MenuId.DebugConsoleContext,
|
|
@@ -905,7 +939,7 @@ registerAction2(class extends Action2 {
|
|
|
905
939
|
constructor() {
|
|
906
940
|
super({
|
|
907
941
|
id: 'debug.replCopy',
|
|
908
|
-
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copy', "Copy"),
|
|
942
|
+
title: ( (localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copy', "Copy"))),
|
|
909
943
|
menu: {
|
|
910
944
|
id: MenuId.DebugConsoleContext,
|
|
911
945
|
group: '2_cutcopypaste',
|
|
@@ -300,20 +300,46 @@ class ReplDataSource {
|
|
|
300
300
|
}
|
|
301
301
|
class ReplAccessibilityProvider {
|
|
302
302
|
getWidgetAriaLabel() {
|
|
303
|
-
return localizeWithPath(
|
|
303
|
+
return ( localizeWithPath(
|
|
304
|
+
'vs/workbench/contrib/debug/browser/replViewer',
|
|
305
|
+
'debugConsole',
|
|
306
|
+
"Debug Console"
|
|
307
|
+
));
|
|
304
308
|
}
|
|
305
309
|
getAriaLabel(element) {
|
|
306
310
|
if (element instanceof Variable) {
|
|
307
|
-
return localizeWithPath(
|
|
311
|
+
return ( localizeWithPath(
|
|
312
|
+
'vs/workbench/contrib/debug/browser/replViewer',
|
|
313
|
+
'replVariableAriaLabel',
|
|
314
|
+
"Variable {0}, value {1}",
|
|
315
|
+
element.name,
|
|
316
|
+
element.value
|
|
317
|
+
));
|
|
308
318
|
}
|
|
309
319
|
if (element instanceof ReplOutputElement || element instanceof ReplEvaluationInput || element instanceof ReplEvaluationResult) {
|
|
310
|
-
return element.value + (element instanceof ReplOutputElement && element.count > 1 ? localizeWithPath(
|
|
320
|
+
return element.value + (element instanceof ReplOutputElement && element.count > 1 ? ( localizeWithPath(
|
|
321
|
+
'vs/workbench/contrib/debug/browser/replViewer',
|
|
322
|
+
{ key: 'occurred', comment: ['Front will the value of the debug console element. Placeholder will be replaced by a number which represents occurrance count.'] },
|
|
323
|
+
", occurred {0} times",
|
|
324
|
+
element.count
|
|
325
|
+
)) : '');
|
|
311
326
|
}
|
|
312
327
|
if (element instanceof RawObjectReplElement) {
|
|
313
|
-
return localizeWithPath(
|
|
328
|
+
return ( localizeWithPath(
|
|
329
|
+
'vs/workbench/contrib/debug/browser/replViewer',
|
|
330
|
+
'replRawObjectAriaLabel',
|
|
331
|
+
"Debug console variable {0}, value {1}",
|
|
332
|
+
element.name,
|
|
333
|
+
element.value
|
|
334
|
+
));
|
|
314
335
|
}
|
|
315
336
|
if (element instanceof ReplGroup) {
|
|
316
|
-
return localizeWithPath(
|
|
337
|
+
return ( localizeWithPath(
|
|
338
|
+
'vs/workbench/contrib/debug/browser/replViewer',
|
|
339
|
+
'replGroup',
|
|
340
|
+
"Debug console group {0}",
|
|
341
|
+
element.name
|
|
342
|
+
));
|
|
317
343
|
}
|
|
318
344
|
return '';
|
|
319
345
|
}
|
|
@@ -14,25 +14,41 @@ const STATUS_BAR_DEBUGGING_BACKGROUND = registerColor('statusBar.debuggingBackgr
|
|
|
14
14
|
light: '#CC6633',
|
|
15
15
|
hcDark: '#BA592C',
|
|
16
16
|
hcLight: '#B5200D'
|
|
17
|
-
}, localizeWithPath(
|
|
17
|
+
}, ( localizeWithPath(
|
|
18
|
+
'vs/workbench/contrib/debug/browser/statusbarColorProvider',
|
|
19
|
+
'statusBarDebuggingBackground',
|
|
20
|
+
"Status bar background color when a program is being debugged. The status bar is shown in the bottom of the window"
|
|
21
|
+
)));
|
|
18
22
|
const STATUS_BAR_DEBUGGING_FOREGROUND = registerColor('statusBar.debuggingForeground', {
|
|
19
23
|
dark: STATUS_BAR_FOREGROUND,
|
|
20
24
|
light: STATUS_BAR_FOREGROUND,
|
|
21
25
|
hcDark: STATUS_BAR_FOREGROUND,
|
|
22
26
|
hcLight: '#FFFFFF'
|
|
23
|
-
}, localizeWithPath(
|
|
27
|
+
}, ( localizeWithPath(
|
|
28
|
+
'vs/workbench/contrib/debug/browser/statusbarColorProvider',
|
|
29
|
+
'statusBarDebuggingForeground',
|
|
30
|
+
"Status bar foreground color when a program is being debugged. The status bar is shown in the bottom of the window"
|
|
31
|
+
)));
|
|
24
32
|
const STATUS_BAR_DEBUGGING_BORDER = registerColor('statusBar.debuggingBorder', {
|
|
25
33
|
dark: STATUS_BAR_BORDER,
|
|
26
34
|
light: STATUS_BAR_BORDER,
|
|
27
35
|
hcDark: STATUS_BAR_BORDER,
|
|
28
36
|
hcLight: STATUS_BAR_BORDER
|
|
29
|
-
}, localizeWithPath(
|
|
37
|
+
}, ( localizeWithPath(
|
|
38
|
+
'vs/workbench/contrib/debug/browser/statusbarColorProvider',
|
|
39
|
+
'statusBarDebuggingBorder',
|
|
40
|
+
"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"
|
|
41
|
+
)));
|
|
30
42
|
const COMMAND_CENTER_DEBUGGING_BACKGROUND = registerColor('commandCenter.debuggingBackground', {
|
|
31
43
|
dark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
|
|
32
44
|
hcDark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
|
|
33
45
|
light: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 },
|
|
34
46
|
hcLight: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: 2 , factor: 0.258 }
|
|
35
|
-
}, localizeWithPath(
|
|
47
|
+
}, ( localizeWithPath(
|
|
48
|
+
'vs/workbench/contrib/debug/browser/statusbarColorProvider',
|
|
49
|
+
'commandCenter-activeBackground',
|
|
50
|
+
"Command center background color when a program is being debugged"
|
|
51
|
+
)), true);
|
|
36
52
|
let StatusBarColorProvider = class StatusBarColorProvider {
|
|
37
53
|
set enabled(enabled) {
|
|
38
54
|
if (enabled === !!this.disposable) {
|
|
@@ -318,7 +318,11 @@ let VariablesRenderer = class VariablesRenderer extends AbstractExpressionsRende
|
|
|
318
318
|
const variable = expression;
|
|
319
319
|
return {
|
|
320
320
|
initialValue: expression.value,
|
|
321
|
-
ariaLabel: localizeWithPath(
|
|
321
|
+
ariaLabel: ( localizeWithPath(
|
|
322
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
323
|
+
'variableValueAriaLabel',
|
|
324
|
+
"Type new variable value"
|
|
325
|
+
)),
|
|
322
326
|
validationOptions: {
|
|
323
327
|
validation: () => variable.errorMessage ? ({ content: variable.errorMessage }) : null
|
|
324
328
|
},
|
|
@@ -355,14 +359,29 @@ VariablesRenderer = VariablesRenderer_1 = ( __decorate([
|
|
|
355
359
|
], VariablesRenderer));
|
|
356
360
|
class VariablesAccessibilityProvider {
|
|
357
361
|
getWidgetAriaLabel() {
|
|
358
|
-
return localizeWithPath(
|
|
362
|
+
return ( localizeWithPath(
|
|
363
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
364
|
+
'variablesAriaTreeLabel',
|
|
365
|
+
"Debug Variables"
|
|
366
|
+
));
|
|
359
367
|
}
|
|
360
368
|
getAriaLabel(element) {
|
|
361
369
|
if (element instanceof Scope) {
|
|
362
|
-
return localizeWithPath(
|
|
370
|
+
return ( localizeWithPath(
|
|
371
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
372
|
+
'variableScopeAriaLabel',
|
|
373
|
+
"Scope {0}",
|
|
374
|
+
element.name
|
|
375
|
+
));
|
|
363
376
|
}
|
|
364
377
|
if (element instanceof Variable) {
|
|
365
|
-
return localizeWithPath(
|
|
378
|
+
return ( localizeWithPath(
|
|
379
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
380
|
+
{ key: 'variableAriaLabel', comment: ['Placeholders are variable name and variable value respectivly. They should not be translated.'] },
|
|
381
|
+
"{0}, value {1}",
|
|
382
|
+
element.name,
|
|
383
|
+
element.value
|
|
384
|
+
));
|
|
366
385
|
}
|
|
367
386
|
return null;
|
|
368
387
|
}
|
|
@@ -464,19 +483,27 @@ CommandsRegistry.registerCommand({
|
|
|
464
483
|
function tryInstallHexEditor(notifications, progressService, extensionService, commandService) {
|
|
465
484
|
return ( new Promise(resolve => {
|
|
466
485
|
let installing = false;
|
|
467
|
-
const handle = notifications.prompt(Severity.Info, localizeWithPath(
|
|
486
|
+
const handle = notifications.prompt(Severity.Info, ( localizeWithPath(
|
|
487
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
488
|
+
"viewMemory.prompt",
|
|
489
|
+
"Inspecting binary data requires the Hex Editor extension. Would you like to install it now?"
|
|
490
|
+
)), [
|
|
468
491
|
{
|
|
469
|
-
label: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "cancel", "Cancel"),
|
|
492
|
+
label: ( localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "cancel", "Cancel")),
|
|
470
493
|
run: () => resolve(false),
|
|
471
494
|
},
|
|
472
495
|
{
|
|
473
|
-
label: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "install", "Install"),
|
|
496
|
+
label: ( localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "install", "Install")),
|
|
474
497
|
run: async () => {
|
|
475
498
|
installing = true;
|
|
476
499
|
try {
|
|
477
500
|
await progressService.withProgress({
|
|
478
501
|
location: 15 ,
|
|
479
|
-
title: localizeWithPath(
|
|
502
|
+
title: ( localizeWithPath(
|
|
503
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
504
|
+
"viewMemory.install.progress",
|
|
505
|
+
"Installing the Hex Editor..."
|
|
506
|
+
)),
|
|
480
507
|
}, async () => {
|
|
481
508
|
await commandService.executeCommand('workbench.extensions.installExtension', HEX_EDITOR_EXTENSION_ID);
|
|
482
509
|
while (!(await extensionService.getExtension(HEX_EDITOR_EXTENSION_ID))) {
|
|
@@ -550,7 +577,11 @@ registerAction2(class extends ViewAction {
|
|
|
550
577
|
super({
|
|
551
578
|
id: 'variables.collapse',
|
|
552
579
|
viewId: VARIABLES_VIEW_ID,
|
|
553
|
-
title: localizeWithPath(
|
|
580
|
+
title: ( localizeWithPath(
|
|
581
|
+
'vs/workbench/contrib/debug/browser/variablesView',
|
|
582
|
+
'collapse',
|
|
583
|
+
"Collapse All"
|
|
584
|
+
)),
|
|
554
585
|
f1: false,
|
|
555
586
|
icon: Codicon.collapseAll,
|
|
556
587
|
menu: {
|
|
@@ -247,7 +247,11 @@ let WatchExpressionsRenderer = class WatchExpressionsRenderer extends AbstractEx
|
|
|
247
247
|
if (settingValue) {
|
|
248
248
|
return {
|
|
249
249
|
initialValue: expression.value,
|
|
250
|
-
ariaLabel: localizeWithPath(
|
|
250
|
+
ariaLabel: ( localizeWithPath(
|
|
251
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
252
|
+
'typeNewValue',
|
|
253
|
+
"Type new value"
|
|
254
|
+
)),
|
|
251
255
|
onFinish: async (value, success) => {
|
|
252
256
|
if (success && value) {
|
|
253
257
|
const focusedFrame = this.debugService.getViewModel().focusedStackFrame;
|
|
@@ -261,8 +265,16 @@ let WatchExpressionsRenderer = class WatchExpressionsRenderer extends AbstractEx
|
|
|
261
265
|
}
|
|
262
266
|
return {
|
|
263
267
|
initialValue: expression.name ? expression.name : '',
|
|
264
|
-
ariaLabel: localizeWithPath(
|
|
265
|
-
|
|
268
|
+
ariaLabel: ( localizeWithPath(
|
|
269
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
270
|
+
'watchExpressionInputAriaLabel',
|
|
271
|
+
"Type watch expression"
|
|
272
|
+
)),
|
|
273
|
+
placeholder: ( localizeWithPath(
|
|
274
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
275
|
+
'watchExpressionPlaceholder',
|
|
276
|
+
"Expression to watch"
|
|
277
|
+
)),
|
|
266
278
|
onFinish: (value, success) => {
|
|
267
279
|
if (success && value) {
|
|
268
280
|
this.debugService.renameWatchExpression(expression.getId(), value);
|
|
@@ -301,13 +313,29 @@ function getContextForWatchExpressionMenu(parentContext, expression) {
|
|
|
301
313
|
}
|
|
302
314
|
class WatchExpressionsAccessibilityProvider {
|
|
303
315
|
getWidgetAriaLabel() {
|
|
304
|
-
return localizeWithPath(
|
|
316
|
+
return ( localizeWithPath(
|
|
317
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
318
|
+
{ comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel' },
|
|
319
|
+
"Debug Watch Expressions"
|
|
320
|
+
));
|
|
305
321
|
}
|
|
306
322
|
getAriaLabel(element) {
|
|
307
323
|
if (element instanceof Expression) {
|
|
308
|
-
return localizeWithPath(
|
|
324
|
+
return ( localizeWithPath(
|
|
325
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
326
|
+
'watchExpressionAriaLabel',
|
|
327
|
+
"{0}, value {1}",
|
|
328
|
+
element.name,
|
|
329
|
+
element.value
|
|
330
|
+
));
|
|
309
331
|
}
|
|
310
|
-
return localizeWithPath(
|
|
332
|
+
return ( localizeWithPath(
|
|
333
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
334
|
+
'watchVariableAriaLabel',
|
|
335
|
+
"{0}, value {1}",
|
|
336
|
+
element.name,
|
|
337
|
+
element.value
|
|
338
|
+
));
|
|
311
339
|
}
|
|
312
340
|
}
|
|
313
341
|
class WatchExpressionsDragAndDrop {
|
|
@@ -349,7 +377,11 @@ registerAction2(class Collapse extends ViewAction {
|
|
|
349
377
|
super({
|
|
350
378
|
id: 'watch.collapse',
|
|
351
379
|
viewId: WATCH_VIEW_ID,
|
|
352
|
-
title: localizeWithPath(
|
|
380
|
+
title: ( localizeWithPath(
|
|
381
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
382
|
+
'collapse',
|
|
383
|
+
"Collapse All"
|
|
384
|
+
)),
|
|
353
385
|
f1: false,
|
|
354
386
|
icon: Codicon.collapseAll,
|
|
355
387
|
precondition: CONTEXT_WATCH_EXPRESSIONS_EXIST,
|
|
@@ -366,7 +398,11 @@ registerAction2(class Collapse extends ViewAction {
|
|
|
366
398
|
}
|
|
367
399
|
});
|
|
368
400
|
const ADD_WATCH_ID = 'workbench.debug.viewlet.action.addWatchExpression';
|
|
369
|
-
const ADD_WATCH_LABEL = localizeWithPath(
|
|
401
|
+
const ADD_WATCH_LABEL = ( localizeWithPath(
|
|
402
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
403
|
+
'addWatchExpression',
|
|
404
|
+
"Add Expression"
|
|
405
|
+
));
|
|
370
406
|
registerAction2(class AddWatchExpressionAction extends Action2 {
|
|
371
407
|
constructor() {
|
|
372
408
|
super({
|
|
@@ -387,7 +423,11 @@ registerAction2(class AddWatchExpressionAction extends Action2 {
|
|
|
387
423
|
}
|
|
388
424
|
});
|
|
389
425
|
const REMOVE_WATCH_EXPRESSIONS_COMMAND_ID = 'workbench.debug.viewlet.action.removeAllWatchExpressions';
|
|
390
|
-
const REMOVE_WATCH_EXPRESSIONS_LABEL = localizeWithPath(
|
|
426
|
+
const REMOVE_WATCH_EXPRESSIONS_LABEL = ( localizeWithPath(
|
|
427
|
+
'vs/workbench/contrib/debug/browser/watchExpressionsView',
|
|
428
|
+
'removeAllWatchExpressions',
|
|
429
|
+
"Remove All Expressions"
|
|
430
|
+
));
|
|
391
431
|
registerAction2(class RemoveAllWatchExpressionsAction extends Action2 {
|
|
392
432
|
constructor() {
|
|
393
433
|
super({
|