idea插件访问浏览器web地址实现方式

 更新时间:2025年09月12日 17:26:16   作者:疯癫的老码农  
用户分享了在IntelliJ IDEA开发插件的简要流程:新建项目、配置plugin.xml、创建工厂类、构建打包、安装并重启IDE,最后运行插件,重点在于通过Idea平台实现插件开发,与Eclipse流程类似但需注意配置细节

背景

以往在eclipse上面开发插件,有兴致想尝试Idea上玩一下插件开发。想要在idea上面访问web地址

概要

记录在idea上面访问web地址

正文

1、点击File->New->Project… 选择IntelliJ Platform Plugin

2、点击下一步后,输入Project Name,然后点击完成

3、新建Factory

package com.demo.view;

import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowFactory;
import com.intellij.ui.content.Content;
import com.intellij.ui.content.ContentManager;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;

/**
 * @author twilight
 * @since V1.0
 */
public class MyToolWindowFactory implements ToolWindowFactory {
    @Override
    public void createToolWindowContent(
            @NotNull Project project,
            @NotNull ToolWindow toolWindow) {
        ContentManager contentManager = toolWindow.getContentManager();

        JFXPanel jfxPanel = new JFXPanel();
        jfxPanel.setBounds(0,0,100,200);

        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                WebView webView = new WebView();
                jfxPanel.setScene(new Scene(webView));
                webView.getEngine().load("https://m.runoob.com/maven/");
            }
        });

        Content labelContent =
                contentManager.getFactory()
                        .createContent(
                                jfxPanel,
                                "",
                                false
                        );

        contentManager.addContent(labelContent);
    }
}

4、修改plugin.xml

<idea-plugin>
  <id>com.demo.view.plugin.id</id>
  <name>com.jcef.company</name>
  <version>1.0</version>
  <vendor email="support1@yourcompany.com" url="http://www.yourcomp1any.com">Your111Company</vendor>

  <description>com.demo.view.plugin.desc/com.demo.view.plugin.desc</description>

  <change-notes>com.demo.view.plugin.desccom.demo.view.plugin.desc
  </change-notes>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
  <idea-version since-build="173.0"/>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
       on how to target different products -->
  <!-- uncomment to enable plugin in all products
  <depends>com.intellij.modules.lang</depends>
  -->

  <!-- plugin.xml文件 -->
  <extensions defaultExtensionNs="com.intellij">
    <!-- Add your extensions here -->
    <!-- id是必须的属性,我们进行添加 -->
    <!-- anchor锚点非必须,但是为了像Gradle插件一样默认显示在右边,我们设置为right -->
    <toolWindow id="web browser"
                anchor="right"
                factoryClass="com.demo.view.MyToolWindowFactory"
    />
  </extensions>
</idea-plugin>

5、打包插件

Build->PreparePlugin Module "XXX" For Deployment 

6、安装插件

File->settings...->Plugins

Restart IDE

7、运行插件

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • OpenTelemetry初识及调用链Trace详解

    OpenTelemetry初识及调用链Trace详解

    这篇文章主要为为大家介绍了OpenTelemetry初识及调用链Trace详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 使用resty Quartz执行定时任务的配置方法

    使用resty Quartz执行定时任务的配置方法

    这篇文章主要为大家介绍了使用resty Quartz来执行定时任务的配置方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java编程中快速排序算法的实现及相关算法优化

    Java编程中快速排序算法的实现及相关算法优化

    这篇文章主要介绍了Java编程中快速排序算法的实现及相关算法优化,快速排序算法的最差时间复杂度为(n^2),最优时间复杂度为(n\log n),存在优化的空间,需要的朋友可以参考下
    2016-05-05
  • Java中指定时区的3种方法

    Java中指定时区的3种方法

    这篇文章主要介绍了Java中指定时区的3种方法,本文是一个JAVA项目和.NET项目通讯时遇到的问题,本文给出JAVA中的3种解决方法,需要的朋友可以参考下
    2015-02-02
  • 详解JAVA类加载机制

    详解JAVA类加载机制

    这篇文章主要介绍了JAVA类加载机制的相关知识,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 如何使用Gradle实现类似Maven的profiles功能

    如何使用Gradle实现类似Maven的profiles功能

    这篇文章主要介绍了如何使用Gradle实现类似Maven的profiles功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Java中OAuth2.0第三方授权原理与实战

    Java中OAuth2.0第三方授权原理与实战

    本文主要介绍了Java中OAuth2.0第三方授权原理与实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 宝塔面板配置及部署javaweb教程(全网最全)

    宝塔面板配置及部署javaweb教程(全网最全)

    这篇文章主要介绍了宝塔面板配置及部署javaweb教程(全网最全),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Spring Cloud zuul自定义统一异常处理实现方法

    Spring Cloud zuul自定义统一异常处理实现方法

    这篇文章主要介绍了Spring Cloud zuul自定义统一异常处理实现,需要的朋友可以参考下
    2018-02-02
  • Java中内部类使用方法实战案例分析

    Java中内部类使用方法实战案例分析

    这篇文章主要介绍了Java中内部类使用方法,结合具体案例形式分析了Java内部类原理、调用方法及相关使用注意事项,需要的朋友可以参考下
    2019-09-09

最新评论