第三方右键插件
第三方右键插件(Shell Extensions) 是别的软件装进系统的右键菜单项——网盘的「分享链接」、杀毒软件的「扫描」、7-Zip 和 TortoiseGit 那几条。tessoa 的右键菜单里会把它们和自己的项一起列出来。本页讲它们出现在菜单的什么位置、怎么让某一条不再出现,以及怎么决定哪些插件值得为它多等一会儿。
本页只适用于 Windows。macOS 和 Linux 上 tessoa 的右键菜单是自己拼的一张动作表,没有第三方插件这回事。
它们出现在菜单的哪里
右键菜单分两段:上半段是 tessoa 自己的项,第三方项接在下面。第三方项的顶层行左缘画着一根细竖条,标明这一条来自系统而不是 tessoa;进入它的子菜单后不再逐行重复。还在加载的占位行也带着这根竖条,从第一帧起就在。
两段不是同时出现的。tessoa 自己那半立刻画出来,第三方那半要去问系统,通常要几百毫秒。所以本次运行第一次右键单击这类目标时,你会先看到几行灰色的占位,内容读回来之后再填进去,行高弹开、文字淡入。这期间那几行写着 正在加载这个扩展…;某一条实在读不出来,它会写 加载失败——这一次没能把它读出来。
第二次开始,tessoa 记得上一次那几行是什么,菜单打开的第一帧就是最终的样子,回包只是把内容填进已经站好的位置,不会当着你的面重排。
读这些插件是在一个单独的进程里做的。某个插件卡死或者崩溃时,没的是那个进程,tessoa 的窗口一帧都不会掉,这次的菜单里就当没有这一段。tessoa 自己的项永远先画出来,不等它们。
让某一项不再出现
不想在菜单里看到某一条——不管它是第三方的还是 tessoa 自己的——去右键菜单顺序那一页,把这一行最右端的开关点灭。这一维只管 tessoa 的菜单画不画它,不动系统里的任何设置,别的程序的右键菜单照旧。
点灭的行不会从那一页上消失,还留在原来的位置上,随时可以点回来。
决定哪些插件被加载
有些插件只是注册表里的一行字,系统直接读得出来,不花什么时间;有些则要把一个 DLL 加载进来,才知道它想往菜单里放什么。后者是右键菜单慢下来的原因,也是这一页要管的东西。
- 打开 设置,找到 操作 这一组,单击 第三方右键插件。
- 在列表里找到要调整的那一条。上面的筛选框按插件名或者 DLL 文件名过滤。
- 单击这一行右端的按钮,从四档里选一档。
清单分成两组:
| 分组 | 里面是什么 |
|---|---|
| 会加载 DLL 的插件 | 要加载代码才能问出菜单项的,每行右边写着它的 DLL、大致耗时和内存 |
| 不拖慢菜单的项 | 注册表里就能读全的,标着 无需加载。这一组下面写着 系统直接读取这些项,不加载任何插件,因此没有可调的档。 |
四个档位从轻到重:
| 档位 | 含义 |
|---|---|
| 自动(跟着实测走) | 由 tessoa 按这个插件实际的耗时和内存决定,机器情况变了它跟着变。收起来之后按钮上写的是当前推到了哪一档,例如 自动(常驻内存) |
| 常驻内存 | 加载之后留在内存里,之后每次右键都快,代价是一直占着那点内存 |
| 每次重新加载 | 用完就放掉,省内存,每次右键要重新加载一次 |
| 不加载 | 完全不加载它,它的菜单项从此不出现 |
行尾的耗时和内存是估算值,用来比较哪一条更花时间、更占内存,不是精确测量;而且要进过一次右键菜单之后才有数——没进过的行那两格是空的,页面上那句提示写的就是这件事。装了新软件之后单击 重新扫描 重新列一遍。
右键菜单顶部搜索框右端那枚 ⋯ 直接打开这一页。看见某个不认识的程序往菜单里塞了东西时,不必先记住它叫什么再去设置里翻。
全部关掉
设置的右键菜单顺序页顶部有一枚 显示第三方右键菜单项,默认开着。关掉之后 tessoa 的右键菜单里只剩它自己的项,一个第三方 DLL 都不会因为你右键而被加载。