该公共包暴露了 Raycast 的一些本机功能,以允许深度集成到用户的设置中。例如,您可以使用应用程序 API 检查是否安装了桌面应用程序,然后提供一个操作来深层链接到该应用程序。
API 参考
getApplications
返回可以打开该文件的所有应用程序。
签名
async function getApplications(path?: PathLike): Promise<Application[]>;
例子
import { getApplications } from "@raycast/api";
export default async function Command() {
const installedApplications = await getApplications();
console.log("The following applications are installed on your Mac:");
console.log(installedApplications.map((a) => a.name).join(", "));
}
参数
名称
描述
类型
path
要获取应用程序的文件或文件夹的路径。如果未指定路径,则返回所有已安装的应用程序。
返回
getDefaultApplication
返回打开文件的默认应用程序。
签名
async function getDefaultApplication(path: PathLike): Promise<Application>;
例子
import { getDefaultApplication } from "@raycast/api";
export default async function Command() {
const defaultApplication = await getDefaultApplication(__filename);
console.log(`Default application for JavaScript is: ${defaultApplication.name}`);
}
参数
名称
描述
类型
path*
要获取默认应用程序的文件或文件夹的路径。
返回
getFrontmostApplication
返回最前面的应用程序。
签名
async function getFrontmostApplication(): Promise<Application>;
例子
import { getFrontmostApplication } from "@raycast/api";
export default async function Command() => {
const defaultApplication = await getFrontmostApplication();
console.log(`The frontmost application is: ${frontmostApplication.name}`);
};
返回
showInFinder
在 Finder 中显示文件或目录。
签名
async function showInFinder(path: PathLike): Promise<void>;
例子
import { showInFinder } from "@raycast/api";
import { homedir } from "os";
import { join } from "path";
export default async function Command() {
await showInFinder(join(homedir(), "Downloads"));
}
参数
名称
描述
类型
path*
在 Finder 中显示的路径。
返回
是一个 promise,当该项目在 Finder 中显示时状态为 resolve。
trash
将文件或目录移至废纸篓。
签名
async function trash(path: PathLike | PathLike[]): Promise<void>;
例子
import { trash } from "@raycast/api";
import { writeFile } from "fs/promises";
import { homedir } from "os";
import { join } from "path";
export default async function Command() {
const file = join(homedir(), "Desktop", "yolo.txt");
await writeFile(file, "I will be deleted soon!");
await trash(file);
}
参数
名称
描述
类型
path*
返回
是一个promise,当所有文件都移至垃圾箱时状态为 resolve。
open
使用默认应用程序或指定应用程序打开目标。
签名
async function open(target: string, application?: Application | string): Promise<void>;
例子
import { open } from "@raycast/api";
export default async function Command() {
await open("https://www.raycast.com", "com.google.Chrome");
}