Finder中“正在获取...”行为优胜美地中的“打开方式”菜单


42

我不知道其他人是否在优胜美地注意到了这一点:

当Finder中的文件处于焦点位置时,将光标移动到“打开方式”条目时,无论是从上下文菜单还是菜单栏->“文件”,都会出现“正在获取...”子条目。

Finder右键单击打开并获取截图

片刻之后,像以前的OS X版本一样,出现了通常的可疑对象。

Finder右键单击FETCHED打开屏幕截图

我认为这种行为应该有所改善。由于/Application/***.app/Contents/Info.plist是实时获取的,因此用户不再需要重置LaunchServices即可显示相关更改。这是我的推测。

但是,这给我带来了问题。我通过applescript或BetterTouchTool创建键盘快捷方式,以调用菜单栏->文件->打开方式->某些应用程序。

这样,我对FN + SHIFT + 1进行了编程,以使用TextMate,FN + SHIFT + 2 for Writer Pro等打开文件。

1)需要将光标放在“打开方式”上以触发提取,以及2)提取延迟会导致我的脚本无效。

我可以通过以下方法验证此理论:1)右键单击文件,1)将鼠标悬停在“打开方式”条目上,3)等待子菜单获取,4)单击上下文菜单之外使其消失,5)并调用键盘快捷键。

并且快捷方式有效。

所以这是我的问题:

1)显然,我可以恢复到优胜美地之前的行为吗?

2)有没有人有聪明的方法来干净高效地按需打开带有多个应用程序的文件类型?

更新:

到目前为止,我有一个解决方法,即创建一个Automator服务。这是TextMate的示例:

服务

我可以通过1)菜单栏-> Finder->服务->使用TextMate打开,2)上下文菜单的顶层或3)键盘快捷键(如果我选择)来立即运行。

上下文菜单

这有两个警告:

1)接收到服务中的项目必须尽可能宽泛地定义,例如文件和文件夹。Finder无法将例如.plist文件识别为文档。如果将服务设置为仅接收文档,则当您想在.plist文件中使用“ 打开时使用TextMate”将不会显示。

2)由于(1),此菜单项显示在Finder中的每个项目上。如果只有一个或两个自定义条目,那么这是无害的。如果有六个或七个,这组项目将接管上下文菜单。


我也知道了,但对我来说,弹出列表要花一点时间,有时却不会。我正在使用配备16GB内存的2012年末Mac mini,因此运行起来应该并不难!
Jay B.

如何使它显示在顶层菜单中,而不只是显示在“服务”子菜单中?
挪亚

我认为,@ Noah在“服务”菜单中只有很少的项目时,会像这样显示而没有子菜单。
diimdeep

Answers:


65

我遇到了类似的问题,“抓取中...”花了很多秒钟。我只是使用以下命令重置启动服务:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r -f -v -domain local -domain user -domain system

1
似乎有效;)
Toby

1
这样可以解决“抓取中...”和向我呈现的可用列表之间的时滞(有时约为1分钟)
Erin Drummond

这也为我解决了。在此修复程序之前,当最终获取列表时,选择“其他...”将是令人难以置信的缓慢和缓慢,这使我的CPU在finder进程中的运行速度为70%。
mewm 2015年

2
是的,此问题已解决...但是几天后又回来了。这不是永久性的解决方案
Pujan Srivastava 2015年

工作第一枪...我什至没有想到这样做!哈哈!我认为这是我安装的Adobe新产品:P
Adrian Sluyters,2015年

2

在一切解决之后(聚光灯索引已完成,使用不同的用户名重新启动了几次),一切都解决了,“获取”延迟消失了,在不到2秒的时间内打开了弹出菜单。但是某些条件(例如安装新磁盘)似乎会使延迟再次增加。

如果延迟增加(/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r -f -v -domain local -domain user -domain system),则从第一条评论重置“启动服务”确实有效。执行命令时,您可以在控制台中看到

LaunchServices:开始数据库播种”

“ ...完成了数据库播种”

有时需要一整分钟才能重置/重建!执行命令时,终端窗口中还会出现一些错误消息(例如,注册Livecode应用程序的社区版本)。

在Apple修复某些将来更新的延迟之前,将reset launch services命令放在诸如Lingon之类的命令中并如此频繁地运行可能是一种方法。


1

当我连接了一段时间未使用的Time Machine磁盘时,我注意到了这一点。如果磁盘处于睡眠状态,然后单击鼠标右键,则上下文菜单中将显示“正在获取”。然后,我听到HDD醒来,旋转一秒钟,然后终于填充了“打开方式”菜单。

当我没有连接外部驱动器时,看不到此行为。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.