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>
相关推荐
焦虑的说说17 小时前
秒杀系统设计方案
java
huangdong_17 小时前
淘宝商品SKU图自动分类技术深度解析:从DOM解析到智能归档
开发语言·javascript·ecmascript
阿正的梦工坊17 小时前
【Rust】12-借用检查器与非词法生命周期
开发语言·后端·rust
许彰午17 小时前
30_Java Stream流操作全解
java·windows·python
qq_25183645717 小时前
基于java Web网络订餐系统设计与实现 源码文档
java·开发语言·前端
秋917 小时前
3年经验Python后端转AI Engineer:3个月实战转型计划(2026版)
开发语言·人工智能·python
凡人叶枫18 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
飞天狗11118 小时前
零基础JavaWeb入门——第2课:让网页“活”起来 —— JSP是什么?
java·开发语言·前端·后端·web
梦@_@境18 小时前
面向 Spring Boot 的可观测业务流程编排引擎
java·spring boot·后端
云烟成雨TD19 小时前
Spring AI Alibaba 1.x 系列【77】执行取消
java·人工智能·spring