/vscode-bookmarks

Bookmarks Extension for Visual Studio Code

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0


Bookmarks Logo

What's new in Bookmarks 13.4

  • Adds Getting Started / Walkthrough
  • Adds Side Bar badge
  • Adds Toggle bookmark via mouse click
  • Adds Icon customization

Support

Bookmarks is an extension created for Visual Studio Code. If you find it useful, please consider supporting it.

Sponsors


Eliminate context switching and costly distractions. Create and merge PRs and perform code reviews from inside your IDE while using jump-to-definition, your keybindings, and other IDE favorites.
Learn more


Bookmarks

It helps you to navigate in your code, moving between important positions easily and quickly. No more need to search for code. It also supports a set of selection commands, which allows you to select bookmarked lines and regions between bookmarked lines. It's really useful for log file analysis.

Here are some of the features that Bookmarks provides:

  • Mark/unmark positions in your code
  • Mark positions in your code and give it name
  • Jump forward and backward between bookmarks
  • Icons in gutter and overview ruler
  • See a list of all Bookmarks in one file and project
  • Select lines and regions with bookmarks
  • A dedicated Side Bar

Features

Available commands

  • Bookmarks: Toggle Mark/unmark positions with bookmarks
  • Bookmarks: Toggle Labeled Mark labeled bookmarks
  • Bookmarks: Jump to Next Move the cursor forward, to the bookmark below
  • Bookmarks: Jump to Previous Move the cursor backward, to the bookmark above
  • Bookmarks: List List all bookmarks in the current file
  • Bookmarks: List from All Files List all bookmarks from all files
  • Bookmarks: Clear remove all bookmarks in the current file
  • Bookmarks: Clear from All Files remove all bookmarks from all files
  • Bookmarks (Selection): Select Lines Select all lines that contains bookmarks
  • Bookmarks (Selection): Expand Selection to Next Expand the selected text to the next bookmark
  • Bookmarks (Selection): Expand Selection to Previous Expand the selected text to the previous bookmark
  • Bookmarks (Selection): Shrink Selection Shrink the select text to the Previous/Next bookmark

Manage your bookmarks

Toggle / Toggle Labeled

You can easily Mark/Unmark bookmarks on any position. You can even define Labels for each bookmark.

Toggle

Navigation

Jump to Next / Previous

Quicky move between bookmarks backward and forward, even if located outside the active file.

List / List from All Files

List all bookmarks from the current file/project and easily navigate to any of them. It shows a line preview and temporarily scroll to its position.

List

  • Bookmarks from the active file only shows the line number and its contents
  • Bookmarks from other files in the project also shows the relative path

Improved Multi-root support

When you work with multi-root workspaces, the extension can manage the bookmarks individually for each folder.

Simply define saveBookmarksInProject as true on your User Settings or in the Workspace Settings, and when you run the Bookmarks: List from All Files command, you will be able to select from which folder the bookmarks will be shown.

List

Remote Development support

The extension now fully supports Remote Development scenarios.

It means that when you connect to a remote location, like a Docker Container, SSH or WSL, the extension will be available, ready to be used.

You don't need to install the extension on the remote anymore.

Better yet, if you use bookmarks.saveBookmarksInProject setting defined as true, the bookmarks saved locally will be available remotely, and you will be able to navigate and update the bookmarks. Just like it was a resource from folder you opened remotely.

Selection

You can use Bookmarks to easily select lines or text blocks. Simply toggle bookmarks in any position of interest and use some of the Selection commands available.

Select Lines

Select all bookmarked lines. Specially useful while working with log files.

Select Lines

Expand Selection to the Next/Previous Bookmark or Shrink the Selection

Manipulate the selection of lines between bookmarks, up and down.

Available Settings

  • Allow navigation through all files that contains bookmarks (true by default)
    "bookmarks.navigateThroughAllFiles": false
  • Allow navigation to wrap around at the first and last bookmarks in scope (current file or all files) (true by default)
    "bookmarks.wrapNavigation": true
  • Bookmarks are always saved between sessions, and you can decide if it should be saved in the Project, so you can add it to your Git/SVN repo and have it in all your machines (false by default)
    "bookmarks.saveBookmarksInProject": true
  • Path to another image to be shown as Bookmark (16x16 px)
    "bookmarks.gutterIconPath": "c:\\temp\\othericon.png"

