【SpringBoot3】IDEA常用插件介绍Tabnine,GsonFormat,Maven Helper等

news2024/11/18 18:37:04

文章目录

  • 一、Tabnine
  • 二、Auto filling Java call arguments
  • 三、GsonFormat
  • 四、Rainbow Brackets
  • 五、Maven Helper

本文主要介绍一些比较实用的IDEA插件,帮助广大开发者提升开发效率,愉悦编码!

一、Tabnine

官网地址:https://www.tabnine.com

Tabnine 插件,为Java和JavaScript开发人员提供基于人工智能的代码完成建议。它通过先进的AI模型理解代码的上下文,并生成整行代码甚至整个函数,准确性前所未有。Tabnine 还可以学习和适应独特的代码模式和风格,确保编码一致性。使用Tabnine 的优点包括有效的代码提示、支持大量的编程语言、为主流编辑器和IDE提供支持,以及使用机器学习记忆经常编写的代码,提供极其详细的提示。

在IDEA中使用Tabnine的示例:

  1. 安装Tabnine插件:打开IntelliJ IDEA,进入插件市场,搜索Tabnine并安装。
    在这里插入图片描述
  2. 配置Tabnine:安装完成后,需要配置Tabnine。打开设置(File -> Settings -> Plugins),找到Tabnine插件,点击“Configure”按钮,进行配置。
  3. 使用Tabnine:在编写代码时,当输入代码的关键字或函数名后,按下Tab键,Tabnine将自动补全代码。如果有多重补全选项,可以使用上下方向键进行选择。
  4. 自定义Tabnine:可以在设置中自定义Tabnine的行为,例如调整代码补全的触发方式、调整代码样式的显示方式等。

总之,Tabnine是一个强大的IDEA插件,可以帮助开发人员快速、准确地编写代码,提高开发效率。

使用 Tabnine 插件需要先注册账号,插件会自动提示

使用示例

如下截图所示,输入代码List,会自动提示剩余部分,这个时候按Tab键就会自动补全所有代码

在这里插入图片描述

二、Auto filling Java call arguments

IDEA插件 Auto filling Java call arguments 是一个用于自动填充Java方法调用参数的插件。它可以帮助开发人员快速、准确地填写方法调用的参数,从而提高代码编写的效率和准确性。

使用该插件的方法很简单。在IDEA中安装该插件后,打开Java代码文件,当您编写一个方法调用时,该插件会自动分析方法的定义和参数类型,并提供一个下拉列表,列出可用的参数值。您可以从下拉列表中选择所需的参数值,并自动将其填充到方法调用中。

该插件还支持自动推断参数类型和自动补全参数名。当您开始输入参数名称时,插件将根据方法定义和当前上下文自动补全参数名称,并提供适当的类型建议。这有助于减少错误和加快代码编写速度。

总之,IDEA插件 Auto filling Java call arguments 是一个非常实用的插件,可以帮助开发人员快速、准确地填写Java方法调用的参数,提高代码编写的效率和准确性。

在这里插入图片描述

使用示例

按快捷键 ALT + 回车,会弹出提示选项,点击 Auto fill call parameters 就会自动补全所有的参数:

在这里插入图片描述
补全完成:

在这里插入图片描述

三、GsonFormat

GsonFormat是一个用于将JSON对象转换为Java类的IDEA插件。它可以帮助开发人员快速生成Java实体类,并支持层级关系的嵌套。

使用GsonFormat插件的方法如下:

  1. 安装插件:在IDEA中搜索GsonFormat插件,并安装它。

在这里插入图片描述

  1. 新建Java类:在IDEA中新建一个Java类,用于存放生成的实体类。
  2. 打开插件:在IDEA中打开GsonFormat插件,可以使用快捷键Alt+S或者通过菜单栏中的“插件”选项打开。
  3. 输入JSON对象:在打开的插件窗口中,输入要转换的JSON对象。该插件支持多种类型的JSON数据,包括嵌套的对象和数组。
  4. 生成实体类:点击“生成”按钮,该插件将自动将输入的JSON对象转换为Java实体类。生成的实体类包含了JSON中包含的所有属性和对应的getter和setter方法。
  5. 保存实体类:将生成的实体类保存到指定的目录中,以便在其他Java代码中使用。

GsonFormat插件还支持一些高级功能,例如注解的使用,可以用来标识某些属性不是必传的,避免在调用接口时出现错误。

总之,GsonFormat插件是一个非常实用的工具,可以帮助开发人员快速生成Java实体类,减少手动编写代码的工作量,提高开发效率。

使用示例

假设我们有以下JSON对象

