public void ChangeLine(int editLineNumber, int dline) { if (dline != 0) { BookmarkPrims bookmarkPrims = GetActiveBookmarkPrims(); // BookmarkPrims newBookmarkPrims = new BookmarkPrims(bookmarkPrims.GetCommentsManager()); List <int> keyList = new List <int>(); foreach (var bookmarkPrimIt in bookmarkPrims) { if (bookmarkPrimIt.Key >= editLineNumber) { keyList.Add(bookmarkPrimIt.Key); } } foreach (var key in keyList) { BookmarkPrim bookmarkPrim = null; bookmarkPrims.TryRemove(key, out bookmarkPrim); bookmarkPrims.TryAdd(key + dline, bookmarkPrim); // newBookmarkPrims.TryAdd(bookmarkPrimIt.Key + dline, bookmarkPrim); } /* foreach (var bookmarkPrimIt in newBookmarkPrims) * { * bookmarkPrims.TryAdd(bookmarkPrimIt.Key, bookmarkPrimIt.Value); * } */ Save(); bookmarkPrims.GetCommentsManager().SetBookmark(bookmarkPrims); RedrawToolWindow(); } }
public void DelBookmark() { MyBookmarkManager.Log("DelBookmark"); BookmarkPrims bookmarkPrims = GetActiveBookmarkPrims(); int lineNo = GetCursorLineNo(); if (lineNo >= 1) { MyBookmarkManager.Log("bookmarkPrims.Remove lineNo=" + lineNo); BookmarkPrim prim = null; bookmarkPrims.TryRemove(lineNo, out prim); // bookmarkPrims.GetCommentsManager().DelBookmark(lineNo); Save(); bookmarkPrims.GetCommentsManager().SetBookmark(bookmarkPrims); RedrawToolWindow(); EnvDTE.TextSelection textSelection = GetTextSelection(); if (textSelection != null) { textSelection.GotoLine(GetCursorLineNo() + 1); } } }