Deprecated in 13.3: Use bookmarks.gutterIconFillColor and bookmarks.gutterIconBorderColor instead

  • Specifies the fill color of the bookmark icon
    "bookmarks.gutterIconFillColor"
  • Specifies the border color of the bookmark icon
    "bookmarks.gutterIconBorderColor"
  • Choose the background color to use on a bookmarked line
    "bookmarks.backgroundLineColor"

Deprecated in 10.7: Use workbench.colorCustomizations instead. More info in Available Colors

  • Allow bookmarks commands, (Toggle, Jump to Next/Previous), to be displayed on the editor contex menu (true by default)
    "bookmarks.showCommandsInContextMenu": true
  • Experimental. Enables the new Sticky engine with support for Formatters, improved source change detections and undo operations (true by default)
    "bookmarks.experimental.enableNewStickyEngine": false
  • "Specifies whether bookmarks on deleted line should be kept on file, moving it down to the next line, instead of deleting it with the line where it was toggled." (false by default)
    "bookmarks.keepBookmarksOnLineDelete": true

Limitation: It does not support Undo operations. It means that, once you delete a line and the bookmark is moved to the next available line, the Undo operation won't move the bookmark back to the previous line. The next line is now the new location of the bookmark.

  • Use a workaround for formatters, like Prettier, which does not notify on document changes and messes Bookmark's Sticky behavior (false by default)
    "bookmarks.useWorkaroundForFormatters": true

This workaround can be turned off if you are using the new Sticky Engine (setting above)

  • Choose if the Side Bar should start expanded (false by default)
    "bookmarks.sideBar.expanded": true
  • Controls the count badge on the Bookmark icon on the Activity Bar (all by default)

    • all: Show the sum of bookmarks from all files
    • files: Show the sum of files that contains some bookmarks
    • off: Disable the Bookmarks count badge
    "bookmarks.sideBar.countBadge": "files"
  • Choose how multi cursor handles already bookmarked lines (allLinesAtOnce by default)

    • allLinesAtOnce: Creates bookmarks in all selected lines at once, if at least one of the lines don't have a bookmark
    • eachLineIndependently: Literally toggles a bookmark in each line, instead of making all lines equal
    "bookmarks.multicursor.toggleMode": "eachLineIndependently"
  • Choose how labels are suggested when creating bookmarks (dontUse by default)

    • dontUse: Don't use the selection (original behavior)
    • useWhenSelected: Use the selected text (if available) directly, no confirmation required
    • suggestWhenSelected: Suggests the selected text (if available). You still need to confirm.
    • suggestWhenSelectedOrLineWhenNoSelected: Suggests the selected text (if available) or the entire line (when has no selection). You still need to confirm
    "bookmarks.label.suggestion": "useWhenSelected"
  • Choose the location where the bookmarked line will be revealed (center by default)

    • top: Reveals the bookmarked line at the top of the editor
    • center: Reveals the bookmarked line in the center of the editor
    "bookmarks.revealPosition": "center"

Available Colors

  • Choose the background color to use on a bookmarked line
    "workbench.colorCustomizations": {
      "bookmarks.lineBackground": "#157EFB22"  
    }
  • Choose the border color to use on a bookmarked line
    "workbench.colorCustomizations": {
      "bookmarks.lineBorder": "#FF0000"  
    }
  • Choose marker color to use in the overview ruler
    "workbench.colorCustomizations": {
      "bookmarks.overviewRuler": "#157EFB88"  
    }

Side Bar

The Bookmarks extension has its own Side Bar, with a variety of commands to improve you productivity.

Single Folder Multi-root Workspace
Side Bar Side Bar

Project and Session Based

The bookmarks are saved per session for the project that you are using. You don't have to worry about closing files in Working Files. When you reopen the file, the bookmarks are restored.

It also works even if you only preview a file (simple click in TreeView). You can put bookmarks in any file and when you preview it again, the bookmarks will be there.

License

GPL-3.0 © Alessandro Fragnani