@@ -7,7 +7,7 @@ import 'vs/css!./media/debug.contribution';
7
7
import 'vs/css!./media/debugHover' ;
8
8
import * as nls from 'vs/nls' ;
9
9
import { KeyMod , KeyCode } from 'vs/base/common/keyCodes' ;
10
- import { MenuRegistry , MenuId } from 'vs/platform/actions/common/actions' ;
10
+ import { MenuRegistry , MenuId , Icon } from 'vs/platform/actions/common/actions' ;
11
11
import { Registry } from 'vs/platform/registry/common/platform' ;
12
12
import { registerSingleton } from 'vs/platform/instantiation/common/extensions' ;
13
13
import { IConfigurationRegistry , Extensions as ConfigurationExtensions , ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry' ;
@@ -16,7 +16,7 @@ import { CallStackView } from 'vs/workbench/contrib/debug/browser/callStackView'
16
16
import { Extensions as WorkbenchExtensions , IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions' ;
17
17
import {
18
18
IDebugService , VIEWLET_ID , DEBUG_PANEL_ID , CONTEXT_IN_DEBUG_MODE , INTERNAL_CONSOLE_OPTIONS_SCHEMA ,
19
- CONTEXT_DEBUG_STATE , VARIABLES_VIEW_ID , CALLSTACK_VIEW_ID , WATCH_VIEW_ID , BREAKPOINTS_VIEW_ID , LOADED_SCRIPTS_VIEW_ID , CONTEXT_LOADED_SCRIPTS_SUPPORTED , CONTEXT_CALLSTACK_ITEM_TYPE , CONTEXT_RESTART_FRAME_SUPPORTED , CONTEXT_JUMP_TO_CURSOR_SUPPORTED , CONTEXT_DEBUG_UX , BREAKPOINT_EDITOR_CONTRIBUTION_ID , REPL_VIEW_ID , CONTEXT_BREAKPOINTS_EXIST , EDITOR_CONTRIBUTION_ID , CONTEXT_DEBUGGERS_AVAILABLE , CONTEXT_SET_VARIABLE_SUPPORTED , CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED , CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT , getStateLabel , State , CONTEXT_WATCH_ITEM_TYPE , CONTEXT_STACK_FRAME_SUPPORTS_RESTART , CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED , CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED , CONTEXT_FOCUSED_SESSION_IS_ATTACH , CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED , DISASSEMBLY_VIEW_ID , CONTEXT_SET_EXPRESSION_SUPPORTED , CONTEXT_VARIABLE_IS_READONLY ,
19
+ CONTEXT_DEBUG_STATE , VARIABLES_VIEW_ID , CALLSTACK_VIEW_ID , WATCH_VIEW_ID , BREAKPOINTS_VIEW_ID , LOADED_SCRIPTS_VIEW_ID , CONTEXT_LOADED_SCRIPTS_SUPPORTED , CONTEXT_CALLSTACK_ITEM_TYPE , CONTEXT_RESTART_FRAME_SUPPORTED , CONTEXT_JUMP_TO_CURSOR_SUPPORTED , CONTEXT_DEBUG_UX , BREAKPOINT_EDITOR_CONTRIBUTION_ID , REPL_VIEW_ID , CONTEXT_BREAKPOINTS_EXIST , EDITOR_CONTRIBUTION_ID , CONTEXT_DEBUGGERS_AVAILABLE , CONTEXT_SET_VARIABLE_SUPPORTED , CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED , CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT , getStateLabel , State , CONTEXT_WATCH_ITEM_TYPE , CONTEXT_STACK_FRAME_SUPPORTS_RESTART , CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED , CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED , CONTEXT_FOCUSED_SESSION_IS_ATTACH , CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED , DISASSEMBLY_VIEW_ID , CONTEXT_SET_EXPRESSION_SUPPORTED , CONTEXT_VARIABLE_IS_READONLY , CONTEXT_CAN_VIEW_MEMORY ,
20
20
} from 'vs/workbench/contrib/debug/common/debug' ;
21
21
import { DebugToolBar } from 'vs/workbench/contrib/debug/browser/debugToolBar' ;
22
22
import { DebugService } from 'vs/workbench/contrib/debug/browser/debugService' ;
@@ -32,7 +32,7 @@ import { launchSchemaId } from 'vs/workbench/services/configuration/common/confi
32
32
import { LoadedScriptsView } from 'vs/workbench/contrib/debug/browser/loadedScriptsView' ;
33
33
import { RunToCursorAction } from 'vs/workbench/contrib/debug/browser/debugEditorActions' ;
34
34
import { WatchExpressionsView , ADD_WATCH_LABEL , REMOVE_WATCH_EXPRESSIONS_COMMAND_ID , REMOVE_WATCH_EXPRESSIONS_LABEL , ADD_WATCH_ID } from 'vs/workbench/contrib/debug/browser/watchExpressionsView' ;
35
- import { VariablesView , SET_VARIABLE_ID , COPY_VALUE_ID , BREAK_WHEN_VALUE_CHANGES_ID , COPY_EVALUATE_PATH_ID , ADD_TO_WATCH_ID , BREAK_WHEN_VALUE_IS_ACCESSED_ID , BREAK_WHEN_VALUE_IS_READ_ID } from 'vs/workbench/contrib/debug/browser/variablesView' ;
35
+ import { VariablesView , SET_VARIABLE_ID , COPY_VALUE_ID , BREAK_WHEN_VALUE_CHANGES_ID , COPY_EVALUATE_PATH_ID , ADD_TO_WATCH_ID , BREAK_WHEN_VALUE_IS_ACCESSED_ID , BREAK_WHEN_VALUE_IS_READ_ID , VIEW_MEMORY_ID } from 'vs/workbench/contrib/debug/browser/variablesView' ;
36
36
import { Repl } from 'vs/workbench/contrib/debug/browser/repl' ;
37
37
import { DebugContentProvider } from 'vs/workbench/contrib/debug/common/debugContentProvider' ;
38
38
import { WelcomeView } from 'vs/workbench/contrib/debug/browser/welcomeView' ;
@@ -118,14 +118,16 @@ registerDebugCommandPaletteItem(SELECT_AND_START_ID, SELECT_AND_START_LABEL, Con
118
118
119
119
120
120
// Debug callstack context menu
121
- const registerDebugViewMenuItem = ( menuId : MenuId , id : string , title : string , order : number , when ?: ContextKeyExpression , precondition ?: ContextKeyExpression , group = 'navigation' ) => {
121
+ const registerDebugViewMenuItem = ( menuId : MenuId , id : string , title : string , order : number , when ?: ContextKeyExpression , precondition ?: ContextKeyExpression , group = 'navigation' , icon ?: Icon ) => {
122
122
MenuRegistry . appendMenuItem ( menuId , {
123
123
group,
124
124
when,
125
125
order,
126
+ icon,
126
127
command : {
127
128
id,
128
129
title,
130
+ icon,
129
131
precondition
130
132
}
131
133
} ) ;
@@ -142,6 +144,8 @@ registerDebugViewMenuItem(MenuId.DebugCallStackContext, TERMINATE_THREAD_ID, nls
142
144
registerDebugViewMenuItem ( MenuId . DebugCallStackContext , RESTART_FRAME_ID , nls . localize ( 'restartFrame' , "Restart Frame" ) , 10 , ContextKeyExpr . and ( CONTEXT_CALLSTACK_ITEM_TYPE . isEqualTo ( 'stackFrame' ) , CONTEXT_RESTART_FRAME_SUPPORTED ) , CONTEXT_STACK_FRAME_SUPPORTS_RESTART ) ;
143
145
registerDebugViewMenuItem ( MenuId . DebugCallStackContext , COPY_STACK_TRACE_ID , nls . localize ( 'copyStackTrace' , "Copy Call Stack" ) , 20 , CONTEXT_CALLSTACK_ITEM_TYPE . isEqualTo ( 'stackFrame' ) , undefined , '3_modification' ) ;
144
146
147
+ registerDebugViewMenuItem ( MenuId . DebugVariablesContext , VIEW_MEMORY_ID , nls . localize ( 'viewMemory' , "View Memory" ) , 15 , CONTEXT_CAN_VIEW_MEMORY , CONTEXT_IN_DEBUG_MODE , 'inline' , icons . debugInspectMemory ) ;
148
+
145
149
registerDebugViewMenuItem ( MenuId . DebugVariablesContext , SET_VARIABLE_ID , nls . localize ( 'setValue' , "Set Value" ) , 10 , ContextKeyExpr . or ( CONTEXT_SET_VARIABLE_SUPPORTED , ContextKeyExpr . and ( CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT , CONTEXT_SET_EXPRESSION_SUPPORTED ) ) , CONTEXT_VARIABLE_IS_READONLY . toNegated ( ) , '3_modification' ) ;
146
150
registerDebugViewMenuItem ( MenuId . DebugVariablesContext , COPY_VALUE_ID , nls . localize ( 'copyValue' , "Copy Value" ) , 10 , undefined , undefined , '5_cutcopypaste' ) ;
147
151
registerDebugViewMenuItem ( MenuId . DebugVariablesContext , COPY_EVALUATE_PATH_ID , nls . localize ( 'copyAsExpression' , "Copy as Expression" ) , 20 , CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT , undefined , '5_cutcopypaste' ) ;
@@ -154,6 +158,7 @@ registerDebugViewMenuItem(MenuId.DebugWatchContext, ADD_WATCH_ID, ADD_WATCH_LABE
154
158
registerDebugViewMenuItem ( MenuId . DebugWatchContext , EDIT_EXPRESSION_COMMAND_ID , nls . localize ( 'editWatchExpression' , "Edit Expression" ) , 20 , CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'expression' ) , undefined , '3_modification' ) ;
155
159
registerDebugViewMenuItem ( MenuId . DebugWatchContext , SET_EXPRESSION_COMMAND_ID , nls . localize ( 'setValue' , "Set Value" ) , 30 , ContextKeyExpr . or ( ContextKeyExpr . and ( CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'expression' ) , CONTEXT_SET_EXPRESSION_SUPPORTED ) , ContextKeyExpr . and ( CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'variable' ) , CONTEXT_SET_VARIABLE_SUPPORTED ) ) , CONTEXT_VARIABLE_IS_READONLY . toNegated ( ) , '3_modification' ) ;
156
160
registerDebugViewMenuItem ( MenuId . DebugWatchContext , COPY_VALUE_ID , nls . localize ( 'copyValue' , "Copy Value" ) , 40 , ContextKeyExpr . or ( CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'expression' ) , CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'variable' ) ) , CONTEXT_IN_DEBUG_MODE , '3_modification' ) ;
161
+ registerDebugViewMenuItem ( MenuId . DebugWatchContext , VIEW_MEMORY_ID , nls . localize ( 'viewMemory' , "View Memory" ) , 50 , CONTEXT_CAN_VIEW_MEMORY , CONTEXT_IN_DEBUG_MODE , '3_modification' ) ;
157
162
registerDebugViewMenuItem ( MenuId . DebugWatchContext , REMOVE_EXPRESSION_COMMAND_ID , nls . localize ( 'removeWatchExpression' , "Remove Expression" ) , 10 , CONTEXT_WATCH_ITEM_TYPE . isEqualTo ( 'expression' ) , undefined , 'z_commands' ) ;
158
163
registerDebugViewMenuItem ( MenuId . DebugWatchContext , REMOVE_WATCH_EXPRESSIONS_COMMAND_ID , REMOVE_WATCH_EXPRESSIONS_LABEL , 20 , undefined , undefined , 'z_commands' ) ;
159
164
0 commit comments