示例#1
0
 public static void Remove()
 {
     if (instance != null)
     {
         instance.Document.BookmarkManager.RemoveMark(instance);
         instance.RemoveMarker();
         instance = null;
     }
 }
示例#2
0
 public static void ToggleBreakpointAt(IDocument document, string fileName, int lineNumber)
 {
     foreach (Bookmark m in document.BookmarkManager.Marks)
     {
         CurrentBreakpointBookmark breakpoint = m as CurrentBreakpointBookmark;
         if (breakpoint != null)
         {
             if (breakpoint.LineNumber == lineNumber)
             {
                 document.BookmarkManager.RemoveMark(m);
                 try
                 {
                     if (breakpoints_conditions.ContainsKey(breakpoints[breakpoint]))
                     {
                         breakpoints_conditions.Remove(breakpoints[breakpoint]);
                     }
                     WorkbenchServiceFactory.DebuggerManager.RemoveBreakpoint(breakpoints[breakpoint]);
                 }
                 catch (System.Exception e)
                 {
                 }
                 breakpoints.Remove(breakpoint);
                 breakpoint.RemoveMarker();
                 return;
             }
         }
     }
     foreach (char ch in document.GetText(document.GetLineSegment(lineNumber)))
     {
         if (!char.IsWhiteSpace(ch))
         {
             CurrentBreakpointBookmark cbb = new CurrentBreakpointBookmark(fileName, document, lineNumber);
             breakpoints.Add(cbb, WorkbenchServiceFactory.DebuggerManager.AddBreakPoint(fileName, lineNumber + 1, true));
             document.BookmarkManager.AddMark(cbb);
             document.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.SingleLine, lineNumber));
             document.CommitUpdate();
             break;
         }
     }
 }