vscode配置右键打开文件夹
一直苦恼vscode怎么没有右键打开文件夹的功能,原来是因为当初安装时没有勾选这个配置项。
所幸可以通过手动增加注册表来实现。
过程
随处创建一个注册表文件,其名就叫vsCodeOpenFolder.reg吧,vsCodeOpenFolder.reg
的内容为:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="Open with Code"
"Icon"="C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\""
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@="Open with Code"
"Icon"="C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@="\"C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%V\""
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
@="Open with Code"
"Icon"="C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command]
@="\"C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%V\""
注意方括号[]
内的路径为注册表路径,这个不能变,等于号=
后的路径时是自己安装的vscode所在的路径,默认下只需将用户名部分改成自己的即可。
保存文件,点击运行即可。
原理
不太理解windows的注册表,这里根据字面意思已经注册表编辑器regedit
的观察来分析。先看注册表路径:
[HKEY_CLASSES_ROOT\*\shell\VSCode]
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command]
区别是*
, Directory
, Directory\Background
。根据字面意思和实际观察可以确认分别是:
-
*
: 任意类型的普通文件 -
Directory
: 目录 -
Directory\Background
: 背景,没有目录或文件的地方。
再加上\shell
,这三个注册表路径分别用于上述三个位置的右键菜单配置。再后面的VSCode
为新加的右键菜单项,VSCode\command
为该右键菜单项所启动的命令。
然后看一个右键菜单项是如何配置的:
[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="Open with Code"
"Icon"="C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\""
路径VSCode
下有两个值,@
是默认值,这里是菜单项名称,Icon
是菜单项图标。这两个值都是右键菜单里看得到的。
路径VSCode\command
下有一个值,@
是默认值,这里是菜单项所执行的命令,值为"C:\\Users\\Sungeek\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe" "%1"
,其实就是执行路径程序,%1
应该就是以当前文件作为参数的意思。
到这里就明朗起来了,一开始用到的注册表文件里做的事情就是为VSCode在三个位置创建右键菜单项,右键菜单项所执行的命令就是使用VSCode打开对应的文件或目录。
根据这个知识,自己定义右键菜单就成为了可能。
扩展运用
- 定义自己的右键菜单项
- 删掉不用的右键菜单项
有的程序都卸载了他的右键菜单项还在阴魂不散,其实就是他的注册表没有被清理,这里自己根据右键菜单的出现位置,在注册表编辑器里找到对应的路径并删掉 对应的程序的项即可。