跳转到主要内容
插件 API 是 wit/ 中的 WIT 包 openidea:plugin@1.5.0。WIT 文件就是参考文档:每个 interface、类型和函数都在注释中有说明。1.5.0 是 main 上的版本;最新已发布版本是 1.4.0,其 WIT 保存在 sdk/rust/openidea-plugin/tests/api/released/。
自动生成的 API 参考正在计划中。在此之前,请参考下面的 WIT 文件、Rust SDK 的 cargo doc(sdk/rust/openidea-plugin),以及 plugins/README.md 中把每个 SDK 函数对应到 WIT 函数和能力的表格。

World

plugin.wit 定义所有 world:基础 world plugin(全部导入,加上 lifecycle、commands 和 event-handler 三个导出),以及每个额外导出各自对应的可选 world(plugin-providers、plugin-views、plugin-hover 等)。见 架构与沙箱。

宿主 interface(导入)

由插件调用,大多受某个能力约束。

插件 interface(导出)

由 IDE 调用。前三个是每个代码插件都有的;其余都是可选的,各自对应一个 world。

其他语言

SDK 在 sdk/rust/openidea-plugin/wit 中带有一份完全相同的 WIT 文件。用其他语言编写插件时,用该语言的组件模型工具为 plugin world(或某个可选 world)生成绑定,构建出组件,再用 openidea-plugin check 校验。