Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Bono [ Bookmarks + Notes ]New to Visual Studio Code? Get it now.
Bono [ Bookmarks + Notes ]

Bono [ Bookmarks + Notes ]

HB24

|
1 install
| (0) | Free
Bono - OverEngineered Extension for Bookmarks and Notes. Advanced bookmark manager with groups, colors, notes, drag-and-drop, gutter icons, line highlights, and tree view organization for VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Bono - Over Engineer Extension for Bookmarks and Notes for VS Code

Marketplace Version Installs Rating VS Code Compatibility

Bono is a premium VS Code bookmark and notes manager with hierarchical groups, color-coded gutter icons, customizable line highlights, drag-and-drop organization, and markdown annotation support. Built for developers navigating complex codebases, it features context-signature auto-healing, nested sub-group folders, rich markdown notes, linear-gradient color palettes, tree view organization, and inline note editing — all designed to keep your workspace structured and your navigation fast.

Stop losing track of critical logic. Bono ensures your annotations stay glued to the correct lines as your code moves, shifts, or changes.


✨ Features at a Glance

Feature Description Key Search Terms
🎯 Line Tracking Context-signature algorithm auto-heals bookmarks as lines shift. Code Tracking, Auto-Heal, Line Shift
🏷️ Nested Sub-groups Group bookmarks hierarchically (e.g. Bugs ❯ Backend ❯ Critical). Folder Organization, Nested Tags
📝 Markdown Annotations Attach notes with workflow statuses (WIP, Blocked, Completed). Code Comments, Task Board, Notes
🎨 Gradients & Color Themes 15 built-in solid/gradient themes or create custom JSON palettes. UI Styling, Color Coding, Linear Gradients
🔀 Cut, Paste & Reorder Reorder elements via drag-and-drop or cut/paste (Ctrl+X/Ctrl+V). Workspace Reorganizer, Clipboard
↩️ Robust Undo & Redo Full history tracking (up to 50 operations) for all layout changes. History Stack, Undo Actions
💾 Export & Import Snapshot, transfer, or backup your bookmarks and notes via JSON. Workspace Backup, Sharing Config

🎯 Advanced Code Bookmarking & Navigation

Standard bookmarking extensions track simple line numbers. If you insert a line at the top of a file, every bookmark below it points to the wrong code. Bono resolves this with an advanced Auto-Healing Context Engine:

  • Context-Signature Line Tracking: The extension takes a unique hash signature of the bookmarked line and its surrounding context. If code shifts, the extension scans the file, detects the movement, and auto-heals the bookmark position.
  • Context-Signature Resolution: If there are multiple identical lines (like empty lines, brackets, or imports), the extension uses surrounding lines to resolve which specific occurrence was bookmarked.
  • Horizontal Scroll Preservation: When jumping to a bookmark, the editor can automatically adjust the horizontal scroll position (horizontalScrollOnJump: "dynamic") so that the bookmarked text sits right at the left edge of your screen. No more scrolling right to read indented lines.
  • Precision Jump Feedback: Jumps trigger a visual Flash Highlight in the editor. Configurable smooth-scrolling animations (scrollAnimation) ease your eyes when moving within files.
  • Diff & Compare View Support: Bookmark lines inside VS Code's diff editors. The extension knows whether you marked the left (original) or right (modified) side and opens the correct document pane when navigating.
  • Multi-Line Bookmarks: Toggle bookmarks on continuous blocks or individual discrete ranges of lines.

🏷️ Hierarchical Bookmark Groups & Folders

