Mac OS X 中被忽视的1项强大功能 - 服务
前言
最近LaunchBar用的顺手,非常喜爱 Instant send 功能,很多日常操作都想通过它实现跨app的数据通讯,提高日常开发效率。
正好最近有这么1个 小事,花了点时间研究以后,觉得发现mac下1个很了不起的功能被大家忽视了。
那就是服务功能,我作为1个老mac用户,日常使用中都没怎么用过。Google了下关键字 “Mac OS X 服务”,发现完全对不上,用英文的关键字“Mac OS X services”搜索才匹配到相关信息。
说到这里大家不禁要问,mac下的服务是什么?应用场景是什么?下面就给大家介绍1下这个强大功能
服务
万能 Google 并没有找到 Mac OS X 服务这个功能的历史,只找到了相关介绍,其中苹果开发者介绍页面是这样说的
Services are features exported by your application for the benefit of other applications. Services let you share the resources and capabilities of your application with other applications in the system.
翻译过来就是服务给你mac系统提供了跨应用之间服务和能力共享的功能。
那么服务在哪呢?紧接说
Users access services through the Services menu that’s found in every application’s application menu. An application does not need to know in advance what operations are available; the application merely needs to indicate the types of data it uses. The Services menu will make available the operations that apply to those types when they apply
用户可以在每个应用的 应用菜单里面找到服务菜单访问服务。
举个例子,在TextEdit应用中输入一段文本并选中
可以看到TextEdit当前可以使用的服务有这么多。
当然,也可以选中文本右右键,针对当前选中的文本的服务如下
那么mac系统默认提供了多少服务呢?
在“服务偏好设置”中,打开“键盘”设置,点击“快捷键”标签可以看到
有这么几大类别的服务,把每个类别下的服务看一遍,发现系统提供的服务其实非常少。这和LaunchBar的问题一样,功能很诱人,但是默认选项并不多,让人没办法快速上手。
还好苹果提供了automator 可以让用户自己编写服务。下面举个例子来说明
实现1个服务
在日常工作中,有时候需要在命令行下快速切换到1个指定的目录,以前的方法是在命令行中不断的cd,然后选择下1层子文件夹在继续cd
今天写1个服务,实现在Finder选中文件夹得到路径的功能
首先用 Automator 新建1个服务
修改服务收到的内容为文件或者文件夹
查找“拷贝至剪贴板”功能,并拖到右侧工作流定制区域
按住command + s
或者点击菜单栏文件中的保存选项
输入文件名Copy Folder Path保存
至此就开发完了。接下来看演示功能
是不是超级简单?
扩展
先不急着关闭Automator程序,把左侧的资源库浏览一下,发现常见的日常系统级应用都提供了便捷的服务。
另外很有意思的1个流程是
可以执行脚本,很多定制化的功能可以通过编写代码实现!!!
比如:
- 备份文件到云空间
- MD5加密选中的文本
- 发布选中的文本内容到博客平台
- Google查找选中的文本
- …
大家可以观察日常使用中哪些操作可以用服务形式来提供,发挥想象力,提高生活质量