@codingame/monaco-vscode-debug-service-override 2.0.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/debug.js +3 -1
- package/package.json +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +47 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +7 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +18 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +36 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +137 -121
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +34 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +106 -38
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +123 -56
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +8 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +43 -19
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +2 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +87 -36
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +45 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +9 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +0 -204
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +0 -287
package/debug.js
CHANGED
|
@@ -7,6 +7,7 @@ import { ConfigurationResolverService } from './vscode/src/vs/workbench/services
|
|
|
7
7
|
import { IConfigurationResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolver';
|
|
8
8
|
import { IExtensionHostDebugService } from 'vscode/vscode/vs/platform/debug/common/extensionHostDebug';
|
|
9
9
|
import { BrowserExtensionHostDebugService } from './vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js';
|
|
10
|
+
import { IDebugVisualizerService, DebugVisualizerService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugVisualizers';
|
|
10
11
|
import getServiceOverride$1 from '@codingame/monaco-vscode-layout-service-override';
|
|
11
12
|
import './vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js';
|
|
12
13
|
|
|
@@ -20,7 +21,8 @@ function getServiceOverride() {
|
|
|
20
21
|
[( ILanguageFeaturesService.toString())]: new SyncDescriptor(LanguageFeaturesService, [], true),
|
|
21
22
|
[( IDebugService.toString())]: new SyncDescriptor(DebugService, [], true),
|
|
22
23
|
[( IConfigurationResolverService.toString())]: new SyncDescriptor(ConfigurationResolverService, [], true),
|
|
23
|
-
[( IExtensionHostDebugService.toString())]: new SyncDescriptor(BrowserExtensionHostDebugService, [], true)
|
|
24
|
+
[( IExtensionHostDebugService.toString())]: new SyncDescriptor(BrowserExtensionHostDebugService, [], true),
|
|
25
|
+
[( IDebugVisualizerService.toString())]: new SyncDescriptor(DebugVisualizerService, [], true)
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-debug-service-override",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"module": "index.js",
|
|
19
19
|
"types": "index.d.ts",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"vscode": "npm:@codingame/monaco-vscode-api@2.0
|
|
21
|
+
"vscode": "npm:@codingame/monaco-vscode-api@2.1.0",
|
|
22
22
|
"vscode-marked": "npm:marked@=3.0.2",
|
|
23
|
-
"@codingame/monaco-vscode-layout-service-override": "2.0
|
|
23
|
+
"@codingame/monaco-vscode-layout-service-override": "2.1.0"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -28,11 +28,11 @@ import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeServi
|
|
|
28
28
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
29
29
|
import { ViewAction, ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
|
|
30
30
|
import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
|
|
31
|
-
import { renderViewTree } from '
|
|
31
|
+
import { renderViewTree } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
|
|
32
32
|
import { STOP_ID, DISCONNECT_ID, PAUSE_LABEL, PAUSE_ID, CONTINUE_LABEL, CONTINUE_ID, RESTART_LABEL, RESTART_SESSION_ID, STOP_LABEL, DISCONNECT_LABEL, STEP_OVER_LABEL, STEP_OVER_ID, STEP_INTO_LABEL, STEP_INTO_ID, STEP_OUT_LABEL, STEP_OUT_ID } from './debugCommands.js';
|
|
33
33
|
import { callstackViewSession, debugRestartFrame, debugPause, debugContinue, debugRestart, debugStop, debugDisconnect, debugStepOver, debugStepInto, debugStepOut } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
|
|
34
34
|
import { createDisconnectMenuItemAction } from './debugToolBar.js';
|
|
35
|
-
import { CALLSTACK_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
35
|
+
import { CALLSTACK_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
36
36
|
import { Thread, StackFrame, ThreadAndSessionIds } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
37
37
|
import { isSessionAttach } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugUtils';
|
|
38
38
|
|
|
@@ -999,7 +999,7 @@ function registerCallStackInlineMenuItem(id, title, icon, when, order, precondit
|
|
|
999
999
|
});
|
|
1000
1000
|
}
|
|
1001
1001
|
const threadOrSessionWithOneThread = ( ContextKeyExpr.or(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD))));
|
|
1002
|
-
registerCallStackInlineMenuItem(PAUSE_ID, PAUSE_LABEL, debugPause, ( ContextKeyExpr.and(threadOrSessionWithOneThread, ( CONTEXT_CALLSTACK_ITEM_STOPPED.toNegated()))), 10);
|
|
1002
|
+
registerCallStackInlineMenuItem(PAUSE_ID, PAUSE_LABEL, debugPause, ( ContextKeyExpr.and(threadOrSessionWithOneThread, ( CONTEXT_CALLSTACK_ITEM_STOPPED.toNegated()))), 10, ( CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated()));
|
|
1003
1003
|
registerCallStackInlineMenuItem(CONTINUE_ID, CONTINUE_LABEL, debugContinue, ( ContextKeyExpr.and(threadOrSessionWithOneThread, CONTEXT_CALLSTACK_ITEM_STOPPED)), 10);
|
|
1004
1004
|
registerCallStackInlineMenuItem(STEP_OVER_ID, STEP_OVER_LABEL, debugStepOver, threadOrSessionWithOneThread, 20, CONTEXT_CALLSTACK_ITEM_STOPPED);
|
|
1005
1005
|
registerCallStackInlineMenuItem(STEP_INTO_ID, STEP_INTO_LABEL, debugStepInto, threadOrSessionWithOneThread, 30, CONTEXT_CALLSTACK_ITEM_STOPPED);
|
|
@@ -37,7 +37,7 @@ import { StatusBarColorProvider } from './statusbarColorProvider.js';
|
|
|
37
37
|
import { VIEW_MEMORY_ID, SET_VARIABLE_ID, COPY_VALUE_ID, COPY_EVALUATE_PATH_ID, ADD_TO_WATCH_ID, BREAK_WHEN_VALUE_IS_READ_ID, BREAK_WHEN_VALUE_CHANGES_ID, BREAK_WHEN_VALUE_IS_ACCESSED_ID, VariablesView } from './variablesView.js';
|
|
38
38
|
import { WatchExpressionsView, ADD_WATCH_LABEL, ADD_WATCH_ID, REMOVE_WATCH_EXPRESSIONS_LABEL, REMOVE_WATCH_EXPRESSIONS_COMMAND_ID } from './watchExpressionsView.js';
|
|
39
39
|
import { WelcomeView } from './welcomeView.js';
|
|
40
|
-
import { BREAKPOINT_EDITOR_CONTRIBUTION_ID, EDITOR_CONTRIBUTION_ID, CONTEXT_DEBUG_STATE, CONTEXT_IN_DEBUG_MODE, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_DEBUGGERS_AVAILABLE, getStateLabel, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_WATCH_ITEM_TYPE, DEBUG_PANEL_ID, REPL_VIEW_ID, VIEWLET_ID, VARIABLES_VIEW_ID, CONTEXT_DEBUG_UX, WATCH_VIEW_ID, CALLSTACK_VIEW_ID, BREAKPOINTS_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_HAS_DEBUGGED, LOADED_SCRIPTS_VIEW_ID, CONTEXT_LOADED_SCRIPTS_SUPPORTED, DISASSEMBLY_VIEW_ID, INTERNAL_CONSOLE_OPTIONS_SCHEMA, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
40
|
+
import { BREAKPOINT_EDITOR_CONTRIBUTION_ID, EDITOR_CONTRIBUTION_ID, CONTEXT_DEBUG_STATE, CONTEXT_IN_DEBUG_MODE, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_DEBUGGERS_AVAILABLE, getStateLabel, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_WATCH_ITEM_TYPE, DEBUG_PANEL_ID, REPL_VIEW_ID, VIEWLET_ID, VARIABLES_VIEW_ID, CONTEXT_DEBUG_UX, WATCH_VIEW_ID, CALLSTACK_VIEW_ID, BREAKPOINTS_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_HAS_DEBUGGED, LOADED_SCRIPTS_VIEW_ID, CONTEXT_LOADED_SCRIPTS_SUPPORTED, DISASSEMBLY_VIEW_ID, INTERNAL_CONSOLE_OPTIONS_SCHEMA, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
41
41
|
import { DebugContentProvider } from '../common/debugContentProvider.js';
|
|
42
42
|
import { DebugLifecycle } from '../common/debugLifecycle.js';
|
|
43
43
|
import { DisassemblyViewInput } from 'vscode/vscode/vs/workbench/contrib/debug/common/disassemblyViewInput';
|
|
@@ -117,7 +117,7 @@ registerDebugCommandPaletteItem(STEP_OVER_ID, STEP_OVER_LABEL, CONTEXT_IN_DEBUG_
|
|
|
117
117
|
registerDebugCommandPaletteItem(STEP_INTO_ID, STEP_INTO_LABEL, CONTEXT_IN_DEBUG_MODE, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
118
118
|
registerDebugCommandPaletteItem(STEP_INTO_TARGET_ID, STEP_INTO_TARGET_LABEL, CONTEXT_IN_DEBUG_MODE, ( ContextKeyExpr.and(CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_IN_DEBUG_MODE, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')))));
|
|
119
119
|
registerDebugCommandPaletteItem(STEP_OUT_ID, STEP_OUT_LABEL, CONTEXT_IN_DEBUG_MODE, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
120
|
-
registerDebugCommandPaletteItem(PAUSE_ID, PAUSE_LABEL, CONTEXT_IN_DEBUG_MODE, ( CONTEXT_DEBUG_STATE.isEqualTo('running')));
|
|
120
|
+
registerDebugCommandPaletteItem(PAUSE_ID, PAUSE_LABEL, CONTEXT_IN_DEBUG_MODE, ( ContextKeyExpr.and(( CONTEXT_DEBUG_STATE.isEqualTo('running')), ( CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated()))));
|
|
121
121
|
registerDebugCommandPaletteItem(STOP_ID, STOP_LABEL, CONTEXT_IN_DEBUG_MODE, ( ContextKeyExpr.or(( CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()), CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED)));
|
|
122
122
|
registerDebugCommandPaletteItem(CONTINUE_ID, CONTINUE_LABEL, CONTEXT_IN_DEBUG_MODE, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
123
123
|
registerDebugCommandPaletteItem(FOCUS_REPL_ID, ( localize2WithPath(
|
|
@@ -171,7 +171,7 @@ registerDebugViewMenuItem(MenuId.DebugCallStackContext, RESTART_SESSION_ID, REST
|
|
|
171
171
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, DISCONNECT_ID, DISCONNECT_LABEL, 20, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), undefined, '3_modification');
|
|
172
172
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, DISCONNECT_AND_SUSPEND_ID, DISCONNECT_AND_SUSPEND_LABEL, 21, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED)), undefined, '3_modification');
|
|
173
173
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, STOP_ID, STOP_LABEL, 30, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), undefined, '3_modification');
|
|
174
|
-
registerDebugViewMenuItem(MenuId.DebugCallStackContext, PAUSE_ID, PAUSE_LABEL, 10, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( CONTEXT_DEBUG_STATE.isEqualTo('running')))));
|
|
174
|
+
registerDebugViewMenuItem(MenuId.DebugCallStackContext, PAUSE_ID, PAUSE_LABEL, 10, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( ContextKeyExpr.and(( CONTEXT_DEBUG_STATE.isEqualTo('running')), ( CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated()))))));
|
|
175
175
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, CONTINUE_ID, CONTINUE_LABEL, 10, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')))));
|
|
176
176
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, STEP_OVER_ID, STEP_OVER_LABEL, 20, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
177
177
|
registerDebugViewMenuItem(MenuId.DebugCallStackContext, STEP_INTO_ID, STEP_INTO_LABEL, 30, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
@@ -231,6 +231,41 @@ registerDebugViewMenuItem(MenuId.DebugVariablesContext, BREAK_WHEN_VALUE_IS_ACCE
|
|
|
231
231
|
'breakWhenValueIsAccessed',
|
|
232
232
|
"Break on Value Access"
|
|
233
233
|
)), 220, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, undefined, 'z_commands');
|
|
234
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, VIEW_MEMORY_ID, ( localizeWithPath(
|
|
235
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
236
|
+
'viewMemory',
|
|
237
|
+
"View Binary Data"
|
|
238
|
+
)), 15, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_IN_DEBUG_MODE, 'inline', debugInspectMemory);
|
|
239
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, COPY_VALUE_ID, ( localizeWithPath(
|
|
240
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
241
|
+
'copyValue',
|
|
242
|
+
"Copy Value"
|
|
243
|
+
)), 10, undefined, undefined, '5_cutcopypaste');
|
|
244
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, COPY_EVALUATE_PATH_ID, ( localizeWithPath(
|
|
245
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
246
|
+
'copyAsExpression',
|
|
247
|
+
"Copy as Expression"
|
|
248
|
+
)), 20, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, undefined, '5_cutcopypaste');
|
|
249
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, ADD_TO_WATCH_ID, ( localizeWithPath(
|
|
250
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
251
|
+
'addToWatchExpressions',
|
|
252
|
+
"Add to Watch"
|
|
253
|
+
)), 100, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, undefined, 'z_commands');
|
|
254
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, BREAK_WHEN_VALUE_IS_READ_ID, ( localizeWithPath(
|
|
255
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
256
|
+
'breakWhenValueIsRead',
|
|
257
|
+
"Break on Value Read"
|
|
258
|
+
)), 200, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, undefined, 'z_commands');
|
|
259
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, BREAK_WHEN_VALUE_CHANGES_ID, ( localizeWithPath(
|
|
260
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
261
|
+
'breakWhenValueChanges',
|
|
262
|
+
"Break on Value Change"
|
|
263
|
+
)), 210, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, undefined, 'z_commands');
|
|
264
|
+
registerDebugViewMenuItem(MenuId.DebugHoverContext, BREAK_WHEN_VALUE_IS_ACCESSED_ID, ( localizeWithPath(
|
|
265
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
266
|
+
'breakWhenValueIsAccessed',
|
|
267
|
+
"Break on Value Access"
|
|
268
|
+
)), 220, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, undefined, 'z_commands');
|
|
234
269
|
registerDebugViewMenuItem(MenuId.DebugWatchContext, ADD_WATCH_ID, ADD_WATCH_LABEL, 10, undefined, undefined, '3_modification');
|
|
235
270
|
registerDebugViewMenuItem(MenuId.DebugWatchContext, EDIT_EXPRESSION_COMMAND_ID, ( localizeWithPath(
|
|
236
271
|
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
@@ -407,6 +442,15 @@ configurationRegistry.registerConfiguration({
|
|
|
407
442
|
)),
|
|
408
443
|
default: false
|
|
409
444
|
},
|
|
445
|
+
'debug.closeReadonlyTabsOnEnd': {
|
|
446
|
+
type: 'boolean',
|
|
447
|
+
description: ( localizeWithPath(
|
|
448
|
+
'vs/workbench/contrib/debug/browser/debug.contribution',
|
|
449
|
+
{ comment: ['This is the description for a setting'], key: 'closeReadonlyTabsOnEnd' },
|
|
450
|
+
"At the end of a debug session, all the read-only tabs associated with that session will be closed"
|
|
451
|
+
)),
|
|
452
|
+
default: false
|
|
453
|
+
},
|
|
410
454
|
'debug.inlineValues': {
|
|
411
455
|
type: 'string',
|
|
412
456
|
'enum': ['on', 'off', 'auto'],
|
|
@@ -117,12 +117,15 @@ let StartDebugActionViewItem = class StartDebugActionViewItem extends BaseAction
|
|
|
117
117
|
this.container.style.border = `1px solid ${asCssVariable(selectBorder)}`;
|
|
118
118
|
selectBoxContainer.style.borderLeft = `1px solid ${asCssVariable(selectBorder)}`;
|
|
119
119
|
this.container.style.backgroundColor = asCssVariable(selectBackground);
|
|
120
|
-
this.debugService.getConfigurationManager()
|
|
121
|
-
|
|
122
|
-
if (this.providers.length
|
|
120
|
+
const configManager = this.debugService.getConfigurationManager();
|
|
121
|
+
const updateDynamicConfigs = () => configManager.getDynamicProviders().then(providers => {
|
|
122
|
+
if (providers.length !== this.providers.length) {
|
|
123
|
+
this.providers = providers;
|
|
123
124
|
this.updateOptions();
|
|
124
125
|
}
|
|
125
126
|
});
|
|
127
|
+
this.toDispose.push(configManager.onDidChangeConfigurationProviders(updateDynamicConfigs));
|
|
128
|
+
updateDynamicConfigs();
|
|
126
129
|
this.updateOptions();
|
|
127
130
|
}
|
|
128
131
|
setActionContext(context) {
|
|
@@ -156,6 +159,7 @@ let StartDebugActionViewItem = class StartDebugActionViewItem extends BaseAction
|
|
|
156
159
|
}
|
|
157
160
|
dispose() {
|
|
158
161
|
this.toDispose = dispose(this.toDispose);
|
|
162
|
+
super.dispose();
|
|
159
163
|
}
|
|
160
164
|
updateOptions() {
|
|
161
165
|
this.selected = 0;
|
|
@@ -18,7 +18,7 @@ import { ITextResourcePropertiesService } from 'vscode/vscode/vs/editor/common/s
|
|
|
18
18
|
import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/clipboardService';
|
|
19
19
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
20
20
|
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
|
|
21
|
-
import { IViewsService } from 'vscode/vscode/vs/workbench/common/
|
|
21
|
+
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService';
|
|
22
22
|
import { isWeb, isWindows } from 'vscode/vscode/vs/base/common/platform';
|
|
23
23
|
import { showLoadedScriptMenu } from '../common/loadedScriptsPicker.js';
|
|
24
24
|
import { showDebugSessionMenu } from './debugSessionPicker.js';
|
|
@@ -7,6 +7,7 @@ import { parse } from 'vscode/vscode/vs/base/common/json';
|
|
|
7
7
|
import { DisposableStore, dispose } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
8
8
|
import { deepClone } from 'vscode/vscode/vs/base/common/objects';
|
|
9
9
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
10
|
+
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
10
11
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
11
12
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
12
13
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
@@ -17,7 +18,6 @@ import { Extensions } from 'vscode/vscode/vs/platform/jsonschemas/common/jsonCon
|
|
|
17
18
|
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
|
|
18
19
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
19
20
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
20
|
-
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
21
21
|
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
|
|
22
22
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
23
23
|
import { debugConfigure } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
|
|
@@ -51,8 +51,10 @@ let ConfigurationManager = class ConfigurationManager {
|
|
|
51
51
|
this.getSelectedConfig = () => Promise.resolve(undefined);
|
|
52
52
|
this.selectedDynamic = false;
|
|
53
53
|
this._onDidSelectConfigurationName = ( new Emitter());
|
|
54
|
+
this._onDidChangeConfigurationProviders = ( new Emitter());
|
|
55
|
+
this.onDidChangeConfigurationProviders = this._onDidChangeConfigurationProviders.event;
|
|
54
56
|
this.configProviders = [];
|
|
55
|
-
this.toDispose = [];
|
|
57
|
+
this.toDispose = [this._onDidChangeConfigurationProviders];
|
|
56
58
|
this.initLaunches();
|
|
57
59
|
this.setCompoundSchemaValues();
|
|
58
60
|
this.registerListeners();
|
|
@@ -71,9 +73,11 @@ let ConfigurationManager = class ConfigurationManager {
|
|
|
71
73
|
}
|
|
72
74
|
registerDebugConfigurationProvider(debugConfigurationProvider) {
|
|
73
75
|
this.configProviders.push(debugConfigurationProvider);
|
|
76
|
+
this._onDidChangeConfigurationProviders.fire();
|
|
74
77
|
return {
|
|
75
78
|
dispose: () => {
|
|
76
79
|
this.unregisterDebugConfigurationProvider(debugConfigurationProvider);
|
|
80
|
+
this._onDidChangeConfigurationProviders.fire();
|
|
77
81
|
}
|
|
78
82
|
};
|
|
79
83
|
}
|
|
@@ -146,15 +150,22 @@ let ConfigurationManager = class ConfigurationManager {
|
|
|
146
150
|
}
|
|
147
151
|
}
|
|
148
152
|
if (explicitTypes.length) {
|
|
149
|
-
|
|
153
|
+
explicitTypes.forEach(t => acc.add(t));
|
|
150
154
|
}
|
|
151
|
-
if (hasGenericEvent) {
|
|
155
|
+
else if (hasGenericEvent) {
|
|
152
156
|
const debuggerType = e.contributes?.debuggers?.[0].type;
|
|
153
|
-
|
|
157
|
+
if (debuggerType) {
|
|
158
|
+
acc.add(debuggerType);
|
|
159
|
+
}
|
|
154
160
|
}
|
|
155
161
|
return acc;
|
|
156
|
-
},
|
|
157
|
-
|
|
162
|
+
}, ( new Set()));
|
|
163
|
+
for (const configProvider of this.configProviders) {
|
|
164
|
+
if (configProvider.triggerKind === DebugConfigurationProviderTriggerKind.Dynamic) {
|
|
165
|
+
debugDynamicExtensionsTypes.add(configProvider.type);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return ( [...debugDynamicExtensionsTypes].map(type => {
|
|
158
169
|
return {
|
|
159
170
|
label: this.adapterManager.getDebuggerLabel(type),
|
|
160
171
|
getProvider: async () => {
|
|
@@ -3,7 +3,7 @@ import { matchesFuzzy } from 'vscode/vscode/vs/base/common/filters';
|
|
|
3
3
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
4
4
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands';
|
|
5
5
|
import { PickerQuickAccessProvider } from 'vscode/vscode/vs/platform/quickinput/browser/pickerQuickAccess';
|
|
6
|
-
import { IViewsService } from 'vscode/vscode/vs/workbench/common/
|
|
6
|
+
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService';
|
|
7
7
|
import { DEBUG_CONSOLE_QUICK_ACCESS_PREFIX, SELECT_AND_START_ID } from './debugCommands.js';
|
|
8
8
|
import { REPL_VIEW_ID, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
9
9
|
|
|
@@ -14,7 +14,7 @@ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/cont
|
|
|
14
14
|
import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView';
|
|
15
15
|
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
|
|
16
16
|
import { PanelFocusContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
|
|
17
|
-
import { IViewsService } from 'vscode/vscode/vs/workbench/common/
|
|
17
|
+
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService';
|
|
18
18
|
import { openBreakpointSource } from 'vscode/vscode/vs/workbench/contrib/debug/browser/breakpointsView';
|
|
19
19
|
import { DisassemblyView } from './disassemblyView.js';
|
|
20
20
|
import { CONTEXT_FOCUSED_STACK_FRAME_HAS_INSTRUCTION_POINTER_REFERENCE, CONTEXT_IN_DEBUG_MODE, CONTEXT_DEBUG_STATE, CONTEXT_DISASSEMBLE_REQUEST_SUPPORTED, CONTEXT_LANGUAGE_SUPPORTS_DISASSEMBLE_REQUEST, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DISASSEMBLY_VIEW_FOCUS, IDebugService, REPL_VIEW_ID, WATCH_VIEW_ID, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, BREAKPOINT_EDITOR_CONTRIBUTION_ID, EDITOR_CONTRIBUTION_ID, CONTEXT_EXCEPTION_WIDGET_VISIBLE } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
@@ -155,6 +155,40 @@ class LogPointAction extends EditorAction {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
+
class TriggerByBreakpointAction extends EditorAction {
|
|
159
|
+
constructor() {
|
|
160
|
+
super({
|
|
161
|
+
id: 'editor.debug.action.triggerByBreakpoint',
|
|
162
|
+
label: ( localizeWithPath(
|
|
163
|
+
'vs/workbench/contrib/debug/browser/debugEditorActions',
|
|
164
|
+
'triggerByBreakpointEditorAction',
|
|
165
|
+
"Debug: Add Triggered Breakpoint..."
|
|
166
|
+
)),
|
|
167
|
+
precondition: CONTEXT_DEBUGGERS_AVAILABLE,
|
|
168
|
+
alias: 'Debug: Triggered Breakpoint...',
|
|
169
|
+
menuOpts: [
|
|
170
|
+
{
|
|
171
|
+
menuId: MenuId.MenubarNewBreakpointMenu,
|
|
172
|
+
title: ( localizeWithPath(
|
|
173
|
+
'vs/workbench/contrib/debug/browser/debugEditorActions',
|
|
174
|
+
{ key: 'miTriggerByBreakpoint', comment: ['&& denotes a mnemonic'] },
|
|
175
|
+
"&&Triggered Breakpoint..."
|
|
176
|
+
)),
|
|
177
|
+
group: '1_breakpoints',
|
|
178
|
+
order: 4,
|
|
179
|
+
when: CONTEXT_DEBUGGERS_AVAILABLE,
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
async run(accessor, editor) {
|
|
185
|
+
const debugService = accessor.get(IDebugService);
|
|
186
|
+
const position = editor.getPosition();
|
|
187
|
+
if (position && editor.hasModel() && debugService.canSetBreakpointsIn(editor.getModel())) {
|
|
188
|
+
editor.getContribution(BREAKPOINT_EDITOR_CONTRIBUTION_ID)?.showBreakpointWidget(position.lineNumber, position.column, 3 );
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
158
192
|
class EditBreakpointAction extends EditorAction {
|
|
159
193
|
constructor() {
|
|
160
194
|
super({
|
|
@@ -591,6 +625,7 @@ registerAction2(ToggleDisassemblyViewSourceCodeAction);
|
|
|
591
625
|
registerAction2(ToggleBreakpointAction);
|
|
592
626
|
registerEditorAction(ConditionalBreakpointAction);
|
|
593
627
|
registerEditorAction(LogPointAction);
|
|
628
|
+
registerEditorAction(TriggerByBreakpointAction);
|
|
594
629
|
registerEditorAction(EditBreakpointAction);
|
|
595
630
|
registerEditorAction(RunToCursorAction);
|
|
596
631
|
registerEditorAction(StepIntoTargetsAction);
|