我正在为Intellij IDEA 2018.2+开发一个插件,它将提供一些其他检查。
我已经了解到,有一个plugin.xml
文件是插件的“心脏”,它负责插件的主要行为。
据我了解,要实现(例如)其他检查行为,我们需要在inspectionToolProvider
中定义plugin.xml
并继承InspectionToolProvider
接口。为其他扩展名定义了相同的结构-我们需要在.xml
中定义一些内容并实现一些接口。
让我困扰的是,如果我想实现某种或多或少的复杂算法,则似乎需要使用许多静态方法和实用程序类,因为我还没有找到使用DI的方法(例如春季)在插件开发期间。
某些examples in Intellij IDEA SDK docs还将“ helper”方法显示为实用程序类中定义的静态方法。
因此,总体问题:在Intellij IDEA插件开发过程中是否可以使用依赖项注入?
答案 0 :(得分:0)
IntelliJ IDEA具有自己的依赖项注入,由PicoContainer管理。它允许您将任何组件或服务注入到在相同或更低级别(可能是应用程序,项目和模块)创建的任何组件,服务或扩展的构造函数中。要使用它,您只需声明一个对应类型的构造函数参数即可。您不需要应用任何额外的注释。
您还可以在插件中启动自己的DI容器(使用Spring或任何其他框架),但是支持核心IntelliJ IDEA组件的注入将由您自己负责。