如何将文件扩展名与内容类型相关联?


9

我有一些扩展名为“ module”和“ inc”的文件,它们是PHP文件。当我尝试打开它们时,可以打开它们的应用程序列表仅显示我设置为默认应用程序的应用程序,即使还有另一个文本编辑器可以打开PHP文件,并且我为其设置了这些扩展名的文件作为PHP文件突出显示。

屏幕截图

如果打开“获取信息”对话框,请在“打开方式”中选择另一个应用程序,然后单击“全部更改...”,得到的内容如下。

屏幕截图

屏幕截图

我想要获得的是以下屏幕快照中显示的内容,该屏幕快照显示了另一种文件的“打开方式”菜单:

屏幕截图

有没有办法将这些扩展名与用于PHP文件的内容类型相关联?
或者,如何在Finder尚未打开的“打开方式”菜单下显示的应用程序列表中显示所有可以打开PHP文件的应用程序?

我将使用RCDefaultApp的屏幕截图说明我想要获得的内容。

屏幕截图

在我的情况下,使用“模块”作为扩展名的文件是一个PHP文件(它是Drupal模块);我想要的是将该扩展名添加到针对“ public.php-script” UTI报告的扩展名中。


我也很想知道这一点 -我最近问过有关SuperUser上的UTI和Launch Services的问题...
bmike

我认为使用RCDefaultApp作为Kungi的答案是这样。但是,如果您认为应将特定扩展名映射到这些内容类型,则可以考虑写信给应用程序制造商以提出包括该扩展名的建议。
阿戈斯

Answers:


3

没有一种安全可行的方法来实现您要执行的操作,因为操作系统的此功能由Launch Services数据库控制。开发人员在首次启动时向操作系统注册其应用程序支持的文件类型。

解决此问题的最佳方法是请开发人员向其应用程序的未来版本中添加对文件扩展名的支持。

如此说来,您已经找到了Apple提供的唯一有据可查的方式来覆盖Launch Services数据库的法令。如果您想更深入,少走路旅行 这里支持一些指针。

有一个.plist文件可管理Launch Services的部分功能,位于:〜/ Library / Preferences / com.apple.LaunchServices.plist

Apple指出,删除此plist可能会清除不需要的“打开方式”上下文菜单选项。但这与您追求的相反。

这是一个二进制.plist,但是您可以将其转换为xml版本,并进行一些试验,以查看是否可以提出一个实现您所追求的目标的方法。这是不可取的,它可能会造成伤害,并且很可能在某个时候被OS覆盖。

在操作系统中还隐藏了一个更名lsregister的工具,该工具可能有助于探索Launch Services的管道。这是lsregister及其选项的有用说明


3

Gerry提到的解决方案的替代方法是RCDefaultApp首选项窗格。它是免费的,让您在系统上设置所有Application-> Content Type,Application-> URL连接。

在RCDefaultApp的“应用程序”窗格中,可以设置当您使用编辑器检查“ php”时特定应用程序支持的文件类型,该文件类型也将显示在“打开方式”菜单中。


不允许向与UTI或内容类型相关联的扩展名添加扩展名。它允许更改打开文件的默认应用程序,这实际上是Finder已经允许的;区别在于,使用RCDefaultApp可以从同一位置(首选项面板)进行更改。
kiamlaluno 2011年

@ kiamlaluno-但您可以创建一个新的module扩展程序,然后将其与您的应用程序关联。或这是什么问题?
Rene Larsen

问题不在于将扩展名与应用程序相关联,该应用程序将成为该扩展名的默认应用程序。问题是自动填充“打开方式”中的应用程序列表。如果您看到我在问题中使用的第三个屏幕截图,则将显示“ .inc”扩展名的Xcode,Dashcode和Console,但是我没有将这些应用程序与该扩展名相关联。
kiamlaluno 2011年

0

在上下文菜单中,选择“获取信息”,在“打开方式:”窗格中选择要使用的程序,然后单击“全部更改...”。


2
我尝试了此操作,但唯一的效果是更改了这些文件的默认应用程序,而我想保留默认应用程序,但在“打开方式”子菜单中显示的应用程序列表中显示了另一个应用程序。
kiamlaluno 2011年
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.