{  
  "id": 1,  
  "name": "John Doe",  
  "address": {  
    "street": "123 Main St",  
    "city": "Anytown",  
    "state": "CA",  
    "zip": "12345"  
  },  
  "phoneNumbers": ["123-456-7890", "987-654-3210"]  
}

1)打开IDEA,并创建一个新的Java类,例如命名为“Person”。
2)打开GsonFormat插件。可以在IDEA的菜单栏中选择“插件”,然后搜索并打开GsonFormat插件。也可以使用快捷键Alt+S打开。
3)在打开的GsonFormat插件窗口中,将上述JSON对象复制并粘贴到插件中。
4)点击“OK”按钮,该插件将自动将JSON对象转换为Java实体类。

这个插件在做第三方接口对接的时候非常有用,可以节约大量时间

生成的Java类如下所示:

public class Person {

    /**
     * id : 1
     * name : John Doe
     * address : {"street":"123 Main St","city":"Anytown","state":"CA","zip":"12345"}
     * phoneNumbers : ["123-456-7890","987-654-3210"]
     */

    private int id;
    private String name;
    private AddressBean address;
    private List<String> phoneNumbers;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public AddressBean getAddress() {
        return address;
    }

    public void setAddress(AddressBean address) {
        this.address = address;
    }

    public List<String> getPhoneNumbers() {
        return phoneNumbers;
    }

    public void setPhoneNumbers(List<String> phoneNumbers) {
        this.phoneNumbers = phoneNumbers;
    }

    public static class AddressBean {
        /**
         * street : 123 Main St
         * city : Anytown
         * state : CA
         * zip : 12345
         */

        private String street;
        private String city;
        private String state;
        private String zip;

        public String getStreet() {
            return street;
        }

        public void setStreet(String street) {
            this.street = street;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getState() {
            return state;
        }

        public void setState(String state) {
            this.state = state;
        }

        public String getZip() {
            return zip;
        }

        public void setZip(String zip) {
            this.zip = zip;
        }
    }
}

四、Rainbow Brackets

Rainbow Brackets 是一个用于 IntelliJ IDEA 的插件,其主要功能是帮助程序员快速、准确地识别代码中括号(包括圆括号、方括号和大括号)的嵌套层次。该插件通过在括号周围添加不同颜色的高亮显示来实现这一目的。

以下是关于 Rainbow Brackets 插件的详细介绍:

  1. 安装与配置:
  • 安装:可以通过 IntelliJ IDEA 的插件市场搜索并安装该插件,或者从其官网下载离线安装包进行安装。安装完成后,重启 IntelliJ IDEA 使插件生效。
  • 配置:可以在“File”菜单下的“Settings”中进行插件的配置。在“Editor” -> “Color Schema”中,可以找到并选择“Rainbow Brackets”。
    在这里插入图片描述
  1. 功能特点:
  • 高亮显示括号嵌套层次:Rainbow Brackets 会自动为不同类型的括号添加不同颜色,以清晰地展示括号的嵌套关系。
  • 支持自定义颜色:用户可以根据自己的喜好或者需要,自定义括号的颜色和样式。
  • 支持自定义括号类型:用户可以自定义要高亮显示的括号类型,包括圆括号、方括号、大括号、尖括号等。
  • 支持括号匹配:当用户选中一个括号时,Rainbow Brackets 会自动高亮显示与之匹配的括号。
  • 支持多语言:Rainbow Brackets 支持多种编程语言,包括 JavaScript、Python、Java、C++等常见的编程语言。
  • 多种括号样式:Rainbow Brackets 支持多种括号样式,包括括号前后添加空格、括号前后添加换行符等。用户可以根据自己的习惯和需求进行设置。
  • 高级配置:Rainbow Brackets 支持高级配置,用户可以根据自己的需要对插件进行个性化设置,包括自定义颜色、自定义括号类型、自定义匹配规则等。
  • 支持外观主题:Rainbow Brackets 支持多种外观主题,用户可以根据自己的喜好选择不同的主题,使插件的外观更符合自己的审美观。
  • 支持代码折叠:Rainbow Brackets 还支持代码折叠功能,用户可以折叠或展开代码块,使得代码更加简洁易读。
  • 快捷键支持:Rainbow Brackets 支持快捷键,用户可以通过快捷键快速执行常用操作,如匹配括号、切换主题等。
  1. 使用效果:安装并配置好插件后,在编写代码时,Rainbow Brackets 会自动为不同类型的括号添加不同颜色,以清晰地展示括号的嵌套关系。这有助于程序员快速、准确地识别代码中括号的嵌套层次,从而更轻松地编写和维护代码。

总的来说,Rainbow Brackets 是一个功能强大且易于使用的 IntelliJ IDEA 插件,它可以帮助程序员提高代码的可读性和可维护性。

使用示例

如图所示,不同级别的花括号使用不同的颜色,在括号层级较多的时候,看起来会比较清晰,还是很有用的。
在这里插入图片描述

五、Maven Helper

Maven Helper 是一个 IntelliJ IDEA 插件,它为 Maven 项目提供了一系列的便捷功能,包括依赖管理、冲突解决、下载依赖等。以下是关于 Maven Helper 插件的详细介绍:

