• Stars
    star
    1,482
  • Rank 31,713 (Top 0.7 %)
  • Language
    TypeScript
  • License
    GNU General Publi...
  • Created about 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bookmarks Extension for Visual Studio Code


Bookmarks Logo

What's new in Bookmarks 13.3

  • Adds Icon customization
  • New Sticky Engine
  • Adds Virtual Workspaces support
  • Adds Workspace Trust support
  • Full Remote Development support

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
  • 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

GPL-3.0 © Alessandro Fragnani

More Repositories

1

vscode-project-manager

Project Manager Extension for Visual Studio Code
TypeScript
1,718
star
2

vscode-language-pascal

Pascal language extension for Visual Studio Code
TypeScript
189
star
3

vscode-numbered-bookmarks

Numbered Bookmarks Extension for Visual Studio Code
TypeScript
132
star
4

delphi-james

James - The Delphi Project Manager
Pascal
48
star
5

vscode-separators

Separators Extension for Visual Studio Code
TypeScript
28
star
6

vscode-whats-new

VS Code submodule for a What's New page
TypeScript
27
star
7

vscode-jenkins-status

Jenkins Status Extension for Visual Studio Code
TypeScript
27
star
8

vscode-pascal-formatter

Pascal formatter extension for Visual Studio Code
TypeScript
26
star
9

atom-language-pascal

Pascal language support in Atom
26
star
10

vscode-read-only-indicator

Read-Only Indicator Extension for Visual Studio Code
TypeScript
25
star
11

vscode-delphi-pack

Delphi Extension Pack for Visual Studio Code
23
star
12

vscode-language-rtf

RTF Language Extension for Visual Studio Code
TypeScript
23
star
13

delphi-generator-delphi

Yeoman generator for Delphi projects
JavaScript
13
star
14

delphi-code-templates

Code Templates for Delphi
12
star
15

vscode-settings

My personal Visual Studio Code settings
11
star
16

vscode-copy-word

Copy Word Extension for Visual Studio Code
TypeScript
10
star
17

vscode-delphi-keybindings

Delphi Keybindings for Visual Studio Code
TypeScript
9
star
18

vscode-delphi-themes

Delphi Themes for Visual Studio Code
8
star
19

vscode-tagged-comment

Tagged Comment Extension for Visual Studio Code
TypeScript
7
star
20

atom-useful-context-menu

A set of useful context menu actions for Atom
CoffeeScript
7
star
21

delphi-samples

A collection of delphi samples
Pascal
5
star
22

Sublime-Ant-Buildfile

A Sublime Text build system for running ANT for the active XML file, even if it is not named build.xml
3
star
23

delphi-dite-vscode-theme

Visual Studio Code theme for DITE
3
star
24

atom-tagged-comment

An easy way to add personalized comments to your code
CoffeeScript
2
star
25

vscode-ext-help-and-feedback-view

NPM Package which provides a Help and Feedback View for VS Code extensions
TypeScript
2
star
26

atom-code-dark-syntax

A dark syntax theme based on Visual Studio Code, with some tweaks
Less
2
star
27

vscode-ext-codicons

NPM Package with helper functions to work with "codicons" while developing VS Code extensions
TypeScript
2
star
28

vscode-test-web-workspace

VS Code web-ready extension sample
TypeScript
1
star
29

toggle-delphi-file

Sublime plugin to toggle between Delphi files
Python
1
star
30

atom-read-only-indicator

Adds and indicator to the status bar showing if a file is read-only or writeable
CoffeeScript
1
star
31

vscode-try-extensions-on-codespaces

Try VS Code extensions on Codespaces
Pascal
1
star
32

delphi-squad-demo

Exemplo usado na apresentação do Delphi Squad Floripa
Pascal
1
star
33

delphi-dunit-agiledoxtestrunner

Agiledox output format
Pascal
1
star
34

atom-settings

My personal Atom settings
CSS
1
star