IDE style navigation (tab reuse on link opening, tab management, switch to already open note)

Hi everyone! I think this is exactly what you guys want! I implemented a VSCode-like tab navigation for my plugin Vertical Tabs, and this feature will be available soon!

The exact behavior, with IDE style ON, is

  • The newly opened tab is ephemeral;
  • When you click a link or open a new file (from anywhere), an ephemeral tab is replaced with the new content;
  • When you double click a tab’s header, it will make this tab non-ephemeral;
  • When you click a link inside a non-ephemeral tab or open a new file when a non-ephemeral is focused, the non-ephemeral tab will be kept as is, meanwhile, a new tab will open with the new content.

See the video below. Please pay attention to the title (or tab header). I added a bunch of CSS styles to make the states stand out. In production, the state is indicated by the font style (italic means ephemeral).

demo

You can also disable the “ephemeral tab” feature and let Vertical Tabs force Obsidian to always open in new tabs. Also, you can let Vertical Tabs to deduplicate tabs for you. This works everywhere, not just when you click links or open notes from the file browser, but also when you open new notes from commands, plugins, or ribbon icons.

The exact behavior, with ephemeral tab OFF, always open in new tabs ON and deduplicate tabs ON, is,

  • All opened tabs will not be replaced;
  • When you click a new link or open a new note (from the file browser or anywhere else), a new tab is opened with the new content;
  • When you try to reopen an already-opened note, it will be navigated to that note, without showing a duplicated tab;
  • When you click a link inside a note that points to another location in the same note, it will jump to that point without duplicating the tab or reopening the file.

See the demo below. Please note: in the videos, you can only see one horizontal tab because I hided all except the active one. This is a feature of Vertical Tabs, aiming for making the workspace cleaner and more easier to navigate. You can disable this “hiding inactive tab” feature if you don’t like it.

demo2

1 Like