Skip to content

第三方右键插件

第三方右键插件(Shell Extensions) 是别的软件装进系统的右键菜单项——网盘的「分享链接」、杀毒软件的「扫描」、7-Zip 和 TortoiseGit 那几条。tessoa 的右键菜单里会把它们和自己的项一起列出来。本页讲它们出现在菜单的什么位置、怎么让某一条不再出现,以及怎么决定哪些插件值得为它多等一会儿。

本页只适用于 Windows。macOS 和 Linux 上 tessoa 的右键菜单是自己拼的一张动作表,没有第三方插件这回事。

它们出现在菜单的哪里

右键菜单分两段:上半段是 tessoa 自己的项,第三方项接在下面。第三方项的顶层行左缘画着一根细竖条,标明这一条来自系统而不是 tessoa;进入它的子菜单后不再逐行重复。还在加载的占位行也带着这根竖条,从第一帧起就在。

两段不是同时出现的。tessoa 自己那半立刻画出来,第三方那半要去问系统,通常要几百毫秒。所以本次运行第一次右键单击这类目标时,你会先看到几行灰色的占位,内容读回来之后再填进去,行高弹开、文字淡入。这期间那几行写着 正在加载这个扩展…;某一条实在读不出来,它会写 加载失败——这一次没能把它读出来

第二次开始,tessoa 记得上一次那几行是什么,菜单打开的第一帧就是最终的样子,回包只是把内容填进已经站好的位置,不会当着你的面重排。

备注

读这些插件是在一个单独的进程里做的。某个插件卡死或者崩溃时,没的是那个进程,tessoa 的窗口一帧都不会掉,这次的菜单里就当没有这一段。tessoa 自己的项永远先画出来,不等它们。

让某一项不再出现

不想在菜单里看到某一条——不管它是第三方的还是 tessoa 自己的——去右键菜单顺序那一页,把这一行最右端的开关点灭。这一维只管 tessoa 的菜单画不画它,不动系统里的任何设置,别的程序的右键菜单照旧。

点灭的行不会从那一页上消失,还留在原来的位置上,随时可以点回来。

决定哪些插件被加载

有些插件只是注册表里的一行字,系统直接读得出来,不花什么时间;有些则要把一个 DLL 加载进来,才知道它想往菜单里放什么。后者是右键菜单慢下来的原因,也是这一页要管的东西。

  1. 打开 设置,找到 操作 这一组,单击 第三方右键插件
  2. 在列表里找到要调整的那一条。上面的筛选框按插件名或者 DLL 文件名过滤。
  3. 单击这一行右端的按钮,从四档里选一档。

清单分成两组:

分组里面是什么
会加载 DLL 的插件要加载代码才能问出菜单项的,每行右边写着它的 DLL、大致耗时和内存
不拖慢菜单的项注册表里就能读全的,标着 无需加载。这一组下面写着 系统直接读取这些项,不加载任何插件,因此没有可调的档。

四个档位从轻到重:

档位含义
自动(跟着实测走)由 tessoa 按这个插件实际的耗时和内存决定,机器情况变了它跟着变。收起来之后按钮上写的是当前推到了哪一档,例如 自动(常驻内存)
常驻内存加载之后留在内存里,之后每次右键都快,代价是一直占着那点内存
每次重新加载用完就放掉,省内存,每次右键要重新加载一次
不加载完全不加载它,它的菜单项从此不出现

行尾的耗时和内存是估算值,用来比较哪一条更花时间、更占内存,不是精确测量;而且要进过一次右键菜单之后才有数——没进过的行那两格是空的,页面上那句提示写的就是这件事。装了新软件之后单击 重新扫描 重新列一遍。

小技巧

右键菜单顶部搜索框右端那枚 直接打开这一页。看见某个不认识的程序往菜单里塞了东西时,不必先记住它叫什么再去设置里翻。

全部关掉

设置的右键菜单顺序页顶部有一枚 显示第三方右键菜单项,默认开着。关掉之后 tessoa 的右键菜单里只剩它自己的项,一个第三方 DLL 都不会因为你右键而被加载。

tessoa 用户文档