Neat File Tree

by Neil
5
4
3
2
1
Score: 51/100

Description

VSCode-style sticky folder headers, accent top-level folders, and tinted indentation guides for the Obsidian file explorer.

Reviews

No reviews yet.

Stats

4
stars
1,947
downloads
0
forks
113
days
45
days
45
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
39
commits

Latest Version

2 months ago

Changelog

nft: links gain a second gesture, so one link does both jobs:

  • Single-click — reveals the target in the file tree, seated below its sticky ancestor stack and pulsed. The note you're reading stays put.
  • Double-click — reveals it and opens it.

Double-clicking a folder opens that folder's folder note (the child sharing the folder's name, .md or .base). A folder without one does nothing.

The split uses the click event's click count rather than a timer, so a single click still reveals instantly — no debounce delay was added to the common case.

README file from

Github

Neat File Tree

Small quality-of-life tweaks for Obsidian's file explorer that make a deep, busy vault easier to navigate.

Features

  • Sticky folder headers — parent folders pin to the top as you scroll, stacked by depth, just like VSCode's "sticky scroll". You never lose track of where you are when many folders are expanded.

  • Per-depth color schemes — folder names, their bar, and the indentation guide lines are colored by depth from a scheme you pick: Rainbow (the default), Aurora (anchored to your theme's accent), Ocean, Sunset, Forest, or Mono — chosen from a live preview in settings. Top-level folders stay bold so the roots of your vault stand out.

  • Reveal on open — opening or switching to a file scrolls the tree to it and seats it just below its sticky ancestor stack, with a brief accent pulse. Clicking a pinned sticky header jumps to that folder's real row.

  • nft: links — link to a path from inside a note to reveal it in the file tree without navigating:

    [My projects](nft:Work/Projects)
    [A note](nft:Work/Projects/Roadmap.md)
    

    Single-click scrolls and pulses that file or folder in the tree; the note you're reading stays put. Double-click reveals it and opens it — so one link does both jobs. (Double-clicking a folder opens its folder note, if it has one.) The link is drawn in your colour scheme's colour for the depth it points at, so it matches the row it reveals, with a dotted underline and a ▸ marker to set it apart from a normal link. Percent-encode spaces (Work%20Notes) or wrap the target in angle brackets ([x](<nft:Work Notes>)). Works in Reading view and Live Preview.

Each feature has its own toggle in the plugin settings, plus a Row height field to keep the sticky headers aligned if you use a larger interface font. (nft: links need no toggle — they only do anything if you write one.)

A Base's file column opens the note. To make it reveal in the tree instead, add a formula column — html() lets a Base emit a real link, which the plugin picks up like any other:

formulas:
  reveal: "html(\"<a href='nft:\" + file.path + \"'>\" + file.name + \"</a>\")"

Then use formula.reveal in place of file.name in each view's order: (leave sort: alone — it can keep sorting on file.name), and give formula.reveal the column's displayName. Note a .base file is shared by every note that embeds it.

Install

In Obsidian: Settings → Community plugins → Browse → search "Neat File Tree" → Install → Enable.

How it works

The look is CSS toggled by body classes — no DOM manipulation, no performance cost. The scroll behaviors are a thin layer of plain JS on top. It respects your theme's accent color (--text-accent) and background variables, so it adapts to light/dark and custom themes automatically.

License

MIT