Skip to content

Laev/MarkerJump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Marker Jump

CI License: AGPL v3 VS Code Marketplace

A VS Code extension that allows you to mark and navigate between specific lines in the editor with visual flag icons and numbered shortcuts.

๐Ÿ“บ Demo

Marker Jump Demo

Mark lines with visual flags and navigate between them using keyboard shortcuts

๐Ÿ“– Documentation

โœจ Features

  • ๐Ÿšฉ Visual Flag Markers: Beautiful flag-style markers with customizable colors and optional numbers
  • ๐Ÿ”ข Smart Numbering: First 9 markers get numbers 1-9 for quick keyboard access
  • โŒจ๏ธ Flexible Navigation: Multiple navigation orders (line order vs creation order)
  • ๐Ÿ“Š Status Bar Toolbar: Quick access toolbar that appears when markers exist
  • ๐Ÿ’พ Persistent Markers: Optional persistence between VS Code sessions
  • ๐Ÿ“ Untitled File Support: Automatic marker migration when saving untitled files
  • โšก Conflict Resolution: Smart handling of marker conflicts during file operations
  • ๐ŸŽฏ F2 Double-tap: Optional secondary shortcut for toggling markers
  • ๐ŸŒ Multi-language: Full support for English, Chinese, and Japanese

๐Ÿš€ Usage

Basic Commands

  • Cmd+M (Mac) / Ctrl+M (Windows/Linux): Toggle marker on current line
  • Cmd+Alt+โ†‘ (Mac) / Ctrl+Alt+โ†‘ (Windows/Linux): Jump to previous marker
  • Cmd+Alt+โ†“ (Mac) / Ctrl+Alt+โ†“ (Windows/Linux): Jump to next marker
  • Cmd+Shift+M (Mac) / Ctrl+Shift+M (Windows/Linux): Clear all markers
  • Alt+Cmd+1-9 (Mac): Jump directly to marker number 1-9

Status Bar Toolbar

When markers exist in the current file, a toolbar appears in the status bar showing:

  • ๐Ÿšฉ 2/5: Current marker position and total count
  • โฌ†๏ธ: Previous marker button
  • โฌ‡๏ธ: Next marker button
  • โŒ: Clear all markers button

F2 Double-tap Feature

Enable markerJump.doubleKeyToggle setting to use F2 as a secondary shortcut:

  • Press F2 twice quickly (within 300ms) to toggle a marker

Untitled File Support

When you save an untitled file that contains markers:

  • Markers are automatically migrated to the saved file
  • If the target file already has markers, you'll see a dialog to choose:
    • Replace with new markers: Replace existing markers
    • Keep existing markers: Preserve current markers

โš™๏ธ Configuration

Setting Default Description
markerJump.persistent false Persist markers between VS Code sessions
markerJump.markerColor #52A5D9 Hex color for the flag icons
markerJump.showToolbar true Show status bar toolbar when markers exist
markerJump.showNumbers true Display numbers on marker flags
markerJump.numberingOrder creationOrder How to assign numbers: creationOrder or lineOrder
markerJump.keyboardNavigationOrder numberOrder Keyboard navigation order: numberOrder or lineOrder
markerJump.viewNavigationOrder numberOrder Status bar navigation order: numberOrder or lineOrder
markerJump.doubleKeyToggle false Enable F2 double-tap feature

Navigation Order Options

  • Creation Order: Markers numbered by when they were created (1st created = #1)
  • Line Order: Markers numbered by line position (top to bottom)
  • Number Order: Navigate by marker numbers (1 โ†’ 2 โ†’ 3...)
  • Line Order: Navigate by line position (top โ†’ bottom)

๐ŸŒ Multi-language Support

This extension provides full localization in multiple languages:

Language Code Status Coverage
English en โœ… Complete UI, Commands, Messages
็ฎ€ไฝ“ไธญๆ–‡ zh-cn โœ… Complete UI, Commands, Messages
ๆ—ฅๆœฌ่ชž ja โœ… Complete UI, Commands, Messages

The interface language automatically matches your VS Code language setting.

๐Ÿ“ฆ Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "Marker Jump"
  4. Click Install

From VSIX

  1. Download the .vsix file
  2. Open VS Code
  3. Go to Extensions โ†’ Install from VSIX
  4. Select the downloaded file

๐Ÿ› ๏ธ Development

Building from Source

git clone <repository-url>
cd marker-jump
npm install
npm run compile

Project Structure

marker-jump/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ extension.ts          # Extension entry point
โ”‚   โ”œโ”€โ”€ markerManager.ts      # Core marker management
โ”‚   โ”œโ”€โ”€ commandHandler.ts     # Command handling
โ”‚   โ”œโ”€โ”€ uiOverlay.ts         # Status bar UI
โ”‚   โ””โ”€โ”€ l10n.ts              # Internationalization
โ”œโ”€โ”€ l10n/                    # Localization files
โ”‚   โ”œโ”€โ”€ bundle.l10n.json     # English
โ”‚   โ”œโ”€โ”€ bundle.l10n.zh-cn.json # Chinese
โ”‚   โ””โ”€โ”€ bundle.l10n.ja.json  # Japanese
โ””โ”€โ”€ package.json             # Extension manifest

Adding New Languages

To add support for a new language:

  1. Create package.nls.<language-code>.json for package.json translations
  2. Create l10n/bundle.l10n.<language-code>.json for runtime translations
  3. Follow the existing translation structure
  4. Test with VS Code in the target language

๐Ÿ› Troubleshooting

Markers not persisting

  • Check that markerJump.persistent is enabled in settings
  • Markers in untitled files are not persisted until the file is saved

F2 double-tap not working

  • Ensure markerJump.doubleKeyToggle is enabled
  • Press F2 twice within 300ms
  • Note: VS Code cannot detect raw Cmd key presses

Status bar toolbar not showing

  • Toolbar only appears when the current file has markers
  • Check that markerJump.showToolbar is enabled

๐Ÿ“„ License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

AGPL v3 License Summary

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Key Points:

  • โœ… Free to use, modify, and distribute
  • โœ… Source code must remain open
  • โš ๏ธ Network use requires source code availability
  • ๐Ÿ“‹ Modifications must be shared under same license

๐Ÿค Contributing

Contributions are welcome! Please feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests
  • Improve translations

๐Ÿ“ Changelog

1.0.0

  • โœจ Initial release
  • ๐Ÿšฉ Visual flag markers with customizable colors
  • ๐Ÿ”ข Numbered markers (1-9) with keyboard shortcuts
  • โŒจ๏ธ Flexible navigation orders
  • ๐Ÿ“Š Status bar toolbar with marker count
  • ๐Ÿ’พ Optional marker persistence
  • ๐Ÿ“ Untitled file marker migration
  • โšก Marker conflict resolution
  • ๐ŸŽฏ F2 double-tap feature
  • ๐ŸŒ Multi-language support (English, Chinese, Japanese)

About

A VS Code extension that allows you to mark specific lines in the editor and navigate between them using keyboard shortcuts.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published