如何将给定文件类型的应用程序添加到“打开方式”菜单(右键单击后显示),而又不使该文件始终与该应用程序一起打开?
在此特定实例中,我想选择使用TextEdit打开网站位置(.URL)文件,同时仍默认使用Safari。
我正在运行OS 10.7.4。
如何将给定文件类型的应用程序添加到“打开方式”菜单(右键单击后显示),而又不使该文件始终与该应用程序一起打开?
在此特定实例中,我想选择使用TextEdit打开网站位置(.URL)文件,同时仍默认使用Safari。
我正在运行OS 10.7.4。
Answers:
将此添加到CFBundleDocumentTypes数组中/Applications/TextEdit.app/Contents/Info.plist
:
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>url</string>
</array>
</dict>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/
killall Finder
如果应用程序已签名,则修改Info.plist 会使代码签名无效。它还使诸如TextEdit和WriteRoom之类的一些应用程序在10.8上启动时崩溃。
尝试在Finder中选择文件,然后执行文件>获取信息。从那里您应该可以选择任何应用程序来打开它。一旦在该应用程序中打开了该类型的文件,该文件应开始出现在“打开方式”菜单中。
编辑:上面的答案不起作用。替代建议:
我的上一个答案不正确,让我感到很难过,因此我四处搜寻。我从Mac OS X提示中找到了这个技巧:
- 按住Control键单击(或右键单击)有问题的应用程序,然后选择“显示包内容”
- 打开应用程序捆绑包中的目录文件夹。在那里您将找到一个名为Info.plist的文件。这是一个XML属性列表,用于存储有关该应用程序的各种信息。
- 用您喜欢的文本编辑器打开文件。我建议使用Hydra,但TextEdit会很好。
搜索类似于以下内容的内容:
<key>CFBundleTypeExtensions</key> <array> <string>txt</string> <string>srt</string> <string>suffix1</string> <string>suffix2</string> …
依此类推,只要有足够的能力,应用程序就可以打开标签中包含的内容。然后,您只需删除[ 或添加--newtron ]后缀,以表示您不希望[ 或想要 ]应用程序打开的项目。
保存文件,然后将其关闭(或退出编辑器)。
newtron的第二个解决方案对我有用,但是仅在我打开Terminal并执行以下命令之后:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
重新启动系统后,所需的应用程序位于我的“打开方式”上下文菜单中。
谢谢
您可以使用Automator将选项添加为服务,然后使用Keyboard Maestro的热键触发该选项。
Automator
并选择Service
文档类型。Files and Folders
在顶部Service receives selected
菜单Open Finder Items
操作。TextEdit
在Open with:
您现在可以通过以下方式找到它:
要么
但是您不必在此停下来!
然后,我制作了Keyboard Maestro宏,以便可以使用热键来做到这一点:
我从以下站点获得了这个想法:http : //www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html
newtron解决方案的一项后续措施:
在那里您将找到一个名为Info.plist的文件。这是一个XML属性列表,用于存储有关该应用程序的各种信息。用您喜欢的文本编辑器打开文件。我建议使用Hydra,但TextEdit会很好。
保存文件,然后将其关闭(或退出编辑器)。
如果您的帐户没有正确的权限(我现在正在处理的问题-即使在管理员状态下,您也不会对某些文件和文件夹具有读写权限),则无法保存编辑后的.plist。 )。要将更改保存到.plist文件,您需要授予用户读写权限。
一些默认的Mac应用程序使此操作很难执行,我目前正在寻找一种解决方案(将更新)以使用TextEdit进行此操作。
这对我有用:右键单击您的应用程序并转到内容,然后打开/Applications/*****.app/Contents/Info.plist
在Xcode中打开Plist作为SourceCode,然后将其放置:
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>jpeg</string>
<string>jpg</string>
<string>png</string>
<string>gif</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>AutomatorApplet.icns</string>
<key>CFBundleTypeName</key>
<string>AutomatorApplet.icns</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>GIFf</string>
<string>JPEG</string>
<string>PNGf</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
我在资源文件夹中有“ AutomatorApplet.icns”。
请访问tech-recipes.com以获取详细说明。正如@Anriëtte指出的,如果该应用程序可以打开特定文件,则应显示在“打开方式”菜单上。