2012-07-28 42 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