@codingame/monaco-vscode-debug-service-override 1.83.2 → 1.83.3
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 +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +90 -68
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +5 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +61 -104
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +3 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +29 -51
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +190 -203
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +11 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +32 -32
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +21 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +11 -15
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +28 -80
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +56 -68
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +17 -50
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +31 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +9 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +12 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +8 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +6 -25
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +9 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +15 -21
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +6 -20
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +5 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +10 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +10 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +61 -6
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +6 -9
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +3 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +21 -13
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +41 -143
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +11 -36
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +11 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -49
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -4
|
@@ -3,7 +3,7 @@ import { DisposableStore, dispose } from 'monaco-editor/esm/vs/base/common/lifec
|
|
|
3
3
|
import './media/debugViewlet.css.js';
|
|
4
4
|
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
5
5
|
import { createActionViewItem } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
|
|
6
|
-
import { registerAction2, Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
6
|
+
import { registerAction2, Action2, MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
7
7
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
8
8
|
import { ContextKeyExpr, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
9
9
|
import { IContextMenuService, IContextViewService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
|
|
@@ -16,10 +16,10 @@ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspac
|
|
|
16
16
|
import { ViewsSubMenu, ViewPaneContainer } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
|
|
17
17
|
import { IViewsService, IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
|
|
18
18
|
import { StartDebugActionViewItem, FocusSessionActionViewItem } from './debugActionViewItems.js';
|
|
19
|
-
import { DEBUG_START_COMMAND_ID, FOCUS_SESSION_ID, STOP_ID, DISCONNECT_ID } from './debugCommands.js';
|
|
19
|
+
import { SELECT_AND_START_ID, DEBUG_START_COMMAND_ID, FOCUS_SESSION_ID, STOP_ID, DISCONNECT_ID } from './debugCommands.js';
|
|
20
20
|
import { createDisconnectMenuItemAction } from './debugToolBar.js';
|
|
21
21
|
import { WelcomeView } from './welcomeView.js';
|
|
22
|
-
import { REPL_VIEW_ID, VIEWLET_ID, CONTEXT_DEBUG_UX_KEY, BREAKPOINTS_VIEW_ID, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
22
|
+
import { REPL_VIEW_ID, VIEWLET_ID, CONTEXT_DEBUG_STATE, CONTEXT_DEBUG_UX_KEY, BREAKPOINTS_VIEW_ID, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
23
23
|
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
24
24
|
import { IWorkbenchLayoutService } from 'vscode/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
25
25
|
|
|
@@ -144,7 +144,7 @@ registerAction2(class extends Action2 {
|
|
|
144
144
|
constructor() {
|
|
145
145
|
super({
|
|
146
146
|
id: 'debug.toggleReplIgnoreFocus',
|
|
147
|
-
title:
|
|
147
|
+
title: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugViewlet', 'debugPanel', "Debug Console"),
|
|
148
148
|
toggled: ( ContextKeyExpr.has(`view.${REPL_VIEW_ID}.visible`)),
|
|
149
149
|
menu: [{
|
|
150
150
|
id: ViewsSubMenu,
|
|
@@ -164,5 +164,13 @@ registerAction2(class extends Action2 {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
|
+
( MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
168
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)), ( CONTEXT_DEBUG_STATE.notEqualsTo('inactive')), ( ContextKeyExpr.equals('config.debug.toolBarLocation', 'docked')))),
|
|
169
|
+
order: 10,
|
|
170
|
+
command: {
|
|
171
|
+
id: SELECT_AND_START_ID,
|
|
172
|
+
title: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugViewlet', 'startAdditionalSession', "Start Additional Session"),
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
167
175
|
|
|
168
176
|
export { DebugViewPaneContainer };
|
|
@@ -12,7 +12,7 @@ import { BareFontInfo } from 'monaco-editor/esm/vs/editor/common/config/fontInfo
|
|
|
12
12
|
import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
|
|
13
13
|
import { StringBuilder } from 'monaco-editor/esm/vs/editor/common/core/stringBuilder.js';
|
|
14
14
|
import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
|
|
15
|
-
import {
|
|
15
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
16
16
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
17
17
|
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
18
18
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
@@ -43,7 +43,7 @@ const disassemblyNotAvailable = {
|
|
|
43
43
|
address: 0n,
|
|
44
44
|
instruction: {
|
|
45
45
|
address: '-1',
|
|
46
|
-
instruction: (
|
|
46
|
+
instruction: localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'instructionNotAvailable', "Disassembly not available.")
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
@@ -146,7 +146,7 @@ let DisassemblyView = class DisassemblyView extends EditorPane {
|
|
|
146
146
|
project(row) { return row; }
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
|
-
label: (
|
|
149
|
+
label: localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'disassemblyTableColumnLabel', "instructions"),
|
|
150
150
|
tooltip: '',
|
|
151
151
|
weight: 0.3,
|
|
152
152
|
templateId: InstructionRenderer.TEMPLATE_ID,
|
|
@@ -678,7 +678,7 @@ let InstructionRenderer = class InstructionRenderer extends Disposable {
|
|
|
678
678
|
};
|
|
679
679
|
this.editorService.openEditor({
|
|
680
680
|
resource: sourceURI,
|
|
681
|
-
description: (
|
|
681
|
+
description: localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'editorOpenedFromDisassemblyDescription', "from disassembly"),
|
|
682
682
|
options: {
|
|
683
683
|
preserveFocus: false,
|
|
684
684
|
selection: selection,
|
|
@@ -713,18 +713,18 @@ InstructionRenderer = InstructionRenderer_1 = ( __decorate([
|
|
|
713
713
|
], InstructionRenderer));
|
|
714
714
|
class AccessibilityProvider {
|
|
715
715
|
getWidgetAriaLabel() {
|
|
716
|
-
return (
|
|
716
|
+
return localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'disassemblyView', "Disassembly View");
|
|
717
717
|
}
|
|
718
718
|
getAriaLabel(element) {
|
|
719
719
|
let label = '';
|
|
720
720
|
const instruction = element.instruction;
|
|
721
721
|
if (instruction.address !== '-1') {
|
|
722
|
-
label += `${(
|
|
722
|
+
label += `${localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'instructionAddress', "Address")}: ${instruction.address}`;
|
|
723
723
|
}
|
|
724
724
|
if (instruction.instructionBytes) {
|
|
725
|
-
label += `, ${(
|
|
725
|
+
label += `, ${localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', 'instructionBytes', "Bytes")}: ${instruction.instructionBytes}`;
|
|
726
726
|
}
|
|
727
|
-
label += `, ${(
|
|
727
|
+
label += `, ${localizeWithPath('vs/workbench/contrib/debug/browser/disassemblyView', `instructionText`, "Instruction")}: ${instruction.instruction}`;
|
|
728
728
|
return label;
|
|
729
729
|
}
|
|
730
730
|
}
|
|
@@ -15,8 +15,8 @@ import { Action } from 'monaco-editor/esm/vs/base/common/actions.js';
|
|
|
15
15
|
import { widgetClose } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
16
16
|
|
|
17
17
|
const $ = dom.$;
|
|
18
|
-
const debugExceptionWidgetBorder = registerColor('debugExceptionWidget.border', { dark: '#a31515', light: '#a31515', hcDark: '#a31515', hcLight: '#a31515' },
|
|
19
|
-
const debugExceptionWidgetBackground = registerColor('debugExceptionWidget.background', { dark: '#420b0d', light: '#f1dfde', hcDark: '#420b0d', hcLight: '#f1dfde' },
|
|
18
|
+
const debugExceptionWidgetBorder = registerColor('debugExceptionWidget.border', { dark: '#a31515', light: '#a31515', hcDark: '#a31515', hcLight: '#a31515' }, nls.localizeWithPath('vs/workbench/contrib/debug/browser/exceptionWidget', 'debugExceptionWidgetBorder', 'Exception widget border color.'));
|
|
19
|
+
const debugExceptionWidgetBackground = registerColor('debugExceptionWidget.background', { dark: '#420b0d', light: '#f1dfde', hcDark: '#420b0d', hcLight: '#f1dfde' }, nls.localizeWithPath('vs/workbench/contrib/debug/browser/exceptionWidget', 'debugExceptionWidgetBackground', 'Exception widget background color.'));
|
|
20
20
|
let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
21
21
|
constructor(editor, exceptionInfo, debugSession, themeService, instantiationService) {
|
|
22
22
|
super(editor, { showFrame: true, showArrow: true, isAccessible: true, frameWidth: 1, className: 'exception-widget-container' });
|
|
@@ -55,17 +55,19 @@ let ExceptionWidget = class ExceptionWidget extends ZoneWidget {
|
|
|
55
55
|
dom.append(title, label);
|
|
56
56
|
const actions = $('.actions');
|
|
57
57
|
dom.append(title, actions);
|
|
58
|
-
label.textContent = this.exceptionInfo.id ? ( nls.
|
|
59
|
-
'exceptionThrownWithId',
|
|
60
|
-
'Exception has occurred: {0}',
|
|
61
|
-
this.exceptionInfo.id
|
|
62
|
-
)) : ( nls.localize('exceptionThrown', 'Exception has occurred.'));
|
|
58
|
+
label.textContent = this.exceptionInfo.id ? nls.localizeWithPath('vs/workbench/contrib/debug/browser/exceptionWidget', 'exceptionThrownWithId', 'Exception has occurred: {0}', this.exceptionInfo.id) : nls.localizeWithPath('vs/workbench/contrib/debug/browser/exceptionWidget', 'exceptionThrown', 'Exception has occurred.');
|
|
63
59
|
let ariaLabel = label.textContent;
|
|
64
60
|
const actionBar = ( new ActionBar(actions));
|
|
65
|
-
actionBar.push(( new Action(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
61
|
+
actionBar.push(( new Action(
|
|
62
|
+
'editor.closeExceptionWidget',
|
|
63
|
+
nls.localizeWithPath('vs/workbench/contrib/debug/browser/exceptionWidget', 'close', "Close"),
|
|
64
|
+
ThemeIcon.asClassName(widgetClose),
|
|
65
|
+
true,
|
|
66
|
+
async () => {
|
|
67
|
+
const contribution = this.editor.getContribution(EDITOR_CONTRIBUTION_ID);
|
|
68
|
+
contribution?.closeExceptionWidget();
|
|
69
|
+
}
|
|
70
|
+
)), { label: false, icon: true });
|
|
69
71
|
dom.append(container, title);
|
|
70
72
|
if (this.exceptionInfo.description) {
|
|
71
73
|
const description = $('.description');
|
|
@@ -9,7 +9,7 @@ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/commo
|
|
|
9
9
|
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
|
|
10
10
|
import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService';
|
|
11
11
|
import { StandardKeyboardEvent } from 'monaco-editor/esm/vs/base/browser/keyboardEvent.js';
|
|
12
|
-
import {
|
|
12
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
13
13
|
import { ITunnelService } from 'vscode/vscode/vs/platform/tunnel/common/tunnel';
|
|
14
14
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
15
15
|
|
|
@@ -153,10 +153,10 @@ let LinkDetector = class LinkDetector {
|
|
|
153
153
|
}
|
|
154
154
|
decorateLink(link, uri, fulltext, onClick) {
|
|
155
155
|
link.classList.add('link');
|
|
156
|
-
const followLink = this.tunnelService.canTunnel(uri) ? (
|
|
156
|
+
const followLink = this.tunnelService.canTunnel(uri) ? localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'followForwardedLink', "follow link using forwarded port") : localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'followLink', "follow link");
|
|
157
157
|
link.title = fulltext
|
|
158
|
-
? (platform.isMacintosh ? (
|
|
159
|
-
: (platform.isMacintosh ? (
|
|
158
|
+
? (platform.isMacintosh ? localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'fileLinkWithPathMac', "Cmd + click to {0}\n{1}", followLink, fulltext) : localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'fileLinkWithPath', "Ctrl + click to {0}\n{1}", followLink, fulltext))
|
|
159
|
+
: (platform.isMacintosh ? localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'fileLinkMac', "Cmd + click to {0}", followLink) : localizeWithPath('vs/workbench/contrib/debug/browser/linkDetector', 'fileLink', "Ctrl + click to {0}", followLink));
|
|
160
160
|
link.onmousemove = (event) => { link.classList.toggle('pointer', platform.isMacintosh ? event.metaKey : event.ctrlKey); };
|
|
161
161
|
link.onmouseleave = () => link.classList.remove('pointer');
|
|
162
162
|
link.onclick = (event) => {
|
|
@@ -551,7 +551,7 @@ class LoadedScriptsRenderer {
|
|
|
551
551
|
options.fileKind = FileKind.ROOT_FOLDER;
|
|
552
552
|
}
|
|
553
553
|
else if (element instanceof SessionTreeItem) {
|
|
554
|
-
options.title =
|
|
554
|
+
options.title = nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', 'loadedScriptsSession', "Debug Session");
|
|
555
555
|
options.hideIcon = true;
|
|
556
556
|
}
|
|
557
557
|
else if (element instanceof BaseTreeItem) {
|
|
@@ -573,39 +573,20 @@ class LoadedScriptsRenderer {
|
|
|
573
573
|
}
|
|
574
574
|
class LoadedSciptsAccessibilityProvider {
|
|
575
575
|
getWidgetAriaLabel() {
|
|
576
|
-
return (
|
|
577
|
-
{ comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' },
|
|
578
|
-
"Debug Loaded Scripts"
|
|
579
|
-
));
|
|
576
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', { comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' }, "Debug Loaded Scripts");
|
|
580
577
|
}
|
|
581
578
|
getAriaLabel(element) {
|
|
582
579
|
if (element instanceof RootFolderTreeItem) {
|
|
583
|
-
return (
|
|
584
|
-
'loadedScriptsRootFolderAriaLabel',
|
|
585
|
-
"Workspace folder {0}, loaded script, debug",
|
|
586
|
-
element.getLabel()
|
|
587
|
-
));
|
|
580
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', 'loadedScriptsRootFolderAriaLabel', "Workspace folder {0}, loaded script, debug", element.getLabel());
|
|
588
581
|
}
|
|
589
582
|
if (element instanceof SessionTreeItem) {
|
|
590
|
-
return (
|
|
591
|
-
'loadedScriptsSessionAriaLabel',
|
|
592
|
-
"Session {0}, loaded script, debug",
|
|
593
|
-
element.getLabel()
|
|
594
|
-
));
|
|
583
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', 'loadedScriptsSessionAriaLabel', "Session {0}, loaded script, debug", element.getLabel());
|
|
595
584
|
}
|
|
596
585
|
if (element.hasChildren()) {
|
|
597
|
-
return (
|
|
598
|
-
'loadedScriptsFolderAriaLabel',
|
|
599
|
-
"Folder {0}, loaded script, debug",
|
|
600
|
-
element.getLabel()
|
|
601
|
-
));
|
|
586
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', 'loadedScriptsFolderAriaLabel', "Folder {0}, loaded script, debug", element.getLabel());
|
|
602
587
|
}
|
|
603
588
|
else {
|
|
604
|
-
return (
|
|
605
|
-
'loadedScriptsSourceAriaLabel',
|
|
606
|
-
"{0}, loaded script, debug",
|
|
607
|
-
element.getLabel()
|
|
608
|
-
));
|
|
589
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/browser/loadedScriptsView', 'loadedScriptsSourceAriaLabel', "{0}, loaded script, debug", element.getLabel());
|
|
609
590
|
}
|
|
610
591
|
}
|
|
611
592
|
}
|
|
@@ -192,7 +192,9 @@ let RawDebugSession = class RawDebugSession {
|
|
|
192
192
|
}
|
|
193
193
|
async start() {
|
|
194
194
|
if (!this.debugAdapter) {
|
|
195
|
-
return Promise.reject(( new Error(
|
|
195
|
+
return Promise.reject(( new Error(
|
|
196
|
+
nls.localizeWithPath('vs/workbench/contrib/debug/browser/rawDebugSession', 'noDebugAdapterStart', "No debug adapter, can not start debug session.")
|
|
197
|
+
)));
|
|
196
198
|
}
|
|
197
199
|
await this.debugAdapter.startSession();
|
|
198
200
|
this.startTime = ( new Date()).getTime();
|
|
@@ -512,11 +514,8 @@ let RawDebugSession = class RawDebugSession {
|
|
|
512
514
|
if (!result.success) {
|
|
513
515
|
const { confirmed } = await this.dialogSerivce.confirm({
|
|
514
516
|
type: Severity.Warning,
|
|
515
|
-
message: (
|
|
516
|
-
|
|
517
|
-
"The debugger needs to open a new tab or window for the debuggee but the browser prevented this. You must give permission to continue."
|
|
518
|
-
)),
|
|
519
|
-
primaryButton: ( nls.localize({ key: 'continue', comment: ['&& denotes a mnemonic'] }, "&&Continue"))
|
|
517
|
+
message: nls.localizeWithPath('vs/workbench/contrib/debug/browser/rawDebugSession', 'canNotStart', "The debugger needs to open a new tab or window for the debuggee but the browser prevented this. You must give permission to continue."),
|
|
518
|
+
primaryButton: nls.localizeWithPath('vs/workbench/contrib/debug/browser/rawDebugSession', { key: 'continue', comment: ['&& denotes a mnemonic'] }, "&&Continue")
|
|
520
519
|
});
|
|
521
520
|
if (confirmed) {
|
|
522
521
|
result = await this.launchVsCode(request.arguments);
|
|
@@ -616,11 +615,9 @@ let RawDebugSession = class RawDebugSession {
|
|
|
616
615
|
completeDispatch(undefined);
|
|
617
616
|
}
|
|
618
617
|
else {
|
|
619
|
-
errorDispatch(( new Error(
|
|
620
|
-
'noDebugAdapter',
|
|
621
|
-
|
|
622
|
-
command
|
|
623
|
-
)))));
|
|
618
|
+
errorDispatch(( new Error(
|
|
619
|
+
nls.localizeWithPath('vs/workbench/contrib/debug/browser/rawDebugSession', 'noDebugAdapter', "No debugger available found. Can not send '{0}'.", command)
|
|
620
|
+
)));
|
|
624
621
|
}
|
|
625
622
|
return;
|
|
626
623
|
}
|
|
@@ -653,7 +650,7 @@ let RawDebugSession = class RawDebugSession {
|
|
|
653
650
|
const userMessage = error ? formatPII(error.format, false, error.variables) : errorMessage;
|
|
654
651
|
const url = error?.url;
|
|
655
652
|
if (error && url) {
|
|
656
|
-
const label = error.urlLabel ? error.urlLabel :
|
|
653
|
+
const label = error.urlLabel ? error.urlLabel : nls.localizeWithPath('vs/workbench/contrib/debug/browser/rawDebugSession', 'moreInfo', "More Info");
|
|
657
654
|
const uri = ( URI.parse(url));
|
|
658
655
|
const actionId = uri.scheme === Schemas.command ? 'debug.moreInfo.command' : 'debug.moreInfo';
|
|
659
656
|
return createErrorWithActions(userMessage, [toAction({ id: actionId, label, run: () => this.openerService.open(uri, { allowCommands: true }) })]);
|
|
@@ -23,7 +23,7 @@ import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/ser
|
|
|
23
23
|
import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
|
|
24
24
|
import { ITextResourcePropertiesService } from 'monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js';
|
|
25
25
|
import { SuggestController } from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.js';
|
|
26
|
-
import {
|
|
26
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
27
27
|
import { createAndFillInContextMenuActions } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
|
|
28
28
|
import { MenuId, registerAction2, Action2, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
29
29
|
import { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js';
|
|
@@ -75,10 +75,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
75
75
|
super({
|
|
76
76
|
...options,
|
|
77
77
|
filterOptions: {
|
|
78
|
-
placeholder: ( (
|
|
79
|
-
{ key: 'workbench.debug.filter.placeholder', comment: ['Text in the brackets after e.g. is not localizable'] },
|
|
80
|
-
"Filter (e.g. text, !exclude)"
|
|
81
|
-
))),
|
|
78
|
+
placeholder: localizeWithPath('vs/workbench/contrib/debug/browser/repl', { key: 'workbench.debug.filter.placeholder', comment: ['Text in the brackets after e.g. is not localizable'] }, "Filter (e.g. text, !exclude)"),
|
|
82
79
|
text: filterText,
|
|
83
80
|
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY, 1 , '[]')),
|
|
84
81
|
}
|
|
@@ -448,7 +445,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
448
445
|
await autoExpandElements(session.getReplElements());
|
|
449
446
|
}
|
|
450
447
|
const { total, filtered } = this.getFilterStats();
|
|
451
|
-
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : (
|
|
448
|
+
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'showing filtered repl lines', "Showing {0} of {1}", filtered, total));
|
|
452
449
|
}, Repl_1.REFRESH_DELAY))
|
|
453
450
|
);
|
|
454
451
|
}
|
|
@@ -548,7 +545,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
548
545
|
options.suggest = { showStatusBar: true };
|
|
549
546
|
const config = this.configurationService.getValue('debug');
|
|
550
547
|
options.acceptSuggestionOnEnter = config.console.acceptSuggestionOnEnter === 'on' ? 'on' : 'off';
|
|
551
|
-
options.ariaLabel = (
|
|
548
|
+
options.ariaLabel = localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'debugConsole', "Debug Console");
|
|
552
549
|
this.replInput = this.scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, options, getSimpleCodeEditorWidgetOptions());
|
|
553
550
|
this._register(this.replInput.onDidChangeModelContent(() => {
|
|
554
551
|
const model = this.replInput.getModel();
|
|
@@ -599,7 +596,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
599
596
|
},
|
|
600
597
|
renderOptions: {
|
|
601
598
|
after: {
|
|
602
|
-
contentText: (
|
|
599
|
+
contentText: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'startDebugFirst', "Please start a debug session to evaluate expressions"),
|
|
603
600
|
color: transparentForeground ? ( (transparentForeground.toString())) : undefined
|
|
604
601
|
}
|
|
605
602
|
}
|
|
@@ -711,10 +708,7 @@ class AcceptReplInputAction extends EditorAction {
|
|
|
711
708
|
constructor() {
|
|
712
709
|
super({
|
|
713
710
|
id: 'repl.action.acceptInput',
|
|
714
|
-
label: (
|
|
715
|
-
{ key: 'actions.repl.acceptInput', comment: ['Apply input from the debug console input box'] },
|
|
716
|
-
"REPL Accept Input"
|
|
717
|
-
))),
|
|
711
|
+
label: localizeWithPath('vs/workbench/contrib/debug/browser/repl', { key: 'actions.repl.acceptInput', comment: ['Apply input from the debug console input box'] }, "REPL Accept Input"),
|
|
718
712
|
alias: 'REPL Accept Input',
|
|
719
713
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
720
714
|
kbOpts: {
|
|
@@ -734,7 +728,7 @@ class FilterReplAction extends EditorAction {
|
|
|
734
728
|
constructor() {
|
|
735
729
|
super({
|
|
736
730
|
id: 'repl.action.filter',
|
|
737
|
-
label: (
|
|
731
|
+
label: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'repl.action.filter', "REPL Focus Content to Filter"),
|
|
738
732
|
alias: 'REPL Filter',
|
|
739
733
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
740
734
|
kbOpts: {
|
|
@@ -753,7 +747,7 @@ class ReplCopyAllAction extends EditorAction {
|
|
|
753
747
|
constructor() {
|
|
754
748
|
super({
|
|
755
749
|
id: 'repl.action.copyAll',
|
|
756
|
-
label: (
|
|
750
|
+
label: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'actions.repl.copyAll', "Debug: Console Copy All"),
|
|
757
751
|
alias: 'Debug Console Copy All',
|
|
758
752
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
759
753
|
});
|
|
@@ -789,7 +783,7 @@ registerAction2(class extends ViewAction {
|
|
|
789
783
|
super({
|
|
790
784
|
id: selectReplCommandId,
|
|
791
785
|
viewId: REPL_VIEW_ID,
|
|
792
|
-
title: (
|
|
786
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'selectRepl', "Select Debug Console"),
|
|
793
787
|
f1: false,
|
|
794
788
|
menu: {
|
|
795
789
|
id: MenuId.ViewTitle,
|
|
@@ -821,7 +815,7 @@ registerAction2(class extends ViewAction {
|
|
|
821
815
|
super({
|
|
822
816
|
id: 'workbench.debug.panel.action.clearReplAction',
|
|
823
817
|
viewId: REPL_VIEW_ID,
|
|
824
|
-
title: { value: (
|
|
818
|
+
title: { value: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'clearRepl', "Clear Console"), original: 'Clear Console' },
|
|
825
819
|
f1: true,
|
|
826
820
|
icon: debugConsoleClearAll,
|
|
827
821
|
menu: [{
|
|
@@ -838,14 +832,14 @@ registerAction2(class extends ViewAction {
|
|
|
838
832
|
}
|
|
839
833
|
runInView(_accessor, view) {
|
|
840
834
|
view.clearRepl();
|
|
841
|
-
aria.status((
|
|
835
|
+
aria.status(localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'debugConsoleCleared', "Debug console was cleared"));
|
|
842
836
|
}
|
|
843
837
|
});
|
|
844
838
|
registerAction2(class extends ViewAction {
|
|
845
839
|
constructor() {
|
|
846
840
|
super({
|
|
847
841
|
id: 'debug.collapseRepl',
|
|
848
|
-
title: (
|
|
842
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'collapse', "Collapse All"),
|
|
849
843
|
viewId: REPL_VIEW_ID,
|
|
850
844
|
menu: {
|
|
851
845
|
id: MenuId.DebugConsoleContext,
|
|
@@ -863,7 +857,7 @@ registerAction2(class extends ViewAction {
|
|
|
863
857
|
constructor() {
|
|
864
858
|
super({
|
|
865
859
|
id: 'debug.replPaste',
|
|
866
|
-
title: (
|
|
860
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'paste', "Paste"),
|
|
867
861
|
viewId: REPL_VIEW_ID,
|
|
868
862
|
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(0 )))),
|
|
869
863
|
menu: {
|
|
@@ -893,7 +887,7 @@ registerAction2(class extends ViewAction {
|
|
|
893
887
|
constructor() {
|
|
894
888
|
super({
|
|
895
889
|
id: 'workbench.debug.action.copyAll',
|
|
896
|
-
title: (
|
|
890
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copyAll', "Copy All"),
|
|
897
891
|
viewId: REPL_VIEW_ID,
|
|
898
892
|
menu: {
|
|
899
893
|
id: MenuId.DebugConsoleContext,
|
|
@@ -911,7 +905,7 @@ registerAction2(class extends Action2 {
|
|
|
911
905
|
constructor() {
|
|
912
906
|
super({
|
|
913
907
|
id: 'debug.replCopy',
|
|
914
|
-
title: (
|
|
908
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/repl', 'copy', "Copy"),
|
|
915
909
|
menu: {
|
|
916
910
|
id: MenuId.DebugConsoleContext,
|
|
917
911
|
group: '2_cutcopypaste',
|
|
@@ -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 {
|
|
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 (
|
|
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 (
|
|
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 ? (
|
|
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 (
|
|
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 (
|
|
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 {
|
|
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
|
-
}, (
|
|
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
|
-
}, (
|
|
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
|
-
}, (
|
|
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
|
-
}, (
|
|
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 {
|
|
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: (
|
|
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 (
|
|
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 (
|
|
362
|
+
return localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'variableScopeAriaLabel', "Scope {0}", element.name);
|
|
363
363
|
}
|
|
364
364
|
if (element instanceof Variable) {
|
|
365
|
-
return (
|
|
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, (
|
|
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: (
|
|
469
|
+
label: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', "cancel", "Cancel"),
|
|
478
470
|
run: () => resolve(false),
|
|
479
471
|
},
|
|
480
472
|
{
|
|
481
|
-
label: (
|
|
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: (
|
|
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: (
|
|
553
|
+
title: localizeWithPath('vs/workbench/contrib/debug/browser/variablesView', 'collapse', "Collapse All"),
|
|
562
554
|
f1: false,
|
|
563
555
|
icon: Codicon.collapseAll,
|
|
564
556
|
menu: {
|