Overview Version History Q & A Rating & Review
Obsidian Graph View
Display an Obsidian-style relationship graph of Markdown files in VS Code. It automatically scans all .md files in your workspace, parses [[wiki-style]] double brackets and standard Markdown links to build nodes and edges, and renders an interactive force-directed graph.
✨ Features
Auto Parsing
Recursively scans all .md files in the workspace (skips hidden directories such as .obsidian)
Recognizes Obsidian double brackets : [[filename]], [[filename|alias]], [[filename#heading]]
Recognizes standard Markdown links (text + path in parentheses): 3 forms — root / subdirectory / folder style
Subdirectory files are fully supported: node IDs use relative paths (e.g. sub/file), click to open the correct file
Link resolution strategy: exact match → folder fallback ([[foo]] → foo/index.md) → basename fuzzy match → same-directory priority
Dangling links (pointing to non-existent files) are silently ignored
Edges are automatically deduplicated — no duplicate links between the same pair of nodes
Visualization Layout
Nodes start randomly scattered within a circular area (uniform distribution)
Force-directed simulation : repulsion between nodes + spring forces along edges + weak center attraction
After release, all nodes are pulled back to a uniform circular layout by the circular restoring force
Zoom level is fully independent from graph shape
Interaction
Scroll wheel zoom : centered on the cursor, with a smooth step
Drag a node : the dragged node is pinned; its edges stretch like rubber bands and pull connected nodes along
Click a node : opens the corresponding Markdown file's VS Code native preview via markdown.showPreview
Drag empty background : pan the whole graph without changing zoom or shape
Mouse hover : shows a glassmorphism filename label above the hovered node (visible at any zoom level)
UI Features
Dark / light theme : auto-adapts to the current VS Code theme on open; can be toggled manually with the button in the top-left corner
Glassmorphism label: semi-transparent background + double-layer stroke + text shadow
When zoomed in past zoom > 1.5, file names stay displayed below nodes; hidden when zoomed out to reduce visual clutter
🚀 Usage
Open the Graph (4 ways)
Editor title bar icon — open any .md file; a graph icon appears on the right of the title bar
Explorer title bar icon — a graph icon appears at the top of the Explorer panel
Explorer context menu — right-click a .md file or folder → choose "Open Obsidian Graph View"
Command Palette — Ctrl+Shift+P (macOS: Cmd+Shift+P) → type "Open Obsidian Graph View"
In-graph Operations
Action
Behavior
Scroll wheel up / down
Zoom in / out centered on the cursor
Press and drag a node
Move the node; connected edges produce a rubber-band effect; layout restores to a circle on release
Click a node (no drag)
Open the corresponding Markdown file in VS Code's native preview
Hover a node
Show a glassmorphism label with the file name
Press and drag empty background
Pan the whole graph view
Top-left "🌙 / ☀️" button
Manually toggle dark / light theme
⚙️ Configuration
Open Settings (Ctrl+,, macOS: Cmd+,) → search "Obsidian Graph View" to independently control the visibility of the three graph entry buttons:
Setting
Type
Default
Description
obsidianGraphView.showInEditorTitle
boolean
true
Show the "Open Obsidian Graph View" icon in the Markdown editor title bar
obsidianGraphView.showInExplorerTitle
boolean
true
Show the "Open Obsidian Graph View" icon in the Explorer panel title bar
obsidianGraphView.showInExplorerContext
boolean
true
Add "Open Obsidian Graph View" to the Explorer right-click menu
Changes take effect immediately — no VS Code restart required. The Command Palette entry is always available and is not affected by these settings.
⚠️ Known Limitations
Edges are undirected (no arrows)
Dangling links (pointing to non-existent [[file]]) are silently ignored
Double bracket aliases ([[name|alias]]) currently use only the name part as the node ID
When multiple files share the same name, "same directory first" disambiguation is used; in other cases an unintended file may be picked
If you encounter any issues, find bugs, or have feature suggestions, please open an issue on GitHub:
📦 Release Notes
0.0.1
Initial release. Features include:
Basic graph rendering (circular scatter + force-directed simulation + circular restore)
Node dragging + rubber-band edges
Cursor-centered scroll-wheel zoom
Click-to-open in VS Code's native Markdown preview
Drag empty space to pan the graph
Subdirectory file support
Standard Markdown link recognition
Dark / light theme (auto-adapt + manual toggle)
Hover glassmorphism label
4 entry points (editor title bar / Explorer title bar / context menu / Command Palette)
3 entry positions configurable via obsidianGraphView.showIn*