A VS Code extension that allows you to mark and navigate between specific lines in the editor with visual flag icons and numbered shortcuts.
Mark lines with visual flags and navigate between them using keyboard shortcuts
- English: README.md (Current)
- ไธญๆ: README.zh-cn.md
- ๆฅๆฌ่ช: README.ja.md
- ๐ฉ 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
- 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
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
Enable markerJump.doubleKeyToggle setting to use F2 as a secondary shortcut:
- Press F2 twice quickly (within 300ms) to toggle a marker
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
| 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 |
- 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)
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.
- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Marker Jump"
- Click Install
- Download the
.vsixfile - Open VS Code
- Go to Extensions โ Install from VSIX
- Select the downloaded file
git clone <repository-url>
cd marker-jump
npm install
npm run compilemarker-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
To add support for a new language:
- Create
package.nls.<language-code>.jsonfor package.json translations - Create
l10n/bundle.l10n.<language-code>.jsonfor runtime translations - Follow the existing translation structure
- Test with VS Code in the target language
- Check that
markerJump.persistentis enabled in settings - Markers in untitled files are not persisted until the file is saved
- Ensure
markerJump.doubleKeyToggleis enabled - Press F2 twice within 300ms
- Note: VS Code cannot detect raw Cmd key presses
- Toolbar only appears when the current file has markers
- Check that
markerJump.showToolbaris enabled
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
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
Contributions are welcome! Please feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve translations
- โจ 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)
