IntelliJ 配置文件plugin.xml

在 IntelliJ IDEA 插件开发中,plugin.xml 是插件的配置文件,它包含了关于插件的所有基本信息、扩展点、依赖关系等。该文件使用 XML 格式进行定义。以下是 plugin.xml 中常见的元素及其用途:

复制代码
<idea-plugin>
    <!-- 插件的基本信息 -->
    <id>com.example.myplugin</id>
    <name>My Plugin</name>
    <description>This is a description of my plugin.</description>
    <vendor>My Vendor</vendor>
    <version>1.0</version>
    <dependencies>
        <!-- 插件的依赖 -->
    </dependencies>

    <!-- 插件的扩展点 -->
    <extensions>
        <!-- 插件注册的扩展 -->
    </extensions>

    <!-- 插件的行动或动作 -->
    <actions>
        <!-- 插件中的动作 -->
    </actions>

    <!-- 插件的工具窗口 -->
    <toolWindows>
        <!-- 注册工具窗口 -->
    </toolWindows>

    <!-- 其他插件相关设置 -->
</idea-plugin>

一、<idea-plugin>

这是整个插件的根元素。所有的插件信息、扩展点、依赖等都需要包含在这个元素内。

复制代码
<idea-plugin>
    <id>com.example.myplugin</id>
    <name>My Plugin</name>
    <description>This is my plugin description</description>
    <vendor>My Company</vendor>
</idea-plugin>

二、基本信息

1、<id>

指定插件的唯一标识符。通常使用反向域名的方式命名,确保唯一性。

2、<name>

插件的名称,显示在插件市场或插件管理器中。

3、<description>

描述插件的功能和用途。此描述会显示在插件的详细信息中。

4、<vendor>

指定插件的开发商或供应商名称。

5、<version>

插件的版本号,遵循语义化版本控制(例如 1.0.0, 2.1.0 等)。

6、<dependencies>

用于声明插件的依赖项。如果你的插件依赖于其他插件或库,你需要在这个元素中声明它们。

复制代码
<dependencies>
    <dependency id="com.intellij.modules.platform" />
</dependencies>

二、<extensions>

在插件中注册扩展点。插件通过这个元素可以扩展 IDEA 的功能,例如菜单、工具窗口、代码检查、项目视图等。

常见子元素<action>, <toolWindow>, <projectViewPane>, <editorTab>, <inspections>, 等

复制代码
<extensions defaultExtensionNs="com.intellij">
    <action id="MyAction" class="com.example.MyAction" text="My Action" description="My custom action">
        <add-to-group group-id="MainToolBar" anchor="last"/>
    </action>
</extensions>
1、codeInsight.lineMarkerProvider

在 IntelliJ IDEA 插件开发中,codeInsight.lineMarkerProvider 用于在代码编辑器中为特定的代码行创建 行标记,比如通过在代码的行旁边显示图标、标记或提供交互式功能。

行标记通常是在代码编辑器的行号区域显示的小图标或指示符。这些标记可以用于多种用途,例如:

  • 显示断点:例如在调试时,行标记可以用于显示设置的断点。
  • 显示代码覆盖率:行标记可以用来显示哪些代码行已被测试覆盖。
  • 标记重要代码元素:例如标记 TODO 注释、警告或其他重要的代码块。
  • 提供交互功能:例如点击行标记执行某些操作。

三、<actions>

定义插件中注册的所有动作(例如,菜单项、工具栏按钮、快捷键等)。

复制代码
<actions>
    <action id="MyAction" class="com.example.MyAction" text="My Action" description="This is a custom action" />
</actions>

四、<toolWindows>

用于注册插件的自定义工具窗口。

复制代码
<toolWindows>
    <toolWindow id="MyToolWindow" factoryClass="com.example.MyToolWindowFactory" anchor="bottom" />
</toolWindows>
相关推荐
你这个代码我看不懂1 分钟前
Java项目OOM排查
java·开发语言
暴力求解4 分钟前
C语言---动态内存管理、柔性数组
c语言·开发语言·算法
Zong_091511 分钟前
AutoCompose - 携程自动编排【开源】
java·spring boot·开源·自动编排
先做个垃圾出来………17 分钟前
Python中使用pandas
开发语言·python·pandas
DanmF--27 分钟前
C#面向对象实践项目--贪吃蛇
开发语言·游戏·c#·游戏程序
@老蝴39 分钟前
C语言 — 动态内存管理
android·c语言·开发语言
.生产的驴44 分钟前
SpringCloud 分布式锁Redisson锁的重入性与看门狗机制 高并发 可重入
java·分布式·后端·spring·spring cloud·信息可视化·tomcat
虾球xz1 小时前
CppCon 2014 学习:C++ Memory Model Meets High-Update-Rate Data Structures
java·开发语言·c++·学习
攒了一袋星辰1 小时前
Spring @Autowired自动装配的实现机制
java·后端·spring
小灰灰搞电子1 小时前
Qt 仪表盘源码分享
开发语言·qt