Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Open in ObsidianNew to Visual Studio Code? Get it now.
Open in Obsidian

Open in Obsidian

dnddone

|
1 install
| (0) | Free
Open the current Markdown file in Obsidian via its URI scheme
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Open in Obsidian (VS Code extension)

Adds a command, an editor/explorer right-click item, a keyboard shortcut (Cmd/Ctrl+Alt+O on a .md file), and a status bar button that opens the current file in Obsidian, jumping straight to the right note in the right vault. The status bar button appears at the bottom left whenever a Markdown file is active.

It works by shelling out to obsidian://open?path=<absolute file path>. Obsidian's path parameter searches your known vaults for whichever one contains that path, so you don't need to hardcode a vault name anywhere.

Install from the Marketplace

Search for "Open in Obsidian" (publisher dndd) in the VS Code Extensions view, or:

code --install-extension dndd.open-in-obsidian

Install from source (this repo)

pnpm install
pnpm package
code --install-extension open-in-obsidian-0.0.1.vsix

Reload VS Code. The command, context menu items, and keybinding are now always available in every workspace — no dev host, no per-project setup.

Notes / things to check on your machine

  • First run: Obsidian needs to already know about the vault the file lives in (i.e. you've opened that vault at least once before). It finds the vault by matching the path, so this should already be true for any note you're actively editing.
  • Windows paths: the extension swaps backslashes for forward slashes before encoding, since Obsidian expects /-style paths even on Windows. If path matching still fails on your setup, that's the first thing to double check.
  • Changing the shortcut: edit the keybindings block in package.json before repackaging, or just rebind openInObsidian.open in VS Code's Keyboard Shortcuts UI after installing — no need to repackage for that.
  • Changing where it shows up: the when clauses currently restrict it to .md files. Adjust resourceExtname / resourceLangId in package.json if you want it available more broadly (e.g. also on .mdx).
  • To release a new version: bump version in package.json, commit, then create a GitHub Release with tag v<version> (must match). Publishing the release triggers CI to package and publish to the Marketplace. A plain git push --tags does not trigger it — only a published Release does.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft