WEB开发网
开发学院软件开发Java 开发一个调试 JSP 的 Eclipse 插件 阅读

开发一个调试 JSP 的 Eclipse 插件

 2009-12-16 00:00:00 来源:WEB开发网   
核心提示: 下面是update的调用栈,可以看出,开发一个调试 JSP 的 Eclipse 插件(10),update方法是在鼠标点击事件中被调用的:ManageBreakpointRulerAction.update()line:55ManageBreakpointRulerActionDelegate(

下面是update的调用栈,可以看出,update方法是在鼠标点击事件中被调用的:

ManageBreakpointRulerAction.update() line: 55 
ManageBreakpointRulerActionDelegate(AbstractRulerActionDelegate).update() line: 114 
ManageBreakpointRulerActionDelegate(AbstractRulerActionDelegate).mouseDown(MouseEvent) line: 139 

updae被调用后,会执行 run 方法,就可以根据 allMarkers.isEmpty() 确定要删除还是添加 marker 了。

添加断点的时候,首先利用 IVerticalRulerInfo,获取鼠标点击的行号,根据行号,从 Document 模型中取得该行的描述IRegion,得到开始字符位置和结束字符位置,创建一个 JSP 断点。

 protected void addMarker() { 
 IEditorInput editorInput= this.getTextEditor().getEditorInput(); 
  
 IDocument document= this.getDocument(); 
 //the line number of the last mouse button activity 
 int rulerLine= this.getRulerInfo().getLineOfLastMouseButtonActivity(); 
 try{ 
  int lineNum = rulerLine + 1; 
  if(lineNum > 0){ 
    //Returns a description of the specified line 
  IRegion iregion = document.getLineInformation(lineNum - 1); 
  int charStart = iregion.getOffset(); 
  int charEnd = (charStart + iregion.getLength()) - 1; 
  JSPDebugUtility.createJspLineBreakpoint(this.getResource(), 
       lineNum, charStart, charEnd); 
  } 
 }catch(CoreException coreexception){ 
  coreexception.printStackTrace(); 
 } 
 catch(BadLocationException badlocationexception){ 
  badlocationexception.printStackTrace(); 
 }  
 } 

上一页  5 6 7 8 9 10 

Tags:开发 一个 调试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接