如何将单个应用程序(例如,Xcode)与其映射到的所有文件类型取消关联?


5

每次我得到一台安装Xcode的机器时,它都会将自己与各种文件类型联系起来。例如,.xml.rb,甚至.java!必须单独重新关联这些文件扩展名是如此令人讨厌。如果我想打开Xcode,我会打开Xcode,但我绝不想通过双击脚本或使用来打开Xcode open

有没有办法全球解除Xcode与所有文件类型的关联?更一般地说,有没有办法为任何应用程序(例如,QuickTime)执行此操作?

PS:我知道如何更改文件类型关联?但这旨在改变一个特定的关联,而不是一次性禁用它们。

Answers:


2

您可以删除Info.plist中的CFBundleDocumentTypes数组,但它也可用于定义xcodeproj等文件类型。它还会使代码签名无效(因此您必须输入密码才能访问密钥链),更新可能会覆盖更改。如果修改了Info.plist,某些应用程序(如TextEdit)会在启动时崩溃。

要更新Launch Services数据库,请运行/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -R -f /Applications/Application.app/

您也可以通过运行取消注册应用程序lsregister -u -R -f /Applications/Application.app/,但我不知道它是否会在某个时候再次注册。它还会删除应用程序定义的文件类型的图标。

如果您正在寻找更快的方法来更改默认应用程序,请查看duti。我发表我的配置文件(其中包括通用代码和视频文件类型)在这里


0

实际上,我认为你不能。

请参阅,OS X通过查看应用程序的plist文件来建立关联。因此,您必须编辑该plist文件或更改其检测文件类型关联的方式。

可能有直接操作数据库的方法,但可能太难了。试试这个:

右键单击(按住Control键单击)属于您要打开的文件类型的文件,并在显示上下文菜单时按住选项。您将看到“始终打开”,它不会取消关联,但会改变其优先级。


我在Yosemite试图获得崇高的文本2来打开源文件而不是xcode。可悲的是,它没有用。很遗憾,因为这样既方便又易记。
ThinkBonobo 2015年

1
@ThinkBonobo(以及所有网络搜索到达)在Yosemite中,您需要获取文件信息,然后在下拉菜单中选择所需的应用程序并按“全部更改...”以获得此行为。“始终打开”仅适用于单个文件。
reve_etrange 2015年

我曾经发现过如何但却没有报告它。谢谢你抓住了。
ThinkBonobo 2015年

0

我能想到这样做的唯一方法是转到各个文件类型,右键单击并获取信息,下载打开,然后单击要使用的程序并单击全部更改。

另一种方法是右键单击,按住选项,然后始终打开并单击要使用的程序

希望这可以帮助


0

您最好的选择是维护一个shell脚本,将特定文件类型的默认应用程序设置为您喜欢的任何应用程序。然后,您可以随时更改内容。这比编辑Xcode本身的破坏性小,并且比手动更改每种文件类型更省时。

见上面的答案在这里defaults write上的命令com.apple.launchservices.secure.plist。您需要知道文件类型的UTI和应用程序的域名(例如com.mysoft.myapp。)

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.