Organize hundreds of bookmarks cleanly into folder structures. Keep your sidebar uncluttered and semantic:

  • Unlimited Nested Sub-groups: Right-click any group and select Create Sub-group to build structures like Feature-A ❯ Bugs ❯ High-Priority.
  • The Active Group ⭐: The group marked with a star is where all new bookmarks go. Switch the active group instantly via the checkmark inline action.
  • Flexible Display Layouts: Toggle between a unified workspace outline tree (sidebarUI: "workspace") or separate panels for the active group and general group lists (sidebarUI: "tree").
  • View Location Flexibility: Position your bookmarks view container in the dedicated Activity Bar icon (bookmarks sidebar) or nest it directly inside the default File Explorer tab (viewLocation).
  • Pinned Folders & Items: Keep important groups or specific bookmark lines locked at the top of their respective lists. Pinning always places the group at the front of the pinned section for highest priority.
  • Drag-and-Drop Reordering: Drag groups onto collapsed groups to reorder as siblings, or onto expanded groups to create sub-groups. Drag sub-groups to the tree root to extract them to the top level.

🔀 Drag-and-Drop & Clipboard Workflows

Enjoy a natural, desktop-like organization experience inside your editor views:

  • Fluid Drag-and-Drop: Drag bookmarks to reorder their jump sequence, move them into group folders, or nest sub-group folders into parent groups.
  • Group Drag Behavior: Dropping a group on a collapsed group reorders it as a sibling. Dropping on an expanded group creates a sub-group. Dropping a sub-group on the tree root extracts it to the top level.
  • Clipboard Operations: Cut (Ctrl+X / Cmd+X) bookmarks or groups and paste (Ctrl+V / Cmd+V) them into another folder or root level.
  • Title Bar "Paste Here": A dynamic paste button ($(reply)) appears in the tree view headers when you cut an item. This lets you paste elements even when clicking inside empty view background space.
  • Single-Click vs Double-Click separation:
    • Single-clicking a bookmark opens and previews the source code line in the text editor.
    • Double-clicking tells the extension to keep keyboard focus inside the tree view. This makes it extremely fast to rename (F2) or delete (Delete) bookmarks without the text editor intercepting input.
  • Undo & Redo History: Made an accidental deletion or dragged a folder to the wrong place? Press Ctrl+Z / Cmd+Z inside the tree view to undo the action, or Ctrl+Y / Cmd+Y to redo. The extension maintains a history stack of up to 50 actions.

📝 Rich Markdown Notes & Annotation System

Turn your bookmarks into interactive task trackers and documentation cards with the integrated notes system.

Bookmark & Group Notes

  • Workflow Status Tracking: Assign notes a status: In Queue (Queued), WIP (Work In Progress), Blocked (Waiting on dependencies), Completed (Done), Drafted (Preserved draft), or Deleted.
  • Compact Indicators: Display status badges as compact abbreviations (Q, WIP, BLK, OK, DRF) or custom symbols to fit in sidebar trees.
  • Note Deletion Policies: Choose what happens when you delete a bookmark: permanently delete the note, move it to the recycle bin, preserve it for automatic re-linking, or prompt each time.
  • Line Cut/Deletion Behavior: When you cut or delete a line of source code, control whether the attached note is sent to the recycle bin, deleted permanently, or preserved as an orphaned draft waiting for recovery.
  • Draft & Recycle Recovery: Recycled notes are moved to a temporary bin and can be restored. Preserved drafts retain their source line, content, context, and group, and can reconnect automatically when that line is bookmarked again.
  • Recycle Bin Expiry: Set notes.recycleBinRetentionSeconds to automatically delete recycled bookmark-note entries after a custom number of seconds.
  • Flexible Editing Modes: Edit notes inline inside the Note Preview webview panel, or open a full native side-by-side Markdown editor. Enable autoSaveNotes to save your draft automatically as you type.

The Notes Manager

A responsive, dashboard-style card view dedicated to managing code comments, annotations, and tasks:

  • Search & Filter: Search text, filter by note type (Bookmarks with notes, Bookmarks without notes, Unlinked drafts), group membership, and status codes.
  • Expanded Cards: Toggle previews of the bookmarked source code and file coordinates inside each note card.
  • Interactive Styling: Customize note outline glows to use standard VS Code focus themes or match the color of the bookmark's group.
  • Bulk Edit: Run the BN: Edit Notes in Editor command to dump all workspace notes into a single file for rapid batch editing.

