Raycast 中文文档
  • 介绍
  • 链接
    • 官网
    • 官网 API 文档
    • 社区
    • GitHub
    • Store
    • Icon 生成器
    • 扩展图标模板
  • 基础
    • 起步
    • 创建您的第一个扩展
    • 贡献一个扩展
    • 过审一个扩展
    • 发布一个扩展
    • 调试一个扩展
    • 安装一个扩展
  • 团队
    • 开始
    • 发布私人扩展
    • 协作开发私有扩展
  • 例子
    • Doppler 共享 Secrets
    • Hacker News
    • Todo 列表
    • Spotify Controls
  • 资料
    • 最佳实践
    • 工具
      • CLI
      • ESLint
      • VS Code(社区工具)
    • 文件结构
    • 生命周期
      • 参数
      • 后台刷新
      • Deeplinks
    • Manifest
    • 安全性
    • 术语
    • 版本控制
  • API 参考
    • AI
    • Cache
    • Command
    • Clipboard
    • Environment
    • Feedback
      • Alert
      • HUD
      • Toast
    • Keyboard
    • Menu Bar Commands
    • OAuth
    • Preferences
    • Storage
    • System Utilities
    • 用户界面
      • Action Panel
      • Actions
      • Detail
      • Form
      • List
      • Grid
      • Colors
      • Icons & Images
      • Navigation
    • 窗口 & 搜索栏
  • 公共包
    • 起步
    • 功能
      • 执行 AppleScript
    • 图标
      • getAvatarIcon
      • getFavicon
      • getProgressIcon
    • React hooks
      • useCachedState
      • usePromise
      • useCachedPromise
      • useFetch
      • useForm
      • useExec
      • useSQL
      • useAI
  • 迁移
  • FAQ
由 GitBook 提供支持
在本页
  • API 参考
  • environment
  • environment.canAccess
  • getSelectedFinderItems
  • getSelectedText
  • 类型
  • FileSystemItem
  • LaunchType
  1. API 参考

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

launchType*

命令的启动类型(用户启动或后台)。

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),
    });
  }
}

返回

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

属性

名称
描述
类型

path*

项目的路径

string

LaunchType

指示命令启动的类型。使用它来检测命令是否已从后台启动。

枚举成员

名称
描述

UserInitiated

通过用户交互定期启动

Background

按时间间隔安排并从后台启动

上一页Clipboard下一页Feedback

最后更新于1年前

使用 解析的 Promise。如果 Finder 不是最前面的应用程序,则 Promise 将被 rejected。

保存有关文件系统项的数据。使用 方法检索值。

选定的文件系统项
getSelectedFinderItems
LaunchType