背景

作为一个 iOS 开发者,常常需要打开 Xcode 工程项目,一般情况下都是

打开 Finder –> 找到指定目录(多级目录) –> 打开.xcodeproj或者.xcworkspace文件

如此重复繁琐的事件想必是有优化的空间的,这时 Alfred 的 workflow 就派上用场了。

定制 Workflow

新建空白的 Workflow

Input - File Filter

  • 步骤 1 是在新建的空白 Workflow 上右击显示的
  • 步骤 2 中的 File Types 额外添加了.playground文件
  • 若需要指定范围搜索的,可以在步骤 2 中的 Search Scope 设置

Action - Open File

  • 指定用 Xcode 打开文件

连接

  • 作用是当按下回车↩︎时,使用 Xcode 打开
  • 默认情况下在 Alfred 的搜索结果中按下+↩︎通过 Finder 打开当前文件的目录,可在 Alfred Preferences –> Advanced –> cmd + ↩︎ 中设置

使用效果

注意事项

目前 Alfred Workflow 的 File Filter 下的 Search Scope(搜索范围)只支持 “include(包括)” 的区域,不支持 “exclude(排除)” 的区域。File Types 也是一样。因为 Alfred 的文件搜索是通过 OS X 的 Metadata API 实现的,而 Metadata API 只支持 “include(包括)” 功能,不支持 “exclude(排除)” 功能。

Alfred uses the OS X metadata api for file search and this only allows inclusions, not exclusions.

Andrew - Alfred’s Dad

http://www.alfredforum.com/topic/1609-alfred-is-searching-directories-i-dont-want/?p=18249

若真要排除某些文件夹的话,在 Alfredforum 找到个曲线救国的方法,你可以在以下路径

System Preferences –> Spotlight –> Privacy

添加排除的文件夹,然后在 Alfred 上输入reload以刷新其应用缓存,不过这会同时影响到 Alfred 和 Spotlight,导致在 Alfred 和 Spotlight 上都搜索不到该目录。

Do you ever need to search for the contents of these Adobe folders? If you don’t, you can pop open Spotlight’s Privacy preferences and drag the folder there to exclude it from your Mac’s results.

Once you’ve done this, type “reload” into Alfred to refresh his application cache, and you should no longer see the Adobe apps in your results :)

Vero - Alfred’s Mum

http://www.alfredforum.com/topic/8697-how-to-filter-search-results/?p=43104

Andrew - Alfred’s Dad 在 2014 年也表态考虑到 Alfred 整体的用户体验暂无计划支持 “exclude(排除)” 功能,详情可以查看该 链接

类比

在指定的搜索范围内,搜索指定的文件格式,最后在指定应用打开

  • 搜索指定的.sketch文件,并通过 Sketch 打开
  • 搜索指定的文件夹,并在 Finder 中显示

下载链接

参考