Mac开发必备:如何让Raycast成为你的提效利器?

8,622 阅读10分钟

首先,Raycast是什么?

Raycast是一个macOS上的快速启动器应用,由Raycast Technologies开发,启发于mac系统自带的启动器Spotlight,但是功能远比它的前辈丰富

我们可以通过纯键盘操作,直接在Raycast输入框中调用各种各样的功能,包括但不限于:

  • 一键访问常用网址链接
  • 运行自定义脚本
  • 快速复制粘贴常用文本
  • 检索Clipboard粘贴板

同时,Raycast还支持自定义快捷键绑定不同操作,让上述的功能调用变得更加便捷

image.png

名称解释

Raycast这个名字可以分成两部分来理解:

  • ray:射线,光束;通常我们常听到的x射线的英文名就是x-ray
  • cast:召唤,投掷;Zeus can cast thunder(宙斯神可以召唤雷电)

连在一起的Raycast就是“射线召唤器”,很中二,也符合它作为提效工具的本质

下载启动

  • 支持通过Homebrew安装,也可前往官网直接下载安装包:www.raycast.com/,系统版本要求:macOS 12+

  • 默认启动快捷键为:Option + Space

核心功能

1. Quicklink: 快速启动链接

1.1 通过别名快速查找+访问常用网址

工作中总会有那么几个需要经常用的网页,通常我们可以将这些链接收藏在浏览器的书签中方便下次访问,但是收藏的书签多了再去查找也很麻烦

而且就算有了书签,有时因为页面的交互逻辑,还需要手动执行多次点击链接等操作才能看到想要的内容,实际上很多时候我们只要改下URL中的参数就能到达目标网页,而Raycast的Quicklink功能可以有效解决这个问题

使用方法如下:

  1. 首先通过Create quicklink创建一个Quicklink
  2. 再将需要常访问的链接保存到Link属性中
  3. 然后设置一个别名:Name
  4. 点击Save quicklink完成
  5. 再次访问时就不需要专门到打开浏览器里去点击书签,直接在Raycast中搜索别名检索,然后按下Enter键就可在浏览器中打开链接

Quicklink还支持设置打开链接的浏览器,不改动就使用默认浏览器

Screenshot 2024-08-09 at 17.41.58.pngScreenshot 2024-08-09 at 17.42.23.pngScreenshot 2024-08-09 at 17.42.31.png

1.2 对访问链接设置动态参数

有时我们可能需要访问同个网页的不同分支页面,这些页面的URL基本相同只是部分参数有区别,这种情况下再去创建多个Quicklink就显得有些没必要,我们可以使用Quicklink的参数功能在每次访问时手动输入参数来动态地更新链接

比如,现在我们要访问一个后台日志的网站,它通过URL中的env参数分别区分不同环境

那么我们创建Quicklink时可以只创建一个对象,在link属性中通过花括号插入env参数即可

  • Quicklink的动态参数还支持设置默认值:{argument:defaultVal}

image.png Screenshot 2024-08-11 at 17.23.02.png

1.3 在其他应用中访问URL

Quicklink不仅可以在浏览器中打开URL,还能通过Open With属性指定打开URL的应用实现更多操作,如:在预览中打开本地PDF

2. Snippet: 快速文本生成器

除了经常访问的链接,我们工作中需要重复输入的文本也不少,比如经常访问的域名,复制粘贴的代码块,相似的git commit命令等等,与其每次都花时间自己手动输入重复文本,不如尝试用Raycast的Snippet功能来替我们自动完成

在Raycast中创建Snippet的步骤如下:

  1. 选中Create Snippet打开创建界面
  2. 像之前Quicklink一样设置一个别名Name
  3. 把需要重复输入的文本加入到Snippet一栏
  4. 设置一个Keyword!hh或者^hh,这样在任意位置输入Keyword组合键,它都会自动展开变成Snippet中的文本

Screenshot 2024-08-11 at 17.54.06.png Screenshot 2024-08-11 at 17.58.03.png

Quicklink一样,Snippet同样支持设置参数, 还可以插入日期,设置鼠标光标输入位置等等功能

我个人常用的一个Snippet功能就是用它代替git命令, 一般push代码到GitHub上之前总避免不了这三个命令

git add .
git commit -m 'feat: ###'
git push

其实没必要每次都完整地输入这三行代码,我们可以把这三个git命令通过&&合并到一行,然后在Snippet中设置一个msg参数,需要commit和push的时候根据设置好的Keyword输入!gcm即可

git add . && git commit -m "feat: {argument name="msg"}" && git push

