重大架构更新:推出全新搜索所有API(为远程开发而构建)

重大架构更新:推出全新搜索所有API(为远程开发而构建)

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

IntelliJ平台重构了“搜索所有”对话框,引入新API以支持远程开发,分离数据与UI,解决传统插件在远程环境中的兼容性问题。插件开发者需适配新API,以确保在2025.2及以后版本中正常运行。

🎯

关键要点

  • IntelliJ平台重构了“搜索所有”对话框,引入新API以支持远程开发。
  • 新API旨在解决传统插件在远程环境中的兼容性问题。
  • 原有的SearchEverywhereContributor扩展点与UI渲染器紧密耦合,限制了远程开发的灵活性。
  • 新架构将数据与UI展示分离,支持在后端处理搜索逻辑,前端展示结果。
  • 新组件包括SeTab、SeTabFactory、SeItemsProvider和SeItemsProviderFactory。
  • SeLegacyItemPresentationProvider帮助现有插件快速适应远程开发。
  • 在本地环境中,现有插件无需立即更改即可继续使用。
  • 在2025.2及以后版本中,插件需实现新API或确保结果使用可序列化格式。
  • 鼓励插件开发者尝试新API并提供反馈,旧API将逐步弃用。
  • 新架构将在2025.2默认启用,2026.1在本地环境启用,2026.2旧API将被弃用。

延伸问答

IntelliJ平台的新API有什么主要功能?

新API主要功能是分离数据与UI展示,支持远程开发,解决传统插件在远程环境中的兼容性问题。

为什么需要重写Search Everywhere对话框?

重写的原因是为了应对远程开发的挑战,原有架构限制了数据与UI的分离,影响了性能。

插件开发者如何适配新API?

插件开发者需实现新API或确保结果使用可序列化格式,以便在2025.2及以后版本中正常运行。

新架构的推出时间表是什么?

新架构将在2025.2默认启用,2026.1在本地环境启用,2026.2旧API将被弃用。

SeLegacyItemPresentationProvider的作用是什么?

SeLegacyItemPresentationProvider帮助现有插件快速适应远程开发,提供临时的展示方法。

新架构对现有插件有什么影响?

在本地环境中,现有插件无需立即更改即可继续使用,但在远程环境中需适配新API。

➡️

继续阅读