Skip to content

Workspace API 指南 ​

工作区(Workspace)管理着 Obsidian 的所有面板与标签页。插件通过 Workspace API 打开视图、聚焦叶子(Leaf)与重组布局。

核心要点 ​

拆分与聚焦 ​

ts
// 在右侧边栏打开一个视图
const leaf = app.workspace.getRightLeaf(false);
await leaf.setViewState({ type: "my-view", active: true });
// 聚焦主区域新叶子
const leaf = app.workspace.getLeaf("tab");
// 遍历所有叶子
app.workspace.iterateAllLeaves((leaf) => { /* ... */ });

常用能力 ​

  • getLeaf("split") 垂直/水平拆分,getLeaf("tab") 新标签页
  • getRightLeaf / getLeftLeaf 操作侧边栏
  • activeLeaf 获取当前焦点叶子,便于在用户当前上下文操作
  • on("active-leaf-change") 监听焦点切换,更新 UI 状态

注意事项 ​

  • 复用已有 Leaf 而非每次新建,避免标签页爆炸
  • 卸载插件时清理自建视图(detachLeavesOfType)

相关阅读 ​