Introduced:
The previous JDI debugger how to establish a connection, send and process requests, here we focus on the human-Computer Interaction section, debugger UI, it is mainly responsible for how to make the operation of the person to request, and the request operation reflected in the debugger interface.
Analysis:
This plug-in is primarily defined in the Plugin.xml in Org.eclipse.jdt.debug.ui_<version>.jar, which provides plug-ins for various human-computer interaction functions. For example, we look at the editor features:
<extension point= "Org.eclipse.ui.editorActions" > <editorContribution targetid= "Org.eclipse.jdt.ui.CompilationUnitEditor" id= " Org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions "> <action label= "%addbreakpoint.label" class= "Org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate" actionid= "RulerDoubleClick" id= "Org.eclipsE.jdt.debug.ui.actions.managebreakpointruleraction "> </action> </editorContribution> <editorcontribution targetid= " Org.eclipse.jdt.ui.ClassFileEditor " id= "Org.eclipse.jdt.debug.ClassFileEditor.BreakpointRulerActions" > <action label= "%addbreakpoint.label" class= "Org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate" actionid= "RulerDoubleClick" id= " Org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction "> </action> </editorContribution> <editorContribution targetid= "Org.eclipse.jdt.debug.ui.SnippetEditor" id= "Org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions" > <action toolbarpath= "Evaluationgroup" id= "Org.eclipse.jdt.debug.ui.SnippetExecute" hovericon= "$nl $/icons/full/eTool16/run_sbook.gif " class= "Org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction" disabledicon= "$nl $/icons/full/dtool16/run_sbook.gif" enablesfor= "+" icon= "$nl $/icons/full/ Etool16/run_sbook.gif " helpcontextid= "Execute_action_context" label= "%execute.label" tooltip= "%execute.tooltip" > <selection class= "Org.eclipse.jface.text.ITextSelection" > </selection> </action> <action toolbarpath= "Evaluationgroup" id= "Org.eclipse.jdt.debug.ui.SnippetDisplay" hovericon= "$nl $/icons/full/ Etool16/disp_sbook.gif " class= "Org.eclipse.jdt.internal.debug.ui.actions.PopupDisplayAction" disabledicon= "$nl $/icons/full/dtool16/disp_sbook.gif" enablesfor= "+" icon= "$nl $/icons/full/etool16/disp_sbook.gif" helpcontextid= "Display_action_ Context " label="%d Isplay.label " tooltip = "%display.tooltip" > <selection class= "Org.eclipse.jface.text.ITextSelection" > </selection> </action> <action toolbarpath= "Evaluationgroup" id= "Org.eclipse.jdt.debug.ui.SnippetInspect" hovericon= "$nl $/icons/full/etool16/insp_sbook.gif" class= " Org.eclipse.jdt.internal.debug.ui.actions.PopupInspectAction " disabledicon= "$nl $/icons/full/dtool16/insp_sbook.gif" enablesfor= "+" icon= "$nl $/icons/full/etool16/insp_sbook.gif" helpcontextid= "Inspect_action_context" label= "%Inspect.label" tooltip= "%Inspect.tooltip" > <selection class= " Org.eclipse.jface.text.ITextSelection "> </selection> </action> </editorContribution> </extension>
As seen from here, it supports several operations: such as the break point of Compilationuniteditor, the break point of Classfileeditor, and so on.
Each operation is useful to the icon, the action response class used, etc., interested can be seen.
This article is from the "cohesion of parallel Lines" blog, please be sure to keep this source http://supercharles888.blog.51cto.com/609344/1588681
JDI Architecture Research 21-jdi UI part of the debugger