基于Netty手写一个远程连接Redis的IDEA插件

前言

前几天一直在学习Netty框架,写了几个Demo,然后就想着可以用它来写点什么,然后又对编写idea的插件有点兴趣,那么就准备写一个idea插件.

写什么好呢,想起可以写一个Redis连接客户端的插件,这个也可以用上Netty,虽然市面上已经有很多redis的客户端,例如:Redis Desktop Manager这类的,不过很多是付费的,想白嫖需要找破解版,自己写的功能上虽然简陋,不过胜在使用方便,不用另开程序.很多时候也仅仅是想看看redis里数据有没有保存上,所以也够用了.

想要完成这个插件 需要掌握Netty和java Gui的一些知识,如果你完全不了解的话可以先看一下这方面的内容

创建项目

可以看到idea可以直接选择创建插件项目

生成的项目结构

里面会有一个 plugin.xml文件,这个是插件的一个重要配置文件

src 下编写代码

设计ui界面

我们要写一个侧边的工具窗口,那么就需要界面布局,idea里使用 swingUi

按照图上选择 就会生成一个ui编辑器

只需从右侧拖拽到中间的框内就可以完成ui布局,你完成的布局他会同时为你生成一个对应的实体类 你想为哪个组件生成实体类中的字段就要在 field name 这里指定字段名称

最终会生成如下图的一个实体类

然后就可以在实体类中编写业务代码了

核心代码

话不多说,先上代码

public class RedisCliUi {

    //这里都是生成的组件字段

    private JButton connectButton;
    private JTextField portText;
    private JTextField commandText;
    private JButton commandButton;
    private JTextField ipText;
    private JTextArea textArea;
    private JLabel ipLabel;
    private JLabel portLabel;
    private JLabel commandLabel;
    private JPanel redisPanel;
    private JButton cleanButton;
    private JButton closeButton;
    private JScrollPane scrollPane;

    static String line = "\r\n";

    static ChannelHandlerContext Context;

    //实体类构造
    public RedisCliUi(Project project, ToolWindow toolWindow) {
        // 连接按钮监听
        connectButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (StringUtils.isNotBlank(ipText.getText()) && StringUtils.isNotBlank(portText.getText())) {
                    new Thread(() -> {
                        con
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值