@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
|
@@ -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 {
|
|
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: (
|
|
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: (
|
|
265
|
-
placeholder: (
|
|
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 (
|
|
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 (
|
|
308
|
+
return localizeWithPath('vs/workbench/contrib/debug/browser/watchExpressionsView', 'watchExpressionAriaLabel', "{0}, value {1}", element.name, element.value);
|
|
312
309
|
}
|
|
313
|
-
return (
|
|
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: (
|
|
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 = (
|
|
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 = (
|
|
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,26 +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 {
|
|
8
|
-
import { 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
|
-
import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
|
|
12
|
+
import { Extensions, ViewContentGroups, IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
|
|
13
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
13
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';
|
|
14
18
|
import { isCodeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
|
|
15
19
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
16
20
|
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
17
21
|
import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
18
|
-
import { DEBUG_START_COMMAND_ID } from './debugCommands.js';
|
|
22
|
+
import { DEBUG_START_COMMAND_ID, SELECT_AND_START_ID, DEBUG_CONFIGURE_COMMAND_ID } from './debugCommands.js';
|
|
19
23
|
|
|
20
24
|
const debugStartLanguageKey = 'debugStartLanguage';
|
|
21
25
|
const CONTEXT_DEBUG_START_LANGUAGE = ( new RawContextKey(debugStartLanguageKey, undefined));
|
|
22
26
|
const CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR = ( new RawContextKey('debuggerInterestedInActiveEditor', false));
|
|
23
27
|
let WelcomeView = class WelcomeView extends ViewPane {
|
|
24
28
|
static { this.ID = 'workbench.debug.welcome'; }
|
|
25
|
-
static { this.LABEL = (
|
|
29
|
+
static { this.LABEL = localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'run', "Run"); }
|
|
26
30
|
constructor(options, themeService, keybindingService, contextMenuService, configurationService, contextKeyService, debugService, editorService, instantiationService, viewDescriptorService, openerService, storageSevice, telemetryService) {
|
|
27
31
|
super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
|
|
28
32
|
this.debugService = debugService;
|
|
@@ -83,6 +87,57 @@ WelcomeView = ( __decorate([
|
|
|
83
87
|
( __param(11, IStorageService)),
|
|
84
88
|
( __param(12, ITelemetryService))
|
|
85
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
|
+
}));
|
|
86
102
|
let debugKeybindingLabel = '';
|
|
103
|
+
( viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
104
|
+
content: `[${localizeWithPath('vs/workbench/contrib/debug/browser/welcomeView', 'runAndDebugAction', "Run and Debug")}${debugKeybindingLabel}](command:${DEBUG_START_COMMAND_ID})`,
|
|
105
|
+
when: CONTEXT_DEBUGGERS_AVAILABLE,
|
|
106
|
+
group: ViewContentGroups.Debug,
|
|
107
|
+
order: 1
|
|
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}).`,
|
|
111
|
+
when: CONTEXT_DEBUGGERS_AVAILABLE,
|
|
112
|
+
group: ViewContentGroups.Debug,
|
|
113
|
+
order: 10
|
|
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
|
+
}));
|
|
87
142
|
|
|
88
143
|
export { WelcomeView };
|
|
@@ -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 { 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(
|
|
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
|
-
? (
|
|
58
|
-
'
|
|
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 = (
|
|
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 = (
|
|
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: (
|
|
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
|
}
|
|
@@ -153,7 +153,22 @@ class ExpressionContainer {
|
|
|
153
153
|
idDuplicationIndex
|
|
154
154
|
));
|
|
155
155
|
}
|
|
156
|
-
return ( new Variable(
|
|
156
|
+
return ( new Variable(
|
|
157
|
+
this.session,
|
|
158
|
+
this.threadId,
|
|
159
|
+
this,
|
|
160
|
+
0,
|
|
161
|
+
'',
|
|
162
|
+
undefined,
|
|
163
|
+
nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', 'invalidVariableAttributes', "Invalid variable attributes"),
|
|
164
|
+
0,
|
|
165
|
+
0,
|
|
166
|
+
undefined,
|
|
167
|
+
{ kind: 'virtual' },
|
|
168
|
+
undefined,
|
|
169
|
+
undefined,
|
|
170
|
+
false
|
|
171
|
+
));
|
|
157
172
|
}));
|
|
158
173
|
if (this.session.autoExpandLazyVariables) {
|
|
159
174
|
await Promise.all(( vars.map(v => v.presentationHint?.lazy && v.evaluateLazy())));
|
|
@@ -193,7 +208,7 @@ class ExpressionContainer {
|
|
|
193
208
|
}
|
|
194
209
|
async evaluateExpression(expression, session, stackFrame, context, keepLazyVars = false) {
|
|
195
210
|
if (!session || (!stackFrame && context !== 'repl')) {
|
|
196
|
-
this.value = context === 'repl' ?
|
|
211
|
+
this.value = context === 'repl' ? nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', 'startDebugFirst', "Please start a debug session to evaluate expressions") : Expression.DEFAULT_VALUE;
|
|
197
212
|
this.reference = 0;
|
|
198
213
|
return false;
|
|
199
214
|
}
|
|
@@ -232,7 +247,7 @@ function handleSetResponse(expression, response) {
|
|
|
232
247
|
}
|
|
233
248
|
}
|
|
234
249
|
class Expression extends ExpressionContainer {
|
|
235
|
-
static { this.DEFAULT_VALUE =
|
|
250
|
+
static { this.DEFAULT_VALUE = nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', 'notAvailable', "not available"); }
|
|
236
251
|
constructor(name, id = generateUuid()) {
|
|
237
252
|
super(undefined, undefined, 0, id);
|
|
238
253
|
this.name = name;
|
|
@@ -450,13 +465,9 @@ class Thread {
|
|
|
450
465
|
get stateLabel() {
|
|
451
466
|
if (this.stoppedDetails) {
|
|
452
467
|
return this.stoppedDetails.description ||
|
|
453
|
-
(this.stoppedDetails.reason ? ( nls.
|
|
454
|
-
{ key: 'pausedOn', comment: ['indicates reason for program being paused'] },
|
|
455
|
-
"Paused on {0}",
|
|
456
|
-
this.stoppedDetails.reason
|
|
457
|
-
)) : ( nls.localize('paused', "Paused")));
|
|
468
|
+
(this.stoppedDetails.reason ? nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', { key: 'pausedOn', comment: ['indicates reason for program being paused'] }, "Paused on {0}", this.stoppedDetails.reason) : nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', 'paused', "Paused"));
|
|
458
469
|
}
|
|
459
|
-
return
|
|
470
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', { key: 'running', comment: ['indicates state'] }, "Running");
|
|
460
471
|
}
|
|
461
472
|
async fetchCallStack(levels = 20) {
|
|
462
473
|
if (this.stopped) {
|
|
@@ -728,10 +739,7 @@ class Breakpoint extends BaseBreakpoint {
|
|
|
728
739
|
}
|
|
729
740
|
get message() {
|
|
730
741
|
if (this.textFileService.isDirty(this.uri)) {
|
|
731
|
-
return (
|
|
732
|
-
'breakpointDirtydHover',
|
|
733
|
-
"Unverified breakpoint. File is modified, please restart debug session."
|
|
734
|
-
));
|
|
742
|
+
return nls.localizeWithPath('vs/workbench/contrib/debug/common/debugModel', 'breakpointDirtydHover', "Unverified breakpoint. File is modified, please restart debug session.");
|
|
735
743
|
}
|
|
736
744
|
return super.message;
|
|
737
745
|
}
|