2012-07-28 57 views
7

我正在制作一个QuickLook插件,它将包含在我的应用程序中。它将用于预览其他应用程序也具有QuickLook插件的文件类型。每次我尝试使用我的插件进行测试时(我将它放入〜/ Library/QuickLook /),它会预览另一个应用程序的插件。我正在使用qlmanage预览。有没有办法迫使它使用我的,至少是用于测试?更喜欢我的QuickLook插件

回答

6

嵌入到应用程序中的发生器总是比〜/ Library/QuickLook中的插件(它优于/ Library/QuickLook中的插件)优于/ System/Library/QuickLook中的插件。

没有办法改变这个优先级。同样,如果同一级别的两台发电机声称具有相同类型的文件,则Quick Look会优先选择其中一个,无论哪一个无法控制。

至少对于您的测试,您可以使用-g选项强制qlmanage使用所需的插件(但您还必须使用-c指定内容类型)。

尝试qlmanage -h以获得测试的所有选项。

3

尽管@julien描述的优先顺序是准确的,但仍可以覆盖特定应用程序的QL提供程序。只需编辑违规应用程序的.qlgenerator中的Info.plist文件即可。例如,我喜欢某个QL提供商处理降价的方式,但我已安装的其中一个文本编辑器包含(imho)少于恒星减价支持。我的首选包丢失......直到我编辑:

/Applications/BadMarkdown.app/Contents/Library/QuickLook/BadMarkdownQL.qlgenerator/Contents/Info.plist 

,并删除

<string>net.daringfireball.markdown</string> 

而在OS X的新版本,你甚至不需要重启QL守护进程。首选的QL工具只是接管。 = D

+0

这是唯一可行的答案。修改了要覆盖的生成器的Info.plist文件后,使用'qlmanage -r'刷新QuickLook服务器,然后使用'qlmanage -m plugins | grep zip“(以.zip为例),找到哪个插件接管了你想要分配的扩展名。 – 2017-03-30 03:50:04