private static void ToggleBreakpoint(string file, int line) { RefreshBreakPointsFromContent(); string key = BuildBreakpointKey(file, line); if (breakpoints.ContainsKey(key)) { Npp.DeleteMarker(breakpoints[key]); breakpoints.Remove(key); if (IsRunning) { string actualKey = TranslateSourceBreakpoint(key); DebuggerServer.RemoveBreakpoint(key); } } else { var handle = Npp.PlaceMarker(MARK_BREAKPOINT, line); breakpoints.Add(key, handle); if (IsRunning) { string actualKey = TranslateSourceBreakpoint(key); DebuggerServer.AddBreakpoint(actualKey); } } SaveBreakPointsFor(file); }
static public void RemoveAllBreakpoints() { foreach (var key in breakpoints.Keys) { Npp.DeleteMarker(breakpoints[key]); if (IsRunning) { DebuggerServer.RemoveBreakpoint(key); } } breakpoints.Clear(); foreach (string file in Npp.GetOpenFiles()) { string dbgInfo = CSScriptHelper.GetDbgInfoFile(file, false); if (File.Exists(dbgInfo)) { File.Delete(dbgInfo); } } if (OnBreakpointChanged != null) { OnBreakpointChanged(); } }