Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 Numbered bookmarks

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
efortier Posted - Mar 29 2006 : 7:03:43 PM
One of the great feature of Borland's Delphi (and BCB) text editor is that you can set a numbered bookmark on a line and jump back to this exact spot by using a shortcut.

You have 10 numbered bookmarks you set by pressing Ctrl+Shift and a number from 0 to 9. A bookmark icon appears in the gutter of the text editor showing the number inside of it. Each file has its own set of 10 bookmarks.

When you want to jump back to a precise spot you simply press Ctrl + the number, say Ctrl + 1. If you know that Ctrl+1 is function A and Ctrl+2 is function B, it's very easy to move between the two even if you have 8 other bookmarks defined.

This is really helpful when tracking bugs or when working on several functions at the same time. I hate having to cycle through all my bookmarks in Visual Studio trying to reach a place I know, and using the task list is nice but not as direct as the bookmarks in Delphi.

I have no clue why Microsoft never implemented that feature. Either it's there and I haven't searched hard enough or there are just too few of us using it? I doubt that!

Anyway, maybe VAX could fix that oversight?

Thanks!

--Eric

PS: I tried a couple of add-ins that claimed to support direct bookmarks, but they both popped a window asking me to select a bookmark to go back to. Good try but no cake!
9   L A T E S T    R E P L I E S    (Newest First)
accord Posted - Mar 15 2012 : 7:40:07 PM
There is no progress yet. Anyway, are you aware that you can use named bookmarks in Visual Studio?

View -> Bookmark Window

I know it's not the same (since you cannot assign keyboard shortcuts to them), but seems usable.
ladzin Posted - Mar 15 2012 : 08:48:15 AM
It's been a while -- any updates on numbered bookmarks (Borland Delphi style)? I've tried a couple of 3rd party plugins and they didn't work very well...
bugfix Posted - May 08 2006 : 02:31:59 AM
I know s**t about VB and Macro but I know you can do almost everything w/ it and if I need smth I usually find my way:)

As for per doc bookmarks try smth like this:

    Public Structure blub
        Public bookmarks() As Integer
        Public Sub init()
            ReDim bookmarks(10)
        End Sub
    End Structure
    Dim bookmarks As New Collection


    Sub mySetBookmark(ByVal idx As Integer)
        Dim x = Nothing
        Try
            x = bookmarks.Item(DTE.ActiveDocument.Name)
        Catch
            x = New blub
            x.init()
            bookmarks.Add(x, DTE.ActiveDocument.Name)
        End Try
        x.bookmarks(idx) = DTE.ActiveDocument.Selection.ActivePoint.Line
        DTE.ActiveDocument.Selection.SetBookmark()
    End Sub


About blocking IDE from updating... sorry, no idea how to do that.

-bugfix

I've uploaded a more or less complete vb file at:
http://www.dword.de/mfBookMarks.vb
efortier Posted - May 07 2006 : 11:24:40 AM
Hi Bugfix,

I can't begin to thank you enough! I don't know a lot about writing macros and the like and the code you provided allowed me to do exactly what I wanted. I still need to write the bookmarks number on a per-document basis to a file, and since my knowledge of VB is really poor, that'll wait!

Here's my final setbookmark function, in case someone else follows this thread:
Sub mySetBookmark(ByVal idx As Integer)
    Dim textPoint As EnvDTE.TextPoint

    Dim objTW As TextWindow
    Dim objStart As TextPoint

    objTW = DTE.ActiveWindow.Object
    objStart = objTW.ActivePane.StartPoint

    Dim cLine = DTE.ActiveDocument.Selection.ActivePoint.Line

    ' are we on the same line as the new bookmark we are trying to set.
    If cLine = bookmarks(idx) Then
        ' clear bookmark.
        bookmarks(idx) = 0
        DTE.ActiveDocument.Selection.ClearBookmark()
    Else
        ' remove prior bookmark, if any.
        If bookmarks(idx) <> 0 And bookmarks(idx) <> cLine Then
            DTE.ActiveDocument.Selection.GotoLine(bookmarks(idx))
            DTE.ActiveDocument.Selection.ClearBookmark()
        End If

        ' go to bookmark line.
        DTE.ActiveDocument.Selection.GotoLine(cLine)

        ' set new bookmark.
        bookmarks(idx) = cLine
        DTE.ActiveDocument.Selection.SetBookmark()

        ' show top line.
        objStart.TryToShow(vsPaneShowHow.vsPaneShowTop)
    End If
End Sub
The other thing that I can't seem to figure out is if there is a way to lock the text editor so that it doesn't update while I jump between lines. Like BeginUpdate/EndUpdate, LockWindowUpdate, etc.

Is there a way to do that?

Anyway, thanks again.
bugfix Posted - May 07 2006 : 06:46:42 AM
how about using macro like these which you bind to some keys?

    Dim bookmarks(10)

    Sub mySetBookmark(ByVal idx As Integer)
        bookmarks(idx) = DTE.ActiveDocument.Selection.ActivePoint.Line
        DTE.ActiveDocument.Selection.SetBookmark()
    End Sub
    Sub myGotoBookmark(ByVal idx As Integer)
        DTE.ActiveDocument.Selection.GotoLine(bookmarks(idx))
    End Sub

    Sub mySetBookmark0()
        mySetBookmark(0)
    End Sub

    Sub mySetBookmark1()
        mySetBookmark(1)
    End Sub

    Sub myGotoBookmark0()
        myGotoBookmark(0)
    End Sub

    Sub myGotoBookmark1()
        myGotoBookmark(1)
    End Sub

(c) -bugfix :P
peterchen Posted - Apr 20 2006 : 04:33:09 AM
I'd be happy with a list of bookmarks (file, line, maybe some surrounding code), but what you suggest certainly would certainly fit my needs, too.
efortier Posted - Apr 03 2006 : 11:30:10 PM
At least it's being considered. If anyone else would like this feature, please reply. With enough interest this suggestion may be bumbed higher in the TODO list ;)
feline Posted - Apr 02 2006 : 1:31:36 PM
it has been requested before, but that is no guarantee it will actually make it into VA

case=706
support Posted - Mar 29 2006 : 7:28:25 PM
While not precisely what you want, you might try the MRU list in the VA View. Right+Click to include modified methods.

http://www.wholetomato.com/products/features/mru.html?more=yes

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000