Skip to content

imyuanx/vscode-bookmarks

 
 

Repository files navigation


Bookmarks Logo

What's new in Bookmarks 13.2

  • New Sticky Engine
  • Adds Virtual Workspaces support
  • Adds Workspace Trust support
  • Full Remote Development support
  • Improved Multi-root support
  • Adds Cross-platform support
  • Improved Side Bar usability

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



Improve your Bookmarks experience with Tabnine code completions! Tabnine is a free powerful Artificial Intelligence assistant designed to help you code faster, reduce mistakes, and discover best coding practices - without ever leaving the comfort of VSCode.

No more memorizing coding syntax, worrying about typos, neglecting to add that crucial comma, or even search for coding solutions online. Start reducing your development costs, deliver reliable code faster, and explore best coding practices. Tabnine is trusted by more than a million developers worldwide.
Get it now

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 Numbered 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 numberedBookmarks.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"
  • 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
  • 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
  • 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"

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

MIT © Alessandro Fragnani

About

Bookmarks Extension for Visual Studio Code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 96.2%
  • JavaScript 3.8%