  1. 安装与配置:
  • 安装:可以在 IntelliJ IDEA 的插件市场中搜索并安装该插件。安装完成后,重启 IntelliJ IDEA 使插件生效。
  • 配置:可以在“File”菜单下的“Settings”中进行插件的配置。在“Plugins”中,找到并选择“Maven Helper”,然后进行相应的设置。
    在这里插入图片描述
  1. 功能特点:
  • 依赖管理:Maven Helper 可以方便地查看、添加和排除 Maven 项目的依赖项。用户可以通过右键菜单或侧边栏进行操作。
  • 冲突解决:当项目中的多个依赖存在版本冲突时,Maven Helper 可以自动检测并列出冲突项,帮助用户快速解决冲突。
  • 下载依赖:用户可以方便地下载项目所需的依赖项,避免了手动从 Maven 仓库下载的繁琐过程。
  • 依赖树分析:Maven Helper 可以生成项目的依赖树,方便用户分析项目的依赖关系和结构。
  • 版本管理:用户可以方便地查看和管理 Maven 项目的依赖项版本信息。
  • 自动导入依赖:当添加了新的依赖项后,Maven Helper 可以自动导入所需的依赖到项目中。
  • Maven 命令集成:用户可以直接在插件中运行常见的 Maven 命令,如 clean、install 等。
  1. 使用效果:通过使用 Maven Helper 插件,用户可以更加方便地管理和维护 Maven 项目。它提供了直观的操作界面和丰富的功能,使开发人员能够快速地定位和解决依赖相关的问题,提高开发效率和质量。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言:预处理详解

创作不易&#xff0c;来个三连呗&#xff01; 一、预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编…

从 GPT1 - GPT4 拆解

从 GPT1 - GPT4 拆解 从 GPT1 - GPT4GPT1&#xff1a;更适用于文本生成领域GPT2&#xff1a;扩展数据集、模型参数&#xff0c;实现一脑多用&#xff08;多个任务&#xff09;GPT3&#xff1a;元学习 大力出奇迹InstructGPT&#xff1a;指示和提示学习 人工反馈强化学习 RLHF…

视频直播新时代,低延时直播交互,Web,Android,WebRtc推流拉流测试

直播现在已经深入了生活&#xff0c;学习&#xff0c;工作和娱乐方方面面&#xff0c;由于前些年的技术所限&#xff0c;传统rtmp,flv,m3u8 技术让直播快速启动项目产品&#xff0c;但也有很多不足&#xff0c;特别的交互式直播&#xff0c;一直是其中的痛点&#xff0c;延时较…

【C++初阶】第二站:类与对象(上) -- 上部分

前言: C学习的第二站&#xff1a;类和对象(上)文章的上半部分,知识点:面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装、类的作用域、类的实例化. 目录 面向过程和面向对象初步认识 类的引入 类的定义 类的访问限定符及封装 访问限定符 封装 类的…

Docker服务以及容器如何设置服务器开机自动启动

Docker服务以及容器如何设置服务器开机自动启动 今天在客户现场遇到了如下问题&#xff1a; 他们服务器的机房&#xff0c;有时候需要关机重启&#xff0c;进行机房改造&#xff01; 这时候就会遇到断电重启&#xff0c;在没有设置自动启动的情况下&#xff0c;我们所有的软…

经典ABR算法介绍:Pensieve (SIGCOMM ‘17) 原理及训练指南

文章目录 前言Pensieve原理*Pensieve重训练参考Oboe [SIGCOMM 18]Comyco [MM 19]Fugu [NSDI 20] A3C熵权重衰减思路实现 前言 Pensieve是DASH点播视频中最经典的ABR算法之一&#xff0c;也是机器学习类&#xff08;Learning-based&#xff09;ABR算法的代表性工作。Pensieve基…

Unity-场景

创建场景 创建新的场景后&#xff1a; 文件 -> 生成设置 -> Build中的场景 -> 将项目中需要使用的场景拖进去 SceneTest public class SceneTest : MonoBehaviour {// Start is called before the first frame updatevoid Start(){// 两个类&#xff1a; 场景类、场…

VUE--组件通信(父子)

1、什么是组件通信 组件通信就是指组件与组件之间的数据传递。因为组件的数据是独立的&#xff0c;无法直接访问其他组件的数据&#xff0c;想获取其他组件的数据&#xff0c;就需要用到组件通信。 2、组件关系分类&#xff08;如图&#xff09; ● 父子关系&#xff08;props…

【Linux】进程的概念 进程状态 进程优先级

Content 一、什么是进程1. 进程的概念2. 进程的描述 - 进程控制块&#xff08;PCB&#xff09;3. Linux下的进程 二、进程状态1. 教科书中的进程状态运行状态阻塞状态挂起状态 2. Linux下的进程状态R&#xff08;running&#xff09;- 运行状态S&#xff08;sleeping) - 睡眠状…

排序:非递归的归并排序

目录 递归与非递归的思想对比&#xff1a; 递归&#xff1a; 非递归&#xff1a; 代码解析&#xff1a; 完整代码&#xff1a; 递归与非递归的思想对比&#xff1a; 递归&#xff1a; 在之前的归并排序&#xff0c;它的核心思想是通过不断的分割&#xff0c;从一个数组变…

docker-compose部署

目录 一、什么是docker-compose&#xff1f; 二、compose部署 一、什么是docker-compose&#xff1f; Docker-Compose项目是Docker官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。 Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用Y…

MySQL(四)——约束

上期文章 MySQL&#xff08;三&#xff09;——函数 文章目录 上期文章概述约束演示外键约束添加外键删除外键删除/更新行为 总结 概述 概念&#xff1a;作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据 目的&#xff1a;保证数据库中数据的正确、有效性和完整性…

2024华数杯国际赛数学建模A题完整论文来啦!最后的助攻!

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2024华数杯国际数学建模竞赛A题日本放射性废水完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 论文共40页&a…

48-DOM节点,innerHTML,innerText,outerHTML,outerText,静态获取,单机click,cssText

1.DOM基础 Document Object Module,文档对象模型,window对象,document文档,都可以获取和操作 1)文档节点 2)属性节点(标签内的属性href,src) 3)文本节点(标签内的文字) 4)注释节点 5)元素节点(标签) 2.获取元素节点 2.1通过标签名获取getElementsByTagName() …

