с использованием VS2010
ОТВЕТ благодаря Гансу (так как я должен ответить на свой вопрос в течение 8 часов)
Sub CreateBreakPoint()
Dim doc As TextDocument = _
CType(DTE.ActiveDocument.Object("TextDocument"), TextDocument)
Dim point As EditPoint = doc.StartPoint.CreateEditPoint
While point.NextBookmark()
Try
point.ClearBookmark()
DTE.Debugger.Breakpoints.Add("", DTE.ActiveDocument.FullName, point.Line(), 1, "", dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue, "c#", "", 0, "", 0, dbgHitCountType.dbgHitCountTypeNone)
Catch ex As Exception
MsgBox("error: " + ex.Message)
End Try
End While
MsgBox("Done")
End Sub
У меня есть макрос, который устанавливает точки останова на каждой закладке. Это работает (как кувалда) ... но из любопытства, как мне сделать одно из следующего, чтобы я мог использовать "правильный" для цикла
- получить список объектов Bookmark (якобы со свойством номера строки)
- проверка для DTE.ExecuteCommand ("Edit.NextBookmark"), чтобы возвратить false или некоторое указание, что я достиг последней закладки
- получить список объектов Bookmark с определенным «запросом», поэтому мне не нужно сначала удалять все текущие закладки
текущий код
Public Module BookMarksToBreakPoints
Sub TemporaryMacro()
Dim bookmarkWin As Window = DTE.Windows.Item(WindowKinds.vsWindowKindBookmarks)
While True
Try
DTE.ExecuteCommand("Edit.NextBookmark")
DTE.ExecuteCommand("Edit.ToggleBookmark")
DTE.ExecuteCommand("Debug.ToggleBreakpoint")
Catch e As Exception
MsgBox("Done")
Exit While
End Try
End While
End Sub
End Module