分享一个Windows右键直接用Obsidian打开文件夹的小工具
最近在用Obsidian的时候,总是遇到一个小困扰:想要把某个项目文件夹或者资料文件夹快速在Obsidian中打开作为vault,但是每次都要先打开Obsidian,然后选择"打开文件夹作为保险库",再一层层点击找到目标文件夹。
作为一个懒人,我觉得这个过程太繁琐了,于是花了点时间写了个小工具,现在可以直接在任意文件夹上右键,选择"Open with Obsidian"就能立即用Obsidian打开这个文件夹。
为什么要做这个工具
平时工作中经常需要在不同的项目文件夹之间切换,比如今天在整理学习笔记,明天要处理工作文档,后天又要看看个人项目的资料。之前的流程是:
-
打开Obsidian
-
文件 → 打开保险库 → 从文件夹打开保险库
-
在文件选择器里找到目标文件夹
-
确认打开
现在的流程变成了:
-
在目标文件夹上右键
-
选择"Open with Obsidian"
-
完了
技术实现思路
这个工具主要做了两件事:
1. 注册表添加右键菜单
通过修改Windows注册表,在文件夹的右键菜单中添加了两个入口:
-
在文件夹上右键:显示"Open with Obsidian"
-
在文件夹内空白处右键:显示"Open this folder in Obsidian"
2. 自动修改Obsidian配置
Obsidian的vault信息存储在 %APPDATA%\obsidian\obsidian.json 文件中。工具会:
-
读取现有的配置文件
-
为新文件夹生成唯一的vault ID(用MD5哈希的前16位)
-
将新文件夹添加到vault列表中
-
设置为当前活跃vault
-
启动Obsidian
关键的配置格式是这样的:
{
"vaults": {
"vault_id": {
"path": "C:\\Users\\YourName\\Documents\\SomeFolder",
"ts": 1692000000000,
"open": true
}
}
}
使用体验
安装之后的使用非常简单。比如我桌面上有个"读书笔记"文件夹,直接右键选择"Open with Obsidian",几秒钟后Obsidian就自动打开了这个文件夹作为vault。
最方便的是,即使这个文件夹之前从来没有在Obsidian中打开过,工具也会自动把它添加到vault列表中,下次可以直接从Obsidian的vault切换器中选择。
安装使用
预编译版本
如果不想折腾代码,可以直接下载编译好的版本:
-
去Github的Releases页面下载压缩包
-
解压后以管理员身份运行安装程序
-
安装程序会自动找到Obsidian路径并配置右键菜单
从源码构建
技术向的朋友也可以自己编译:
git clone https://github.com/RavenHogwarts/obsidian-folder-opener.git
cd open-folder-with-obsidian
pip install -r requirements.txt
build.bat
一些技术细节
Obsidian路径查找
安装程序会在这些位置查找Obsidian:
-
注册表中的卸载信息
-
常见安装路径(Program Files等)
-
用户自定义路径
卸载
如果不需要了,删除也很简单:
-
运行项目中的
remove_obsidian_context_menu.reg文件移除右键菜单 -
从Obsidian安装目录删除
open_folder_with_obsidian.exe文件
开源地址
项目已经开源在Github:GitHub - RavenHogWarts/obsidian-folder-opener: 一个Windows右键菜单工具,让您可以直接用Obsidian打开任意文件夹作为vault
欢迎提交issue和PR,也欢迎大家提建议。
这个小工具虽然功能简单,但确实解决了我日常使用Obsidian的一个痛点。如果你也有类似的需求,不妨试试看。有什么问题可以在下面评论,我会尽量回复。