[NSSRound#16 Basic]RCE但是没有完全RCE

题目代码&#xff1a; <?php error_reporting(0); highlight_file(__file__); include(level2.php); if (isset($_GET[md5_1]) && isset($_GET[md5_2])) {if ((string)$_GET[md5_1] ! (string)$_GET[md5_2] && md5($_GET[md5_1]) md5($_GET[md5_2])) {i…

微信内测“听一听” 音乐音频业务提至一级入口;美团 AI 平台视觉中心负责人魏晓林离职;腾讯视频生成模型 VideoCrafter2;广州房价连跌12个月

今日精选 • 微信内测“听一听” 音乐音频业务提至一级入口• 美团 AI 平台视觉中心负责人魏晓林离职• 腾讯推出视频生成模型 VideoCrafter2&#xff0c;• 广州房价连跌12个月 投融资与企业动态 • TikTok 越南推出 Thu Duc Market 在线销售渠道• 亚马逊将在五年内在日本…

[足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05-3+4

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - Kalman Filter卡尔曼滤波器 Ch05-34 3. Step by step : Deriation of Kalmen Gain 卡尔曼增益/因数 详细推导4. Priori/Posterrori error Covariance Martix 误差协方差矩阵 3. Step by step :…

C++中特殊类的设计与单例模式的简易实现

设计一个只能在堆上创建对象的类 对于这种特殊类的设计我们一般都是优先考虑私有构造函数。然后对于一些特殊要求就直接通过静态成员函数的实现来完成。 class A//构造函数私有&#xff08;也可以析构函数私有&#xff09; { public:static A* creat(){return new A;} privat…

【Flink-CDC】Flink CDC 介绍和原理概述

【Flink-CDC】Flink CDC 介绍和原理概述 1&#xff09;基于查询的 CDC 和基于日志的 CDC2&#xff09;Flink CDC3&#xff09;Flink CDC原理简述4&#xff09;基于 Flink SQL CDC 的数据同步方案实践4.1.案例 1 : Flink SQL CDC JDBC Connector4.2.案例 2 : CDC Streaming ETL…

【Redis】三种集群模式(主从复制、哨兵模式、Cluster)

前言 redis有三种集群模式&#xff0c;其中主从是最常见的模式。Sentinel 哨兵模式是为了弥补主从复制集群中主机宕机后&#xff0c;主备切换的复杂性而演变出来的。哨兵顾名思义&#xff0c;就是用来监控的&#xff0c;主要作用就是监控主从集群&#xff0c;自动切换主备&…