Screenshot 2024-08-11 at 18.00.33.png Screenshot 2024-08-11 at 18.00.53.png

3. Script Command: 一键脚本

纯文本很明显不能满足研发工作中的全部需求,有时候我们需要写脚本来执行更复杂的逻辑,Raycast同样可以帮我们实现这一目标,Script Command可以创建一键脚本

  1. 搜索Create Script command创建脚本
  2. 进入创建脚本页面
    • Template中可以选择脚本语言:包括Bash, Swift, Python,Node.js等
    • Mode用来设置运行脚本在Raycast中的结果窗口展示方式
    • Title代表脚本别名,很关键,决定了如何在Raycast输入框中检索脚本
    • 勾选With argument选项,可以在运行脚本时传入参数

  1. 点击Create Script后会在本地生成对应脚本,之后我们就可以用IDE来进行编辑,初次生成的脚本内容如下所示,步骤2中的参数均可以修改
#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title MyScript
# @raycast.mode fullOutput

# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "Placeholder" }
# @raycast.packageName DevPackage

# Documentation:
# @raycast.description First Raycast Script
# @raycast.author tztztz
# @raycast.authorURL https://raycast.com/tztztz

echo "Hello World! Argument1 value: "$1""
  1. 再次打开Raycast输入刚刚定义的Title脚本名称进行检索,按Enter键运行脚本

个人对Script command的应用:通过shell脚本生成最近15min的日志系统链接,并且自动在浏览器中打开

  • 由于日志系统的时间参数需要传入两个参数值:start_timeend_time,并且只支持timestamp,相比起Quicklink,这里用脚本计算时间后生成日志链接打开更加方便
# Calculate timestamps in milliseconds
current=$(date +%s%3N)
fifteen_min_ago=$((current - 900000))

# Get the first command line argument ($1), which corresponds to process.argv.slice(2)[0] in Node.js
region=$1

# Generate the URL
url="https://web-project.com/log?limit=500&start_time=${fifteen_min_ago}&end_time=${current}"

# Output the URL
echo "Generated URL: $url"

# Open the URL in the default browser
# For macOS:
open "$url"

4. 快捷键设置

快捷键设置是Raycast的提效核心,Raycast本身也是靠快捷键来启动的: Option + Space

通过快捷键组合,本来需要多次交互才能实现的操作现在通过一次按键就能完成

前面提到的Quicklink, Script Command功能都支持设置快捷键,做到无需打开Raycast就能执行

4.1 Quicklink快捷键应用

我们可以将Quicklink与常用的搜索引擎URL相互结合,这样需要进行搜索时无需手动打开网站,一个快捷键即可随时随地进行搜索操作

具体实现步骤如下:

  1. 打开Raycast设置界面(Cmd + ,),选中Extenstions/Quicklinks

  2. 在界面右侧的Quick Search中,勾选Pass selected text as argument选项

    • 这样每次使用快捷键调用Quicklink时,Raycast就会将选中的文字自动用做Quicklink的参数 image.png
  3. Search Google设置快键键: 选中Record Hotkey再在键盘上按下Cmd + Shift + G image.png

    • 这里不一定要选Google,可以改成任何你想用的搜索引擎,比如百度,必应,快捷键组合也可以自定义
    https://www.baidu.com/s?&wd={word}
    https://www.bing.com/search?q={query}
    
  4. 设置完成!试试选中任何文字后再按 Cmd + Shift + G,搜索页面会自动在浏览器中打开,丝滑无比

4.2 Script Command脚本快捷键应用

之前提到的日志脚本,通过Script Command创建完之后需要打开Raycast然后输入脚本名检索,然后才能运行

image.png

通过设置快捷键,我们只要按下^ + Option + D就能一步完成自动运行~ image.png

5. Calculator: 多功能计算器

Raycast自带的输入框计算器功能极为强大,除了支持基础的加减乘除,还提供很多其他有用的功能,如时区,汇率,计量单位的换算

5.1 加减乘除

5.2 不同时区时间转换:如当前东京地区的时间

5.3 货币汇率: 如以太坊经典人民币汇率

5.4 计量单位转换:如1磅等于多少kg?

5.5 日期倒计时: 距离下一个假期还有...

6. Clipboard History: 访问剪贴板历史

工作中需要进行多个不同文本的复制操作时,反复选中然后Ctrl+C/Ctrl+V真的很恶心,好在有Clipboard Histroy可以看到过往的复制对象,按下Enter键即可一键复制

