内容提要
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将被弃用。
延伸解读
新API的意义
新推出的API旨在解决传统插件在远程开发中的兼容性问题。通过将数据与UI展示分离,插件开发者可以更灵活地处理搜索逻辑,提升用户体验。这一变化将使得插件在不同环境下的表现更加一致,尤其是在远程开发场景中。
迁移的必要性
虽然现有插件在本地环境中可以继续使用,但从2025.2版本开始,插件开发者必须适配新API以确保在远程环境中的正常运行。建议开发者尽早开始迁移,以避免在未来版本中面临兼容性问题。
逐步弃用旧API
新架构将在2026.2版本中正式弃用旧API,开发者需关注这一时间节点。尽管目前有适配器可供使用,但长期依赖旧API可能会影响插件的性能和稳定性,因此尽早适应新架构是明智之举。
延伸问答
IntelliJ平台的新API有什么主要功能?
新API主要功能是分离数据与UI展示,支持远程开发,解决传统插件在远程环境中的兼容性问题。
为什么需要重写Search Everywhere对话框?
重写的原因是为了应对远程开发的挑战,原有架构限制了数据与UI的分离,影响了性能。
插件开发者如何适配新API?
插件开发者需实现新API或确保结果使用可序列化格式,以便在2025.2及以后版本中正常运行。
新架构的推出时间表是什么?
新架构将在2025.2默认启用,2026.1在本地环境启用,2026.2旧API将被弃用。
SeLegacyItemPresentationProvider的作用是什么?
SeLegacyItemPresentationProvider帮助现有插件快速适应远程开发,提供临时的展示方法。
新架构对现有插件有什么影响?
在本地环境中,现有插件无需立即更改即可继续使用,但在远程环境中需适配新API。