Command
该公共包可与 Raycast 命令配合使用。
API 参考
launchCommand
启动另一个命令。如果该命令不存在,或者未启用,则会抛出错误。如果该命令是另一个扩展的一部分,则会向用户显示权限警报。如果您的命令需要根据用户交互打开另一个命令,或者要立即触发后台刷新(例如,当命令需要更新关联的菜单栏命令时),请使用此方法。
签名
export async function launchCommand(options: LaunchOptions): Promise<void>;
例子
import { launchCommand, LaunchType } from "@raycast/api";
export default async function Command() {
await launchCommand({ name: "list", type: LaunchType.UserInitiated, context: { foo: "bar" } });
}
参数
options*
具有以下属性的参数对象: name
:扩展清单中定义的命令名称
type
:LaunchType.UserInitiated 或 LaunchType.Background 参数:扩展清单中定义的参数属性和值的可选对象,例如: { "argument1" : "value1" }
context
:自定义数据的任意对象,应传递给命令并可作为environment.launchContext
访问;该对象必须是 JSON 可序列化的(支持日期和缓冲区)
返回
当命令启动时解析的 Promise。 (请注意,这并不表示启动的命令已完成执行。)
updateCommandMetadata
更新当前命令 manifest 中声明的属性值。请注意,目前仅支持 subtitle
。传递 null
以清除自定义 subtitle
。
签名
export async function updateCommandMetadata(metadata: { subtitle?: string | null }): Promise<void>;
例子
import { updateCommandMetadata } from "@raycast/api";
async function fetchUnreadNotificationCount() {
return 10;
}
export default async function Command() {
const count = await fetchUnreadNotificationCount();
await updateCommandMetadata({ subtitle: `Unread Notifications: ${count}` });
}
返回
当命令的元数据更新时解析的 Promise。
类型
LaunchContext
表示命令启动传递的上下文对象。
LaunchOptions
用于决定应启动哪个命令以及应接收哪些数据(参数、上下文)的参数对象。
IntraExtensionLaunchOptions
从同一扩展启动命令时可以使用的选项。
name*
扩展 manifest 中定义的命令名称
string
context
应传递给命令并可作为environment.launchContext
访问的自定义数据的任意对象;该对象必须是 JSON 可序列化的(支持日期和缓冲区)
LaunchContext
或者 null
fallbackText
作为备用文本发送到命令的可选字符串
string
或者 null
InterExtensionLaunchOptions
从不同扩展启动命令时可以使用的选项。
extensionName*
从不同的扩展启动命令时,扩展名称(如扩展 manifest 中定义)是必需的
string
ownerOrAuthorName*
从不同的扩展程序启动命令时,所有者或作者(如扩展程序 manifest 中所定义)是必需的
string
最后更新于