我正在为 Intellij IDEA 2018.2+ 开发一个插件,它将提供一些额外的检查。
我已经了解到有一个plugin.xml
文件是插件的“心脏”,负责插件的主要行为。
据我了解,要实现(例如)额外的检查行为,我们需要inspectionToolProvider
在接口中定义plugin.xml
和继承InspectionToolProvider
。为其他扩展定义了相同的结构——我们需要在其中定义一些东西.xml
并实现一些接口。
困扰我的是,如果我想实现一些或多或少复杂的算法,看起来我需要使用很多静态方法和实用程序类,因为我还没有找到使用 DI 的方法(例如 Spring 的)在插件开发过程中。
Intellij IDEA SDK 文档中的一些示例还将“帮助器”方法显示为实用程序类中定义的静态方法。
所以总体问题:有没有办法在 Intellij IDEA 插件开发过程中使用依赖注入?
IntelliJ IDEA 有自己的依赖注入,由 PicoContainer 管理。它允许您将任何组件或服务注入到在相同或更低级别(可能的级别是应用程序、项目和模块)上创建的任何组件、服务或扩展的构造函数中。要使用它,您只需声明相应类型的构造函数参数;您不需要应用任何额外的注释。
你也可以在你的插件中启动你自己的 DI 容器(使用 Spring 或任何其他框架),但是你有责任支持核心 IntelliJ IDEA 组件的注入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句