别忘了我们还有Snippet功能,可以在Clipboard Histroy这里直接将常用的文本转换成Snippet方便后续继续使用

image.png

7. Search screenshots: 访问截屏历史

Mac截屏工具固然好用,但是截屏多了在Finder中查找过往截屏也很让人头疼,Raycast同样可以帮我们解决这个问题

通过Search screenshots即可在Raycast窗口中一目了然看到当前所有截屏的缩略图,也支持按下Enter键进行一键复制

8. Window Management: 窗口管理

轻松改变当前窗口大小,实现一键分屏,功能包括但不限于:

  • Left Half/Right Half/Top Half/Bottom Half: 左半/右半/上半/下半 Screenshot 2024-08-12 at 11.40.28.png

Screenshot 2024-08-12 at 11.38.33.png Screenshot 2024-08-12 at 11.43.00.png

Screenshot 2024-08-12 at 11.48.10.png Screenshot 2024-08-12 at 11.39.11.png

  • Maximize/Almsot Maximize/Maximize Width/Maximize Height: 全屏/伪全屏/全宽/全高

image.png

Screenshot 2024-08-12 at 11.38.47.png Screenshot 2024-08-12 at 11.48.49.png Screenshot 2024-08-12 at 11.48.10.png

  • 还有很多其他的窗口管理功能,比如左上1/4,1/6,不一一列举了

Screenshot 2024-08-12 at 11.40.01.png

个人比较常用的是全屏,左半和右半这三个功能,配置上对应的快捷键,需要时一键即可进行分屏

  • 全屏: Option + Cmd + M
  • 左半: Option + Cmd + ←
  • 右半: Option + Cmd + →

image.png

9. Confetti: 屏幕礼花

Confetti是Raycast提供的一个有趣的娱乐功能,能在屏幕上播放礼花动画,支持通过内置Deeplink来运行

image.png image.png

同样支持设置快捷键,试试设置完成后连续按下快捷键,满屏都是礼花颇为壮观

image.png

我开发时会将confetti的deeplink加入到post-commit的Git钩子中,这样每次完成commit都会播放一次礼花动画,为自己的每一份小成就喝彩也很有意义

#!/bin/sh
open raycast://extensions/raycast/raycast/confetti

插件推荐

除了上面分享过的功能,Raycast还有一个丰富的插件生态系统来进一步提升其可用性,以下为我个人常用的优秀插件推荐

1. Kill Process: 一键关闭进程

显示后台所有运行的进程列表,包括进程CPU和内存的占用比例,按Enter键即可Kill进程,不需要再点点点去找任务管理器了

2. Visual Studio Code

VSCode编辑器的专属插件,功能包括:

2.1 展示最近运行过的项目列表

支持查找在VSCode中打开过的项目,同样按Enter键直接在VS Code中打开

2.2 管理VS Code插件

无需打开VS Code即可搜索并安装插件,还可查看IDE当前已安装的插件并执行卸载操作

  • Show Installed Extensions
  • Install Extension
  • 可以给Open with Visual Studio Code设置快捷键: Option + Cmd + V,将选中文件直接在VSCode中打开

image.png

3. ray.so: 一键生成代码块

优美的代码当然需要优美的包装,ray.so可以直接将选中的代码转换成有窗口背景的代码图片,支持自定义窗口背景和主题颜色,

4. Color Picker: 一键获取hex color code

前端开发必备!通过鼠标点击需要识别颜色的区域即可获取对应color code,Color Picker可以直接识别颜色并将color code复制到粘贴板上

5. Honorable Mention - Year in Progress: 年进度

顾名思义,展示今年的进度条,可以在Raycast窗口和Mac菜单栏上显示年进度

image.png image.png

由Raycast CEO: Thomas Paul Mann开发,Thomas本人也在使用

image.png

总结

在当今快节奏的工作环境中,效率是成功的关键。Raycast的功能逻辑虽然简单,却能极大地加速我们的日常工作

想象一下,那些原本需要多次点击才能完成的任务,现在按下一个组合键,只需不到一秒钟即可完成。这种转变不仅仅是操作上的便利,更是时间管理上的巨大飞跃

单次操作节省的时间看似微不足道,但当这些操作累积到成百上千次时,Raycast所节省的时间就变得非常可观

通过减少在繁琐任务上的时间消耗,我们能够将更多的精力投入到真正有价值的工作中

Raycast可以帮助我们重塑工作方式,让我们能够更聪明而不是更辛苦地工作。无论是个人还是团队,都能从中受益。它是一个值得每个人尝试的工具