mac上idea升级到2020.2.2后,发现version control中的local changes不见了!解决办法:
View—>Tool WIndows—>Commit【点击下,就会提示要把这个Commit放在IDEA面板那个位置,选择习惯的位置即可】
2020-9-18
设置todo:Settings-->Editor-->Live Templates-->如果没有,则 新增
点OK就可以了
annotated("annotation qname")
注释(“注释属性”)
创建带有指定位置的注释的类型符号。例如,在迭代组中查看活动模板。
arrayvariable()
建议适用于当前范围的所有数组变量。例如,在迭代组中查看活动模板。
anonymoussuper()
提出一种科特林级对象表达类型。
сamelcase(字符串)
返回作为参数传递的字符串,转换为骆驼格。例如,我的文本文件/我的文档/ my_text_file将转换为mytextfile。
大写(字符串)
大写首字母的名称作为参数传递。
capitalizeandunderscore(scamelcasename)
利用CamelCase的名称作为参数传递的所有信件,并插入一个下划线之间的部分。例如,如果一个参数是要通过字符串,然后返回foo_bar。
casttoleftsidetype()
将右侧表达式投射到左侧表达式类型。它在迭代组中使用一个模板来生成原始类型和泛型集合。
className(sclassname)
返回当前类的名称(扩展模板的类)。
classnamecomplete()
这个表达式替换变量位置上的类名完成。
clipboard()
返回系统剪贴板的内容。
camelCase(字符串)
返回字符串的字符串snake_case camelCase。例如,如果一个参数是foo_bar通过字符串,然后返回foobar。
complete()
这个表达式替换了变量位置上的代码完成调用。
completesmart()
该表达式替代变量位置上的智能类型完成调用。
componenttypeof(<数组变量或数组类型>)
返回数组的组件类型。例如,在其他组中的迭代组中查看活动模板。
currentpackage()
返回当前包名。
日期(姓名)
以指定格式返回当前系统日期。默认情况下,当前日期是以默认的系统格式返回的。但是,如果在双引号中指定日期格式,日期将以这种格式呈现:
decapitalize(SNAME)
用相应小写字母替换作为参数传递的名称的第一个字母。
descendantclassenum(<字符串>)
显示类的子字符串作为参数输入。
枚举(scompletionstring1,scompletionstring2,…)
建议在模板调用中完成的逗号分隔字符串列表。
escapestring(sescapestring)
转义指定字符串。
expectedtype()
返回作为整个模板的结果所期望的类型。如果模板在赋值的右边,在返回之后扩展,则是有意义的。
文件名(sFileName)
以扩展名返回文件名。
filenamewithoutextension()
返回没有扩展名的文件名。
FirstWord(sfirstword)
返回作为参数传递的字符串的第一个单词。
groovyscript(“Groovy代码”)
用指定的代码返回Groovy脚本。
你可以使用多个参数的groovyscript宏。第一个参数是执行的脚本文本或包含脚本的文件路径。接下来的参数绑定到_1,_2,_3,…_n变量都可以在你的脚本。
同时,_editor变量可在脚本。此变量绑定到当前编辑器。
guesselementtype(<集装箱>)
对存储在一个java.util.collection元素类型的猜测。猜想,IntelliJ IDEA试图找到地方的元素被添加到或从容器中提取。
iterablecomponenttype(< arrayoriterable >)
返回一个组件类型,如数组或集合。
iterablevariable()
返回可以重复的变量的名称。
linenumber()
返回当前行号。
lowercaseanddash(字符串)
返回以破折号分隔的小写字符串,作为参数传递的字符串。例如,字符串转换为我的名字MyExampleName。
methodname()
返回拥抱方法的名称(在模板扩展的地方)。
methodparameters()
返回拥抱方法(扩展模板)的参数列表。
methodreturntype()
返回当前方法返回的值的类型(扩展模板的方法)。
qualifiedclassname()
返回当前类的完全限定名称(扩展模板的类)。明显缩短FQ名称”复选框。
rightsidetype()
用右侧表达式的类型声明左侧变量。它在迭代组中使用一个模板来生成原始类型和泛型集合。
snakecase(scamelcasetext)
从CamelCase返回snake_case字符串字符串作为参数传递。
空间分开(字符串)
idea配置代码模板的地方【只用配置includes即可,不用配置Files tab下的内容】:
Editor-> File and Code Templates->Includes
IDEA默认用ALT+方向键左右是选择整个字符串,如果只是想根据驼峰来选择单个单词的话,需要改下配置:
Editor->General->Smart Keys->Use "CamelHumps" words
这时鼠标双击也是驼峰选择了,如果还想保留鼠标双击选择整个字符串,则配置:
Editor->General->取消选中‘Honor Camel Humps words settings when selecting on double click’
当然,如果还是想选择整个字符串的话,用ALT+方向键上下就行
reformat时,import记录的转换。
idea在单元测试中设置JVM参数
运行一次测试用例,然后在工具栏中点 Run/Debug旁边的向下的小箭头:
选择Edit Configuration…
可以看到 VM Options 参数设置,并且可以指定具体的方法
一定保存Apply,不然不会生效:
市场插件
- 阿里代码规约检测
- 快捷键提示工具:Key promoter X
- 代码注解插件: Lombok
- 代码生成工具:CodeMaker
- 单元测试测试生成工具:JUnitGenerator
- Mybatis 工具:Free Mybatis plugin 【可让Mapper.java文件 关联到 mapper.xml中的方法】
- Maven辅助神器:Maven Helper
- JSON转领域对象工具:GsonFormat
- 领域对象转JSON工具:POJO to JSON
- 时序图生成工具:SequenceDiagram
- 字符串工具:String Manipulation
- 代码作色工具:Rainbow Brackets
- RESTful 服务开发辅助工具集: RestfulToolkit
- 日志工具:Grep Console
- 生成对象set方法:GenerateAllSetter
- Redis可视化:Iedis
- K8s工具:Kubernetes
- 中英文翻译工具:Translation
https://mp.weixin.qq.com/s/xNSES7n_oMU4I4rwftQHiAIDEA插件介绍(一) -RestfulToolkit(接口自测工具)
1:官网
http://plugins.jetbrains.com/plugin/10292-restfultoolkit
2:工具介绍:
一套 RESTful 服务开发辅助工具集。
1.根据 URL 直接跳转到对应的方法定义 ( or Ctrl Alt N );
2.提供了一个 Services tree 的显示窗口;
3.一个简单的 http 请求工具;
4.在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数...
5.其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。
3:背景介绍:
因为我们公司开发模式为前后端分离,所以对接口文档要求较为苛刻,有时因开发任务多,接口文档无法及时提供,需要双方频繁沟通确认,为了解决这种现状,给大家安利一款插件,插件名为RestfulToolkit,能有效解决在无接口文档时,双方的联调工作。
4:安装
ctrl +alt +s →settings
plugins →browse repositories
搜索框输入:RestfulToolkit →Install
安装完成后重启IDEA
下面为图示:
安装完成后就是上面的样子。安装失败的请升级IDEA至18及以上版本。
功能演示:
安装后,右侧会有RestServices侧边栏,点击后会显示当前项目所有请求地址,可以进行输入查询,然后会直接把请求方式,地址以及参数列出来,默认请求服务器为本机(localhost:8080),可根据需求更改。
全局快捷搜索:Ctrl \
同类工具对比的优缺点:
优点:
其他工具如:postman,DHC,jmeter等,此工具直接集成与项目,不需要输入地址以及多个参数,便能直接访问。
缺点:
无法保存,每次使用参数都需要重新赋值,且没有请求记录。
总结:
此工具适合做接口测试,以及敏捷开发时使用,真证前后端分离式开发,还需要写好接口文档
Idea 中解决maven 包冲突的问题(maven helper)
- 首先安装插件 maven helper(因为我已经安装了,所以没 install 的按钮了)
- 安装完成后,在 pom 文件下方会出现这个东西
- 点进去你会发现仿佛回到了 eclipse
- 接下来到重点了,选中冲突选项 conflicts,这一列都是存在冲突的包
- 以fastjson 为例
当然我们调错误的时候也可以直接搜索有问题的包,如下 - 选中右键就可以 Exclude 啦,想用1.2.28就把其他版本的Exclude掉,想用1.2.3就把其他版本的Exclude掉,是不是很方便。
idea中Eclipse Code Formatter插件设置和使用,以及注释模板的修改
在settings里面找到plugins这个选项,搜索Eclipse Code Formatter,点击安装,重启idea即可进行配置;
首先,先安装Eclipse Code Formatter插件;
上面是已经安装了。如果没有安装,安装后,重启IDE
选择我们这导入的格式化模板:
如果Scheme下没有刚才导入的eclipse style,则可以再重新导入一次:
Install plugin from disk:
COMPATIBLE BUILDS 号匹配的问题,如果不匹配,plugin就不能安装成功:
网页上每个plugin Build版本:
IDE上的版本号:
在窗口的右上角小齿轮中取消勾选 复选框“Compact Empty Middle Packages”,Package路径就会以下图的形式展示。好处:可以更改任一层目录的文件夹名
右键菜单中勾选了“Compact Empty Middle Packages”,则只能rename最外层的packsge名字:
右键菜单中,去掉“Compact Empty Middle Packages”,则可以rename任一层package名字
Error:java: javacTask: source release 8 requires target release 1.8
解决办法:
Settings【ctrl+alt+s】没有shift键--》
Build,Execution,Deployment-->Compiler-->Java Compiler
在打开的界面中,将Project bytecode version改成期望的jdk版本,
如果需要把Per-module bytecode version下每个模块的Target bytecode version按需进行更改
必备材料介绍
- IntelliJ IDEA 对其他 IDE 转过来的用户有特别优待,对其专门整理了非常棒的资料,还请其他 IDE 过来的用户抽时间查看,会有很大帮助:
- Eclipse 用户可以看:https://www.jetbrains.com/idea/help/eclipse.html
- NetBeans 用户可以看:https://www.jetbrains.com/idea/help/netbeans.html
Project 和 Module 介绍
这两个概念是 IntelliJ IDEA 的必懂知识点之一,请务必要学会。
如 果你是 Eclipse 用户,并且已经看了上面给的链接,那 IntelliJ IDEA 首先告诉你一个非常重要的事情:IntelliJ IDEA 没有类似 Eclipse 工作空间(workspace)的概念的。很多从 Eclipse 转过来的人总是下意识地要再同一个窗口管理 n 个项目,这在 IntelliJ IDEA 是无法得到。IntelliJ IDEA 提供的体验是:一个 Project 打开一个 Window 窗口。
对于 Project,IntelliJ IDEA 是这样解释的:
- Whatever you do in IntelliJ IDEA, you do that in the context of a project. A project is an organizational unit that represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, etc.
- Your finished product may be decomposed into a series of discrete, isolated modules, but it's a project definition that brings them together and ties them into a greater whole.
- Projects don't themselves contain development artifacts such as source code, build scripts, or documentation. They are the highest level of organization in the IDE, and they define project-wide settings as well as collections of what IntelliJ IDEA refers to as modules and libraries.
- 链接地址:https://www.jetbrains.com/idea/help/project.html
对于 Module,IntelliJ IDEA 是这样解释的:
- A module is a discrete unit of functionality which you can compile, run, test and debug independently.
- Modules contain everything that is required for their specific tasks: source code, build scripts, unit tests, deployment descriptors, and documentation. However, modules exist and are functional only in the context of a project.
- Configuration information for a module is stored in a .iml module file. By default, such a file is located in the module's content root folder.
- Development teams, normally, share the .iml module files through version control.
- 链接地址:https://www.jetbrains.com/idea/help/module.html
通 过上面的介绍我们知道,在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project 可以有多个 Module。目前主流的大型项目结构都是类似这种多 Module 结构,这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间应该都是处于同一个项目业务情况下的模块,彼此之间是有不可分割的业务关系的。
所以我们现在总结:一个 Project
是由一个或多个 Module
组成,模块之间尽量是处在同一个项目业务的的情况下,彼此之间互相依赖关联。这里用的是 尽量
,因为 IntelliJ IDEA 的 Project 是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范等类型的效果,也许我们可以简单地理解为就是一个单纯的目录,只是这个目录命名上必须有其代表性的意义。
下面我们以著名的 spring-framework
项目为例介绍多 Module 的结构的:
- 项目主页:https://github.com/spring-projects/spring-framework:
- 该项目的
Project
命名是:spring-framework。该目录主要作用为各个 Module
的顶层目录进行约束,告诉协同者,这个目录下都是 spring-framework
相关的,我绝不对放 Android 相关源码、文档、文件在上面的。该目录并不是以一个实际性的目录来提现的,所以你访问主页是看不到的,但是当你 checkout
的时候,你必须为这个项目命名,至于命名默认就是 spring-framework
。 - 该
Project
下有二十来个 Module
,各个 Module
的命名也是有含义的,比如:spring-core
、spring-jdbc
、spring-jms
、spring-orm
、spring-web
、spring-webmvc
等等,我们通过这些命名也能清楚地知道他们要表达的含义,这些 Module 下也都各自有 src
编码目录,可以自行编码和构建。
- 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单 Module 的结构的。
- 如上图 Gif 图演示,在输入
Project name
的时候,Module name
和 Module file Location
自动进行改变,同时 Project location
和 Module file Location
完全一样,这也就表示,Project 目录和 Module 目录是同一个,所以此时 Project 目录下就会有 src
目录,但是我们应该明白其本质还是 Module 的目录。
关于 IntelliJ IDEA 的 Project 和 Module 终于解释清楚了,但是由于 IntelliJ IDEA 官网上又有一段话对此解释得不够好,特别是对 Eclipse 用户来讲:https://www.jetbrains.com/idea/help/eclipse-faq.html,其中有这样两句话:
- An Eclipse workspace is similar to a project in IntelliJ IDEA
- An Eclipse project maps to a module in IntelliJ IDEA
你可以把 IntelliJ IDEA 的 Project
当做 workspace
使用,IntelliJ IDEA 也是支持的,但是就像我们前面解释的那么那么多,这样是非常不符合其初衷的,所以请别把这段话当做教义去学习。对此 zeroturnaround 的大牛也有针对此进行了说明:http://zeroturnaround.com/rebellabs/getting-started-with-intellij-idea-as-an-eclipse-user/3/
(1)SVN相关的操作:
启用:
方法1:VCS菜单下Enable Version Control Integration,点击之后选择相应的版本控制工具
方法2:Setting中Version Control 中右边的 + - none 都可以操作。
关闭:
类似开启中的方法2
(2)IntelliJ IDEA如何进行单元测试和代码覆盖率
http://jingyan.baidu.com/article/9faa72315be0ef473d28cb64.html
(3)解决中文乱码问题其实很简单。
按以下步骤设置,就可以顺利解决。
一、进入设置页。File-->Settings (快捷键:Ctrl+Alt+S)
二、进入IDE Settings,在File Encoding 中 的 Default encoding 改为 GB2312。
三、确定后,重新编译代码即可正常输出中文
(4)Show line numbers
IntelliJ IDEA打Jar
1.菜单:File->project stucture...(也可以按快捷键ctrl+alt+shift+s)
2.在弹窗最左侧选中Artifacts->左数第二个区域点击"+",选择jar,然后选择from modules with dependencies,然后会有配置窗口出现,配置完成后,勾选Build On mak (make 项目的时候会自动输出jar)->保存设置
3.然后菜单:Build->make project
4.最后在项目目录下去找输出的jar包(路径在你添加Artifacts的时候设置的路径,默认是%project%\out\artifacts\projectname_jar\)
如果你的程序不是web,也不是窗体,而是命令行的服务端,发现运行jar发现没有反应,但在进程里有javaw.exe,解决办法是在这个jar文件所在目录新建一个文本文件,内容如下:
@echo off
java -jar SocketServer.jar
然后将这个文件保存为xxxx.bat,以后要运行项目就直接运行这个bat批处理文件。
debug,查看运行时表达式运算结果的short-cut key:
使用工具栏上的VCS更新时,Update Project 选择”Merge"(平时执行的git pull = git fetch + git merge),Clean working tree before update 选择“Using Stash"(有问题可以直接在git bash中操作)
执行Ctrl+T命令,选择上面截图中的 “Merge”后,实际执行的git命令:
如果没有更新,则只执行fetch操作
git fetch:将远程服务器的数据更新到本地的
https://www.jetbrains.com/help/idea/2016.3/update-project-dialog-git.html
Rest Client
Intellij IDEA 里面内置了一个 Rest Client,大家可以通过Mac/windows: Command + Shift + a / ctrl+shift+a,然后搜索 Rest Client 来找到"REST Client",然后双击,即可打开
REST Client实际上是Idea的一个plugin
IDEA 查看UML的快捷键:
Ctrl + Alt + Shift + U
IntelliJ IDEA文件头注释模板
设置路径:
File-Other Settings-Default Settings-Editor-File and Code Templates-Includes-File Header
设置File Header:
1、常用Java注释标签(Java comment tags)
@author 作者适用范围:文件、类、方法
(*多个作者使用多个@author标签标识,java doc中显示按输入时间顺序罗列。)
例:* @author Leo. Yao
@param 输入参数的名称 说明 适用范围:方法
例:* @param str the String用来存放输出信息。
@return 输出参数说明适用范围:方法
例: * @return <code>true</code>执行成功;
* <code>false</code>执行失败.
@since JDK版本用于标识编译该文件所需要的JDK环境。
适用范围:文件、类
例: * @since JDK1.6
@version 版本号用于标识注释对象的版本号
适用范围:文件、类、方法
例: * @version 1.0
@see 链接目标表示参考。会在java 文档中生成一个超链接,链接到参考的类容。
用法:
@see #field
@see #Constructor(Type, Type...)
@see #Constructor(Type id, Type id...)
@see #method(Type, Type,...)
@see #method(Type id, Type, id...)
@see Class
@see Class#field
@see Class#Constructor(Type, Type...)
@see Class#Constructor(Type id, Type id)
@see Class#method(Type, Type,...)
@see Class#method(Type id, Type id,...)
@see package.Class
@see package.Class#field
@see package.Class#Constructor(Type, Type...)
@see package.Class#Constructor(Type id, Type id)
@see package.Class#method(Type, Type,...)
@see package.Class#method(Type id, Type, id)
@see package
@throws 异常标识出方法可能抛出的异常
适用范围:方法
例: * @throws IOException If an input or output exception occurred
@deprecated 解释标识对象过期
适用范围:文件、类、方法
@link 链接地址链接到一个目标,用法类似@see。但常放在注释的解释中形如{@link …}
例:
/**
* @deprecated As of JDK 1.1, replaced by
* {@link #setBounds(int,int,int,int)}
*/
2、Java注释的使用顺序* @author (classes and interfaces only, required)
* @version (classes and interfaces only, required. See footnote 1)
* @param (methods and constructors only)
* @return (methods only)
* @exception (@throws is a synonym added in Javadoc 1.2)
* @see
* @since
* @serial (or @serialField or @serialData)
* @deprecated (see How and When To Deprecate APIs)
Tomcat部署时war和war exploded区别
在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况:
(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
修改箭头指向的位置,这样的话就可以实现热部署:
使用war模式开发的时候遇到的坑
一、项目代码的位置如下:
三、用于获取上下文环境绝对路径的代码:
四、两种方式的实验过程和结果:
(1)在使用war模式开发的时候,通过下边这段代码获取项目的相对路径:
其中C:\Software\apache-tomcat-8.0.32 是我Tomcat的所在位置。
可以看出通过war模式是最终打包部署到Tomcat的位置。
(2)然后再看war exploded模式,同样进行设置,运行同一段代码,运行结果如下:
可以看出最终得到的是我这个项目的位置,其实就是这个项目target的位置。
实现Idea中修改jsp后热部署
问题:修改JS或者是JSP页面后,并没有生效,每次修改都需要重启一次Tomcat
解决办法:
step1:Deployment标签页中,new Artifact时选择 war exploded 。并检查右边的“Application context”设置与预期是否一致
step2:Server标签页中,
将 On 'Update' action中选择“Update classes and resources” ;
将On frame deactivation中选择"Update classes and resources"
On 'update' action或On frame deactivation中没有 “Update classes and resources” ,是因为已经使用war【发布模式】进行Deploy过了。
解决办法:
step1:把war方式生成的Artifact删除
step2:使用 war exploded方式重新new一个Artifact
需要在Tomcat的设置中为:
on ‘update‘ action:当用户主动执行更新的时候更新 快捷键:Ctrl + F9
on frame deactication:在编辑窗口失去焦点的时候更新
你可以根据自己的需求进行设置,我这里两个都有设置。
问题2:如果你的工程中没有 Update classes and resources 这个选项
在这种情况下你更新后只能更新classes文件中的变动,并不能更新静态文件中的变动。
原因:在Deployment的选项中使用的是先将工程打成war包然后再去运行的
修改方式:
先remove当前工程,再次添加,添加的时候选择Artifact
然后选择工程名称后面有 exploded的选项
注意:
选择后记的填写Application context
然后在Server中更改为:Update classes and resources
在Intellij 中对分支打tag操作。
为什么要打tag?
tag中文的意思是标签的意思,生活中的标签有很多,比如产品的合格标签,赠品标签。
而在开发过程中,可能会有这样的问题出现,1 一个版本开发结束后,进行分支合并,在master上进行测试 上线,上线后发现有问题需要急需退回到上一个版本,这就要求我们自己手动在服务器上备份很多的war或者备份很多的文件夹。2 如果一般的修改在没有拉取新分支,而是在master上直接修改的话,修改后上线有问题,可以及时的拉取退回。3 如果在发版的时候忘记了备份war或者备份文件夹,及时代码进行回滚,代码回滚会造成一部分提交无效。所以,打tag很必要。
git tag和git branches区别?
查知乎上说,tag就像里程碑标志的一个点,branch是一个新的征程的一条线;tag 是静态的,而branch要往前走;稳定版本备份用tag,新功能开发多人用branch,开发完之后再merge到master上。
tag是一个只读的branch。
打tag git命令
Intellij中打tag
官方说明: https://www.jetbrains.com/help/idea/2016.1/working-with-tags-and-branches.html
tag and branch: https://www.jetbrains.com/help/idea/2016.1/working-with-tags-and-branches.html
步骤:
1、You can create a tag in VCS -> Git -> Tag... menu. (打开VCS中的git --Tag 菜单)
commit 窗口:如果不填写默认是最新的head代码.
可以填写一个version的校验码:
2 Then open the push dialog with VCS -> Git -> Push and activate the checkbox "Push Tags".
在点击create tag 之后, git push (或者ctrl+shif +k键)
选择push tags , 可以push 当前分支的tag , 也可以选择push 全部分支的tag。
怎样拉取tag的代码
checkout tag or revision,来检出代码。
https://www.jetbrains.com/help/idea/2016.1/working-with-tags-and-branches.html
idea 使用maven构建项目时,target bytecode version经常自动变化
解决方法:
在工程的pom.xml中添加
或者:添加properties节点
如果上面这4个地方的java sdk,java complier 都设置正常,应该不会报complier版本不对了
Language Level:
1.3-Plain old Java
1.4-'assert' keyword
5-'enum' keyword,generics,autoboxing etc.
6-@Override in interfaces
7-Diamonds,ARM,multi-catch etc.
8-Lambdas,type annotations etc.
9-Modules,private methods in interfaces etc.
10-Local variable type inference
11-Local variable syntax for lambda parameters
12-No new language features
12(Preview)-No new language features
13-No new language features
13(Preview)-Switch expressions,text blocks
X-Experimental features
Lombok Requires Annotation Processing
Annotation processing seems to be disabled for the project "jhipster".
For plugin to function correctly, please enable it under "Settings > Build > Compiler > Annotation Processors"
Click on this notification to go to Settings now.
二、解决方法
file--->settings---> Build,Execution,Deployment-->Compiler-->Annotation Processors-->勾选Enable annotation processing
如果 在设置之后依然不能解决问题。
解决办法:
检查已安装的 lombok 插件,看是否是因为更新导致我的插件丢失,造成不可用,但是搜索后显示插件已安装。在这个配置页面随手点了点其他页签,此时发现了问题的端倪。已安装列表中赫然提示我的 lombok 插件需要更新,于是 update 插件,重启 idea,一切搞定。
心得:
有时候出的问题其实很简单,只是我们在一开始将它想复杂了,到处寻求解决办法依然没有什么结果,于是愈发的凌乱。其实静下心来从头慢慢理会发现这个问题真的很好解决。
这个简单的问题将它记录下来,也算是对自己的一种提醒,日后遇到问题不要病急乱投医,一点点解决就好。