🎨 Color Themes & Visual Customizations

Make your code stand out visually. Bono features a robust styling engine for highlights and markers:

Curated Color Themes

Open the Command Palette and run BN: Apply Color Theme or click the palette icon in the tree header to apply one of the 15 built-in color schemes:

  • Default Pastels: Soft, soothing colors.
  • Ocean Breeze: Marine teals, deep navy, and gold accents.
  • Sunset Glow: Rich golds, oranges, warm reds, and twilight purples.
  • Forest: Wood browns, mossy greens, and creek teals.
  • Neon Night: Electric cyan, hot magenta, and neon greens.
  • Monochrome: Sleek shades of silver, slate, and charcoal.
  • Candy: Sweet pinks, mint, and soft lavender.
  • Fire & Ice: High-contrast warm red and freezing cyan.
  • Aurora Gradients: Beautiful glowing combinations of violet, emerald, and pink.
  • Sunset Gradients: Twilight blends of gold, coral, and magenta.
  • Ocean Gradients: Deep sea blends of navy, teal, and seafoam.

Complete Styling Controls

  • Linear Gradients: The extension supports raw CSS linear gradients for bookmarks highlights and icons. Example: linear-gradient(90deg, #ff00ff, #00ffff).
  • Custom Color Themes: Add your own color arrays to bonoExtension.customColorThemes in your settings.json file.
  • Dynamic Transparency: Adjust background highlight opacity using the command palette or bind keys to the increase/decrease transparency commands.
  • Golden-Angle Color Generation: If you create more groups than the color theme has slots, the extension uses a golden-angle distribution algorithm to generate new colors that are mathematically as visually distinct as possible from existing groups.

🖼️ Custom Icons & SVGs

Customize the gutter icons displayed next to bookmarked lines. Use the built-in shapes or insert raw SVG code:

  • Built-in Icons: Set bonoExtension.gutterIcon.bookmark for bookmark-shaped gutter icons, bonoExtension.gutterIcon.note for note-shaped gutter icons, or bonoExtension.gutterIcon.bookmarkWithNote for bookmark-plus-note combinations.
  • Subtle 3D Icons: Use the 3D, outline, or bordered variants for a compact highlight-and-shadow treatment that stays clear in the gutter.
  • SVG Templating: Choose custom, then set bonoExtension.gutterIcon.customSvg for one shared SVG or bonoExtension.gutterIcon.customGroupSvgs for per-group SVG overrides.
  • Color Injection: Use the {color} placeholder in your SVG strings (e.g. <path fill="{color}" ... />). The extension will automatically paint the icon with the group's custom color or gradient.
  • Per-Group Overrides: Specify different SVG icons for specific groups in bonoExtension.gutterIcon.customGroupSvgs.
  • Bookmark + Note Composition: Set bonoExtension.gutterIcon.bookmarkWithNote to dynamic-notes-icon to generate the bookmark+note icon from the current bookmark icon and place a note badge in the bottom-right.
  • Custom Bookmark Reuse: When bonoExtension.gutterIcon.customSvg is set, the dynamic bookmark+note modes reuse that custom bookmark icon as the base automatically. The older customIcon.bookmark field still works as a compatibility fallback.

📋 Display Templates

Customize how bookmarks are rendered in your tree views. Use variables and conditional checks to keep your sidebar clean:

Template Variables

  • {prefix}: The line number symbol (e.g. ↳, L, 📌).
  • {lineNo}: The source line number (e.g. 42). Supports lists for multi-line ranges (e.g. 5-10 or 5,7,12).
  • {fileName}: The base filename (e.g. app.js).
  • {filePath}: The workspace-relative file path (e.g. src/app.js).
  • {content}: The text content of the bookmarked line.
  • {text}: The custom name assigned to the bookmark (via Rename).
  • {note}: The text content of the attached note (first line only).
  • {noteIcon}: Displays a literal 📝 emoji if a note is attached.

Conditional Formatting

Wrap blocks in curly braces to render text only when conditions are met:

  • {ifText:🔑 {text}}: Displays 🔑 [Name] only if a custom name is set.
  • {ifNotText:...}: Renders code only if no custom name exists.
  • {ifNote:...}: Appends icons or text only when a note is attached.
  • {ifNotNote:...}: Renders text only when the bookmark has no note.

Custom Examples

  • Default Workspace Template: {ifText:{text}}{ifNotText:{fileName}:{lineNo} {content}} | {ifNote:📝 {note}}
  • Default Active Group Template: {prefix}{lineNo} {content} | {ifNote:📝 {note}}
  • Minimalist Code Outline: {lineNo}: {content}{ifNote: · 📝 {note}}
  • Metadata Heavy: [{fileName} L{lineNo}] {ifText:{text} · }{content}

⚙️ Settings Reference

Setting Type Default Description
Colors & Themes
bonoExtension.colorTheme.active enum "none" Active built-in color theme. Select from 15 custom palettes to auto-recolor groups.
bonoExtension.colorTheme.showBuiltinThemes boolean true Show built-in themes in the color theme selector. False shows only custom themes.
bonoExtension.colorTheme.updateDefaultColors boolean true Applying a theme also updates defaultColors globally for new groups.
bonoExtension.customColorThemes array [] List of user-defined custom color themes with solid hex colors or CSS gradients.
bonoExtension.defaultColors array (36 pastels) Hex colors/gradients assigned sequentially to new bookmark groups.
bonoExtension.groupColors object {} Per-group color or gradient overrides. e.g. {"Bugs": "#ff0000"}
bonoExtension.opacity number 0.3 Opacity of editor line highlights (range 0.0 - 1.0).
bonoExtension.opacityStep number 0.05 Value changed by transparency increase/decrease commands.
Groups & Folders
bonoExtension.defaultGroups array ["Todo", "Fix", "Review"] Bookmark groups generated automatically in new workspaces.
bonoExtension.sidebarUI enum "workspace" Choose layout style: "workspace" (unified tree) or "tree" (split panels).
bonoExtension.viewLocation enum "sidebar" Positions the view panels: "sidebar" (Activity Bar) or "explorer" (File Explorer).
bonoExtension.treeIndent integer 8 Tree indentation in pixels (Updates global VS Code tree indentation).
bonoExtension.hiddenGroupDisplay enum "both" How hidden folders display: "icon" (eye icon), "text" ((hidden) tag), or "both".
Jumping & Navigation
bonoExtension.scrollAnimation enum "all" Controls scroll speed on jump: "all", "sameFileOnly", or "none".
bonoExtension.horizontalScrollOnJump enum "dynamic" Horizontal adjustment: "dynamic" (center columns) or "keep" (preserve scroll position).
bonoExtension.flashHighlight boolean true Flash highlights the target line briefly after jumping.
bonoExtension.allowCrossFileJump boolean true Permits the F8/Shift+F8 shortcuts to jump to lines in other files.
bonoExtension.bookmarkThisLine boolean true Enables advanced context signature tracking and auto-healing line detection.
Gutter Icons & Tree Icons
bonoExtension.lineHighlight boolean true Shows the editor line highlight for bookmarks without notes.
bonoExtension.lineHighlightStyle enum "background" Visual style for bookmarked line highlights: "background", "left-border", "underline", "outline", "overview-ruler", or "gutter".
bonoExtension.notes.lineHighlight boolean false Shows the editor line highlight for Notes Manager notes. This does not disable the normal bookmark highlight for real bookmarks that also have notes.
bonoExtension.notes.cursorHighlight boolean false Optionally highlights the bookmarked line under the cursor. Tree view and note cards still highlight without this setting.
bonoExtension.gutterIcon.bookmark enum "ribbon" Icon for bookmarks without notes. Choose "custom" to use custom SVG settings.
bonoExtension.gutterIcon.note enum "note" Icon for standalone notes. Choose "custom" to use custom SVG settings.
bonoExtension.gutterIcon.bookmarkWithNote enum "ribbon" Icon for bookmarks with notes. Choose "custom" to use custom SVG settings.
bonoExtension.gutterIcon.customMode enum "single" Custom SVG behavior: one SVG for all groups or per-group SVG overrides.
bonoExtension.gutterIcon.customSvg string "" Single custom SVG used when customMode is single.
bonoExtension.gutterIcon.customGroupSvgs object {} Per-group SVG overrides used when customMode is perGroup.
bonoExtension.customGroupIconSvg string "" Raw SVG string template for global custom group icons.
bonoExtension.groupIcons object {} Map of group names to raw SVG strings. Priority over default icon.
bonoExtension.showBookmarkIconInTree boolean true Displays color-coded group shape icons next to individual bookmark tree elements.
bonoExtension.showGroupIconInTree boolean true Displays color-coded group shape icons next to group tree elements.
bonoExtension.showBookmarkHover boolean true Hovering marked line displays notes and note manager shortcuts.
Inline View Actions
bonoExtension.bookmarkInlineActions array ["notes","delete"] Inline hover buttons on bookmark items. Options: notes, delete, rename, moveUp, moveDown, hide. Actions not listed still appear in the right-click context menu.
bonoExtension.groupInlineActions array ["moveUp","moveDown","hide"] Inline hover buttons on group items. Options: moveUp, moveDown, hide, rename, delete, notes, color. Actions not listed still appear in the right-click context menu.
bonoExtension.activeGroupInlineActions array ["notes","delete"] (Deprecated) Use bookmarkInlineActions instead.
bonoExtension.workspaceInlineActions array ["notes","rename","delete"] (Deprecated) Use bookmarkInlineActions instead.
Notes & Task Board
bonoExtension.notesEditMode enum "inline" Note editor location: "inline" (sidebar preview) or "sideBySide" (Markdown tab).
bonoExtension.autoSaveNotes boolean false Notes save in real-time as you type inside the preview panel.
bonoExtension.notes.defaultStatus enum "inQueue" Default status for new notes: inQueue, wip, blocked, completed, drafted.
bonoExtension.notes.enableStatus boolean true Toggles note status filters, abbreviations, and workflow tools.
bonoExtension.notes.statusDisplay enum "abbreviation" Compact status style: "icon" or "abbreviation".
bonoExtension.notes.deletionPolicy enum "preserveAndAutoRelink" Canonical deletion policy for both bookmark removal and source-line deletion. Options: "preserveAndAutoRelink", "moveToRecycleBin", "deletePermanently".
bonoExtension.notes.recycleBinRetentionSeconds number 2592000 Auto-deletes recycled bookmark-note entries after this many seconds. Use 60 * 60 * 24 * 30 for 30 days or 0 to disable cleanup.
bonoExtension.bookmarkLineDeletionBehavior enum "preserveAndAutoRelink" Legacy alias for notes.deletionPolicy. Use notes.deletionPolicy instead.
bonoExtension.notesManager.showLocation boolean true Displays source filename and coordinates inside note manager cards.
bonoExtension.notesManager.showCodePreview boolean true Displays previews of source code line text inside note manager cards.
bonoExtension.notesManager.showCardShadows boolean true Enables box-shadow and elevation styles on hover.
bonoExtension.notesManager.hoverColor enum "blue" Outline glow color on hover: "blue" (VS Code focus blue) or "group" (group color).
bonoExtension.notesManager.saveCodeLensStyle enum "autosave" Save links in bulk editor: "autosave", "universal", "individual", "both".
Template Customization
bonoExtension.workspaceBookmarkTemplate string (default template) Outline view layout format.
bonoExtension.activeBookmarkTemplate string (default template) Active group panel layout format.
bonoExtension.debugMode boolean false Writes verbose developer logs to the console and Output channel.

📋 Commands Reference

Command ID Command Palette Title Description
bn.toggleBookmark BN: Toggle Bookmark Toggles bookmark highlight and gutter icon on selected line.
bn.clearBookmarks BN: Clear All Bookmarks Removes all bookmarks inside the active group folder.
bn.clearWorkspaceBookmarks BN: Clear All Workspace Bookmarks Deletes all bookmarks across all groups in the workspace.
bn.openBookmark BN: Open Bookmark Navigates to and highlights the target bookmark line.
bn.removeBookmark BN: Remove Bookmark Deletes the selected bookmark.
bn.setActiveGroup BN: Set Active Group Sets the selected group as active ⭐.
bn.createGroup BN: Create Group Generates a new top-level bookmark group folder.
bn.createSubGroup Create Sub-group Generates a child folder under the selected group.
bn.renameGroup BN: Rename Group Renames the target folder and adjusts child elements.
bn.setGroupColor BN: Set Group Color or Gradient Assigns a custom hex color or linear-gradient style to a folder.
bn.pinGroup / bn.unpinGroup Pin Group / Unpin Group Pins folder to the top of its tree depth block (newest pin has highest priority).
bn.deleteGroup BN: Delete Group Deletes group folder, children, and bookmarks (with confirmation).
bn.clearGroupBookmarks BN: Clear All Bookmarks in Group Wipes bookmarks in folder and nested folders recursively.
bn.moveGroupUp / bn.moveGroupDown Move Group Up / Move Group Down Reorders group position in the tree.
bn.hideGroupBookmarks / bn.unhideGroupBookmarks Hide Bookmarks / Unhide Bookmarks Hides/reveals gutter icons and highlights of folders.
bn.moveBookmarkToGroup BN: Send To... Moves bookmark to a selected group.
bn.renameBookmark BN: Rename Bookmark Sets a custom label string to display instead of code text.
bn.pinBookmark / bn.unpinBookmark Pin Bookmark / Unpin Bookmark Locks bookmark at the top of its tree section.
bn.pinBookmarkNote / bn.unpinBookmarkNote Pin Note / Unpin Note Pins note card at the top of the Notes Manager view.
bn.setNoteStatus BN: Set Note Status Adjusts note workflow status value.
bn.nextBookmark / bn.prevBookmark BN: Next Bookmark / BN: Previous Bookmark Cycle forward and backward between bookmarks.
bn.toggleCrossFileJump BN: Toggle Cross-File Jump Toggle whether arrow key cycling stays inside active editor.
bn.increaseBookmarkTransparency BN: Increase Bookmark Transparency Decreases opacity of highlight lines.
bn.decreaseBookmarkTransparency BN: Decrease Bookmark Transparency Increases opacity of highlight lines.
bn.moveBookmarkUp / bn.moveBookmarkDown Move Up / Move Down Moves bookmark position manually up/down in jump lists.
bn.hideBookmark / bn.unhideBookmark Hide Bookmark / Unhide Bookmark Hides/reveals individual bookmarks.
bn.toggleShowHiddenBookmarks Toggle Hidden Bookmarks Visibility Shows or hides dimmed, hidden bookmarks inside views.
bn.exportBookmarks / bn.importBookmarks Export Bookmarks / Import Bookmarks Backup bookmarks to JSON or restore configurations.
bn.exportNotes / bn.importNotes Export Notes / Import Notes Backup markdown annotations or restore files.
bn.openNoteRecycleBin BN: Open Note Recycle Bin Opens dialog to restore deleted markdown comments.
bn.emptyNoteRecycleBin BN: Empty Note Recycle Bin Wipes the temporary recycle bin files permanently.
bn.showAllBookmarks Search All Bookmarks Search all bookmarks via VS Code QuickPick selector.
bn.searchActiveGroupBookmarks Search Active Group Bookmarks Searches bookmarks inside active group panel.
bn.addBookmarkNote BN: Open Notes Manager (Bookmark) Launches notes editor panel for selected bookmark.
bn.deleteBookmarkNote BN: Delete Note (Bookmark) Deletes note associated with bookmark.
bn.editActiveNote / bn.saveActiveNote Edit Note / Save Note Webview preview note actions.
bn.cancelActiveNoteEdit Cancel Edit Discard changes to preview panel note.
bn.editNotesInFile BN: Edit Notes in Editor Dumps notes into a temporary text file for bulk adjustments.
bn.applyColorTheme BN: Apply Color Theme Recolor all folders using a preset theme.
bn.undo / bn.redo BN: Undo / BN: Redo Undo or Redo the last layout, group, or bookmark operation.
bn.treeCut Cut Cuts selected tree items for paste.
bn.treePaste Paste Pastes previously cut tree items.
bn.treeDelete Delete Deletes selected tree items.
bn.treeRename Rename Renames selected tree item.

⌨️ Keyboard Shortcuts

Shortcut macOS Shortcut Command When Focused
Ctrl+Alt+K Cmd+Alt+K Toggle Bookmark Editor Text Focus
F8 F8 Next Bookmark Editor Text Focus
Shift+F8 Shift+F8 Previous Bookmark Editor Text Focus
Ctrl+F Cmd+F Search view bookmarks Bookmark tree views
Enter Enter Open Bookmark Bookmark tree views
F2 F2 Rename selected item Bookmark tree views
Delete Delete Delete selected item Bookmark tree views
Ctrl+X Cmd+X Cut item to clipboard Bookmark tree views
Ctrl+V Cmd+V Paste clipboard item Bookmark tree views
Ctrl+Z Cmd+Z Undo last action Bookmark tree views
Ctrl+Y / Ctrl+Shift+Z Cmd+Y / Cmd+Shift+Z Redo last action Bookmark tree views

🚀 Quick Start Guide

  1. Install the extension from the Visual Studio Code Marketplace.
  2. Toggle a Bookmark: Open any source file, place your cursor on a line, and press Ctrl+Alt+K (or Cmd+Alt+K on macOS).
  3. View Your Outline: Open the Bookmarks sidebar icon in the Activity Bar to inspect your groups.
  4. Create Folders: Click the + icon in the Bookmark Groups pane title bar to create a new group. Right-click it to add nested sub-groups.
  5. Cycle Through Code: Press F8 to jump to the next bookmark in your active group, or Shift+F8 to go back.
  6. Add Markdown Comments: Click the outline pencil or hover over a bookmarked editor line to open the note editor, type your comments, and assign tasks (WIP, Blocked, Completed).
  7. Theme Your Views: Click the palette icon in the groups tree view title bar and apply Sunset Glow or Ocean Gradients to instantly paint your folders.

💡 Developer Usage Tips

  • Workflow Integration: Use status markers on bookmark notes (WIP, Blocked, Completed) to track code reviews, bug fixes, or architectural changes directly alongside your lines of code.
  • Diff Navigation: When reviewing Git changes, use the extension to bookmark lines inside the diff viewer. You can jump back to them in the comparison pane later without manual file searching.
  • Template Customization: Make full use of the template syntax. Try using {fileName} · {lineNo} — {content} for clean, content-focused displays in your sidebar.
  • Prevent Focus Stealing: If you want to rename or delete multiple bookmarks quickly, double-click them in the tree view to lock keyboard focus inside the tree. You can then use F2 or Delete on multiple entries sequentially.
  • Snapshots: Use the Export Bookmarks and Export Notes commands to save your navigation layout to a JSON file before starting major code refactoring. You can import them later to restore your work maps.

🔧 Troubleshooting & Diagnostics

If you encounter issues with line tracking or webview rendering:

  1. Open VS Code Settings and set bonoExtension.debugMode: true.
  2. Open the Output channel (View: Toggle Output) and select Bookmarks from the dropdown menu to inspect real-time auto-healing and event logs.
  3. For packaging or testing, run npm run lint and npm test inside the repository.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft