Instantly jump between an opening tag/bracket and its matching closing counterpart — and back again — with a single keystroke.
Features
- Tag jump — place your cursor anywhere inside an opening or closing tag and press the shortcut to jump to the other end.
- Bracket jump — jump between matching
{},(), and[]. - Smart string & comment awareness — brackets inside strings, template literals, and comments are never mistaken for real brackets.
- TypeScript-safe — pure
.ts/.jsfiles skip tag parsing entirely, so TypeScript generics (Array<T>) and type assertions (<Type>value) are never misidentified. - Temporary highlight — the destination is briefly highlighted so you always know where you landed.
- Right-click context menu — the command is also available in the editor context menu under Navigation.
Supported Languages
| Category | Languages |
|---|---|
| HTML-like | HTML, Twig, XML, PHP, Blade, Vue, Markdown |
| JSX / TSX | JSX, JavaScriptReact, TSX, TypeScriptReact |
| Bracket-only | JavaScript, TypeScript, CSS, SCSS, Sass, Less, JSON, JSONC |
Keyboard Shortcut
| Platform | Default shortcut |
|---|---|
| Windows / Linux | Ctrl+M |
| macOS | Cmd+M |
You can rebind the command jumpToMatch.jump in File > Preferences > Keyboard Shortcuts.
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
jumpToMatch.highlightMatch |
boolean |
true |
Briefly highlight the destination after jumping. |
jumpToMatch.highlightDurationMs |
number |
800 |
How long the highlight stays visible (milliseconds). |
How It Works
- Place your cursor on or inside any tag or bracket.
- Press the shortcut (
Ctrl+M/Cmd+M). - The cursor jumps to the matching tag or bracket and it is temporarily highlighted.
- Press again to jump right back.
TypeScript / JavaScript note
Tag parsing is intentionally disabled for pure .ts and .js files.
This prevents false matches on TypeScript-specific syntax:
// These would look like tags without the guard — they are not
const arr: Array<string> = [];
const x = <MyType>someValue;
Bracket matching still works perfectly in .ts / .js, and tag matching is fully active in .tsx and .jsx.
Release Notes
0.4.0
- TypeScript: disabled tag parsing for
.ts/.jsto avoid false positives on generics and type assertions. - JS/TS bracket matching now ignores brackets inside strings, template literals, and comments.
- All user-facing text translated to English.
- Added extension icon.
0.3.0
- Added JS/TS string & comment mask for accurate bracket matching.
- Pure
.js/.tsfiles no longer run tag parsing.
0.2.0
- Added bracket matching for CSS, SCSS, JSON, and more.
- Added temporary highlight on jump destination.
- Added right-click context menu entry.
0.1.0
- Initial release with HTML tag jump support.
License
MIT