Environment
Environment API 对于获取有关命令运行的设置的上下文非常有用。您可以获得有关扩展和命令本身以及 Raycast 的信息。此外,还注入了一些路径,有助于构建与资源相关的文件路径命令。
API 参考
environment
包含环境值,例如 Raycast 版本、扩展信息和路径。
例子
import { environment } from "@raycast/api";
export default async function Command() {
console.log(`Raycast version: ${environment.raycastVersion}`);
console.log(`Extension name: ${environment.extensionName}`);
console.log(`Command name: ${environment.commandName}`);
console.log(`Command mode: ${environment.commandMode}`);
console.log(`Assets path: ${environment.assetsPath}`);
console.log(`Support path: ${environment.supportPath}`);
console.log(`Is development mode: ${environment.isDevelopment}`);
console.log(`Appearance: ${environment.appearance}`);
console.log(`Text size: ${environment.textSize}`);
console.log(`LaunchType: ${environment.launchType}`);
}
属性
appearance*
Raycast 应用程序使用的外观。
"light"
或 "dark"
assetsPath*
扩展的资源目录的绝对路径。
string
commandMode*
启动命令的模式,在 package.json 中指定
"no-view"
或 "view"
或 "menu-bar"
commandName*
已启动命令的名称,在 package.json 中指定
string
extensionName*
扩展名,在 package.json 中指定
string
isDevelopment*
指示该命令是否是开发命令(相对于 Store 中安装的命令)。
boolean
raycastVersion*
Raycast 主应用程序的版本
string
supportPath*
扩展支持目录的绝对路径。使用它来读取和写入与您的扩展或命令相关的文件。
string
textSize*
Raycast 应用程序使用的文本大小。
"medium"
或 "large"
canAccess*
返回用户是否有权访问给定的 API。
(api: unknown) => boolean
environment.canAccess
检查用户是否可以访问特定的API。
签名
function canAccess(api: any): bool;
例子
import { AI, showHUD, environment } from "@raycast/api";
import fs from "fs";
export default async function main() {
if (environment.canAccess(AI)) {
const answer = await AI.ask("Suggest 5 jazz songs");
await Clipboard.copy(answer);
} else {
await showHUD("You don't have access :(");
}
}
返回
一个布尔值,指示运行命令的用户是否有权访问 API。
getSelectedFinderItems
从 Finder 获取选定的项目。
签名
async function getSelectedFinderItems(): Promise<FileSystemItem[]>;
例子
import { getSelectedFinderItems, showToast, Toast } from "@raycast/api";
export default async function Command() {
try {
const selectedItems = await getSelectedFinderItems();
console.log(selectedItems);
} catch (error) {
await showToast({
style: Toast.Style.Failure,
title: "Cannot copy file path",
message: String(error),
});
}
}
返回
使用 选定的文件系统项 解析的 Promise。如果 Finder 不是最前面的应用程序,则 Promise 将被 rejected。
getSelectedText
获取最前面的应用程序的选定文本。
签名
async function getSelectedText(): Promise<string>;
例子
import { getSelectedText, Clipboard, showToast, Toast } from "@raycast/api";
export default async function Command() {
try {
const selectedText = await getSelectedText();
const transformedText = selectedText.toUpperCase();
await Clipboard.paste(transformedText);
} catch (error) {
await showToast({
style: Toast.Style.Failure,
title: "Cannot transform text",
message: String(error),
});
}
}
返回
使用所选文本解析的 Promise。如果在最前面的应用程序中没有选择任何文本,则 Promise 将被 rejected。
类型
FileSystemItem
保存有关文件系统项的数据。使用 getSelectedFinderItems 方法检索值。
属性
path*
项目的路径
string
LaunchType
指示命令启动的类型。使用它来检测命令是否已从后台启动。
枚举成员
UserInitiated
通过用户交互定期启动
Background
按时间间隔安排并从后台启动
最后更新于