咱们先来吐个槽:Windows 的右键菜单有多反人类?

  |   0 评论   |   8 浏览

兄弟们,回想一下,你是不是经常遇到这种情况:

  1. 装的软件越多,右键菜单越长。 什么压缩软件、杀毒软件、播放器、IDE,一个个都往上挤,找个东西得滚半天,跟老太太的裹脚布似的。

  2. 反应慢,巨卡顿。 有时候急着想对一个文件干点啥,结果右键点下去,菜单要等个一两秒才慢悠悠地弹出来,血压瞬间就上来了。

  3. Win11 的“负优化”。 升级到 Win11,微软说为了“简洁”,把好多常用功能都塞到了“显示更多选项”里。结果就是,我们这些“高效率”用户,每次都得多点一下,简洁了个寂寞,效率反而低了。

  4. 想自定义?门都没有。 想删掉那些用不着的选项?对不起,请您去钻研深奥的注册表大法,改错一个键,系统可能就得重装了。

总之,原生的右键菜单,对于我们这种天天跟电脑打交道的人来说,就是个效率黑洞。

神器登场:Shell,一个快如闪电的右键菜单“魔改”工具

就在我忍无可忍的时候,在 GitHub 上闲逛,让我发现了这个项目:Shell

  • GitHub 地址: https://github.com/moudey/shell

  • 官网: https://nilesoft.org/

简单来说,它就是一个让你完全掌控右键菜单的工具。我研究了一下,这玩意儿牛逼的地方主要在几个点:

  • 快,快到离谱。 它是用 C++ 写的,没有依赖任何乱七八糟的框架,体积小到只有几 MB,启动和响应速度几乎是瞬时的。右键一点,菜单“啪”就出来了,丝般顺滑 1。

  • 开源,免费,没广告。 作者是个明白人,代码放在 GitHub 上,用的是 MIT 协议,大家可以放心用,随便折腾 2。

  • 绿色,免安装。 下载下来是个压缩包,解压就能用,不想用了直接删掉文件夹就行,不在你系统里留下一丁点垃圾。对我们这种有系统洁癖的程序员来说,简直是福音 1。

  • 配置即代码 (Configuration as Code)。 这点是精髓!它没有图形界面,所有的自定义都是通过修改一个叫 shell.bss 的文本文件来完成的。这意味着什么?意味着你可以用你最熟悉的 VS Code 来配置它,可以把配置文件放进 Git 里做版本管理,还可以轻松地跟同事、朋友分享你的“神级配置”。

别废话,上手教我怎么用

光说不练假把式。下面我带大家一步步把它玩起来。

1. 下载和“安装”

直接去官网或者 GitHub Release 页面下载最新的压缩包。解压到你喜欢的任何地方,比如 D:\Tools\Shell

然后,用管理员权限运行里面的 shell.exe,它会自动把自己注册到系统右键菜单里。第一次运行后,会在同目录找到 shell.nss 文件,接下来我们的所有操作都围绕这个文件展开。

极客小贴士: 如果你用 Scoop 包管理器,那就更简单了,直接一行命令搞定 3:

scoop bucket add extras

scoop install shell

2. 牛刀小试:创建第一个菜单项

这是我们程序员最常用的操作之一了。打开 shell.bss 文件,它默认可能有一些示例,我们可以先清空,然后填入下面的内容:

item(title=‘Hello, World!’ cmd=msg(‘Hello @user.name’))

注意:

  • 编辑任何 nss 文件后,您需要更新更改:按住 ctrl + right-click 在桌面区域或任务栏上强制 Shell 重新加载 nss 文件。或者,您也可以重新启动 Windows 资源管理器 。(实际测试好像没起作用,我直接用shell.exe重启文件管理器Restart Explorer

  • 当您在桌面的空白处按下 right-click 时,结果将如下所示:

3. 进阶玩法:动态、智能的菜单

如果只是加几个快捷方式,那还称不上“神器”。Shell 真正强大的地方在于,它可以根据你选择的文件类型、路径等条件,动态地显示不同的菜单项 2。

举个例子,我们经常需要复制文件的路径,或者复制文件名。用 Shell 怎么实现?如下图, 默认已经可以直接选择了。

保存后,右键菜单就会出现一个“复制”的选项,鼠标放上去,会展开一个子菜单(sub_menu),里面有“复制文件路径”和“复制文件名”两个选项。这里我们用了 PowerShell 来执行剪贴板操作,非常灵活。

menu(type=‘desktop|taskbar’ title=‘Favorites’ image=#00ff00)
{
menu(title=‘Applications’ image=#ff0000)
{
item(title=‘Command prompt’ image cmd=‘cmd.exe’)
item(title=‘PowerShell’ image cmd=‘powershell.exe’)
item(title=‘Registry editor’ image cmd=‘regedit.exe’)
separator
item(title=‘Paint’ image cmd=‘mspaint.exe’)
item(title=‘Notepad’ image cmd=‘notepad.exe’)
}
}

这就是 Shell 的威力所在:它不是一个静态的快捷方式列表,而是一个能理解你当前工作上下文的、智能的工作流自动化引擎

我们这些“善忘”的技术人员,再也不用去记那些复杂的命令行参数了。把常用的工作流,比如编译、打包、部署、代码格式化等脚本,全部配置到 Shell 里,根据不同的文件类型(比如只对 .py 文件显示“运行脚本”)、不同的项目目录(比如在前端项目里显示“npm run build”)来动态展示。

一次配置,终身受益。这才是真正的效率工具。

总结一下

总的来说,Shell 这个工具完美地戳中了我们这类用户的痛点:

  • 性能至上: C++ 原生开发,告别卡顿 。

  • 掌控一切: 通过 shell.nss,你可以精确定义每一个菜单项的每一个细节,包括它的图标、显示条件和执行的命令 。

  • 开发者友好: 配置即代码的理念,让我们能用最熟悉的方式来管理和扩展自己的工具集。

  • 干净纯粹: 开源、免费、绿色,是一个值得信赖和长期使用的好工具 。

它可能不适合所有人,毕竟修改 JSON 文件对普通用户来说还是有门槛的。但对于“善忘技术夹”的各位朋友们——软件工程师、运维、IT Pro 们来说,这绝对是一款量身定做的神器。

它不仅仅是一个右键菜单编辑器,它更像是一个轻量级的自动化框架,能把我们从大量重复、琐碎的命令行操作中解放出来,让我们把脑子用在真正需要思考的地方。

好了,今天就安利到这里。我就是个普通搬砖的,文采不好,大家多担待。强烈建议大家去试试看,然后可以在评论区分享一下你们自己写的牛逼配置,互相学习,共同进步!

传送门:

  • 官网: https://nilesoft.org/

  • GitHub: https://github.com/moudey/shell

善忘技术夹-公众号

评论

发表评论

validate