当前位置: 首页 > news >正文

为IntelliJ IDEA安装插件

安装插件

插件是开发工具的扩展程序,通常由第三方提供,当安装了插件后,原开发工作的菜单、按钮等开发环境可能会发生变化,例如出现了新的菜单项,或出现了新的按钮,甚至一些全新的编码方式,通常,使用插件可以使得开发某些代码或实现某些功能时更加简便。

绝大部分的插件的安装方式都是相同的,另有一部分插件在安装成功后可能还需调整某些设置后才可以正常使用。

本次演示安装的插件是Lombok,它可以使得开发人员在编写类时,定义了属性后,不必再添加Getters & Setters、hashCode & equals、toString等方法,只需要添加相关注解即可。

首先,打开IntelliJ IDEA的设置(在启动界面中打开,或通过主界面的File菜单中Settings选项打开均可):
在这里插入图片描述

在设置界面的左侧点击Plugins,在右侧的搜索输入框中输入lombok进行搜索,当出现了Lombok结果项后,点击对应的Install按钮即可开始安装:

在这里插入图片描述

IntelliJ IDEA会自动下载并安装插件:

在这里插入图片描述

当安装完成后,会出现Restart IDE按钮,点击后IntelliJ IDEA将重启,所安装的插件将生效。

在这里插入图片描述

如果某插件并不需要额外的设置,则至此安装过程就已经完成了。

体验Lombok插件

重新打开设置界面,在左侧依次点击Build, Execution, Deployment > Compiler > Annotation Processors,在右侧选中Enable annotation processing,然后点击下方的OK表示确认并关闭设置界面:
在这里插入图片描述

创建新的Maven项目,自定义项目名称,确认项目的保存位置,填写GroupId和ArtifactId:

在这里插入图片描述

在pom.xml文件中添加Lombok的依赖代码:

<dependencies><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>provided</scope></dependency>
</dependencies>

效果如下图所示:
在这里插入图片描述

添加了依赖后,并不会自动下载相关的jar包文件,打开Maven面板,点击按钮栏的第1个按钮:

在这里插入图片描述

IntelliJ IDEA将自动下载相关的jar包文件,完成后,代码不再报错:
在这里插入图片描述

在项目中自定义类,并声明2个属性,例如:
在这里插入图片描述

创建包括main方法的类,在main方法中创建类的对象,尝试调用属性对应的Setter方法,由于该方法并不存在,代码会报错:

在这里插入图片描述

回到自定义类,在类的声明之前添加@Setter注解:

在这里插入图片描述

再回到main方法,可以发现原本报错的代码将不再报错,因为Lombok框架会自动生成以上2个属性的Setter方法!(当然,通过源代码仍看不到对应的Setter方法,后续,当运行代码时,会自动生成,由于安装了插件,即使当前源代码中并没有Setter方法,但是代码也不会报错):

在这里插入图片描述

同理,还可以在自定义类的声明之前添加@Getter和@ToString注解:
在这里插入图片描述

在main方法中可以调用对应的Getter方法、输出对象(输出对象时会自动调用toString方法):
在这里插入图片描述

运行main方法,可以看到输出Getter方法和输出对象的结果:

在这里插入图片描述

关于Lombok框架的详细使用方式,请查阅Lombok的相关文档。

http://www.lryc.cn/news/428299.html

相关文章:

  • ES6 Promise
  • html+css 实现hover 凹陷按钮
  • 什么是负载均衡?负载均衡器如何运作?
  • (Arxiv-2023)潜在一致性模型:通过少步推理合成高分辨率图像
  • Unity与UE,哪种游戏引擎适合你?
  • 这五本大模型书籍,把大模型讲的非常详细,收藏我这一篇就够了
  • 伊朗通过 ChatGPT 试图影响美国大选, OpenAI 封禁多个账户|TodayAI
  • windows系统如何走后面之windows系统隐藏账户
  • Elasticsearch(ES)(版本7.x)数据更新后刷新策略RefreshPolicy
  • 【运维】从一个git库迁移到另一个库
  • and design vue表格列宽度拖拽,vue-draggable-resizable插件使用
  • 使用hexo搭建个人博客
  • java geotool构建地理点线面
  • C# 中 Grpc服务端调用客户端方法
  • Arthas相关命令
  • 2024年江苏省职业院校技能大赛 移动应用与开发中职赛项规程
  • 2024 Google 开发者大会,沉浸式体验AI社会公益
  • OpenCV(开源计算机视觉库)
  • Java二十三种设计模式-责任链模式(17/23)
  • Electron31-ViteAdmin桌面端后台|vite5.x+electron31+element-plus管理系统Exe
  • 鸿蒙HarmonyOS实战:创建NDK工程、毕昇编译器
  • 网络安全-防火墙初步认识。
  • golang channel什么情况main会deadlock?主协程是什么?
  • Redis之快速入门
  • mac 安装Arthas
  • 创客匠人老蒋:流量是个伪命题,做好这件事是打造IP最好避坑方式
  • 销售预测数据挖掘实战V2.0
  • 【K8s】Java项目部署时为什么要用k8s?
  • 【Python】AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
  • SQL注入(cookie、base64、dnslog外带、搜索型注入)