184 - 《如何写 Raycast 插件》

发布于 2022年9月9日

Raycast 我其实没用,我用的是 Alfred。总感觉 Raycast 没 Alfred 快,但是 Raycast 支持用 JS 写插件确实非常友好。最近发现 shuding 在用(https://github.com/shuding/random-branch),就想着翻翻 Raycast 的插件机制。

1、Raycast 插件的创建可基于 UI 方式创建,用 Raycast 的「Create Extension」命令一步步操作,即可在本地创建一个 Raycast 插件项目,同时有提供多个模板供选择,比如 Script、Form、List and Detail、Detail、Static List 等。完成后执行「npm i」和「npm run dev」即可启动本地开发。除了 npm i 时需要走 amazonaws.com 下 rasycast-cli 之外,一切都很顺利。

2、打开 Raycast 插件目录,你会看到熟悉的 JavaScript 项目,有 eslint、prettier、package.json 等。源码在 src/index.ts 或 src/index.tsx,Script 类插件是 ts,UI 类插件是 tsx。package.json 的 scripts 里有 dev、build 和 publish 等命令。build 命令我没试成功(提示成功但 dist 下没产物),原因未知。

3、Script 类插件导出 async 函数,比如 https://github.com/shuding/random-branch 就是此类。以下是最简的插件示例,复制当前日期。

import { showHUD, Clipboard } from "@raycast/api";
export def

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。