gpt4 book ai didi

java - Intellij IDEA 的自定义插件可以在其代码中使用 DI 吗?

转载 作者:行者123 更新时间:2023-12-02 10:29:44 25 4
gpt4 key购买 nike

我正在为 Intellij IDEA 2018.2+ 开发一个插件,它将提供一些额外的检查。

我已经了解到有一个 plugin.xml 文件,它是插件的“心脏”,负责插件的主要行为。

据我了解,为了实现(例如)额外的检查行为,我们需要在 plugin.xml 中定义 inspectionToolProvider 并继承 InspectionToolProvider 接口(interface)。为其他扩展定义了相同的结构 - 我们需要在 .xml 中定义一些内容并实现一些接口(interface)。

令我困扰的是,如果我想实现一些或多或少复杂的算法,看起来我需要使用大量静态方法和实用程序类,因为我还没有找到使用 DI 的方法(例如Spring一)在插件开发期间。

一些examples in Intellij IDEA SDK docs还将“帮助程序”方法显示为实用程序类中定义的静态方法。

总体问题:有没有办法在 Intellij IDEA 插件开发过程中使用依赖注入(inject)

最佳答案

IntelliJ IDEA 有自己的依赖注入(inject),由 PicoContainer 管理。它允许您将任何组件或服务注入(inject)到在相同或较低级别(可能的级别是应用程序、项目和模块)上创建的任何组件、服务或扩展的构造函数中。要使用它,您只需声明相应类型的构造函数参数即可;您不需要应用任何额外的注释。

您还可以在插件中启动自己的 DI 容器(使用 Spring 或任何其他框架),但随后您将负责支持核心 IntelliJ IDEA 组件的注入(inject)。

关于java - Intellij IDEA 的自定义插件可以在其代码中使用 DI 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com