我是从eclipse转IDEA的,对于习惯了eclipse快捷键的我来说,转IDEA开始很不习惯,IDEA快捷键多,组合多,记不住,虽然可以设置使用eclipse的快捷键,但是总感觉怪怪的。开始使用的时候自己也在网络上收集各种IDEA使用的教程,但是很多都不全,东说一点西说一点,因此我想在这里整理一份全而整的使用教程系列,不定时更新。
一般都会去官网下载,官网地址,官网上对于不同的操作系统(windows,macOS,Linux)都有两个版本可供下载
Ultimate即为旗舰版,功能全面,插件丰富,但是收费,按年收费。如果非要比较的话类似于myEclipse。
Community即为社区版,免费试用,功能相对而言不是很丰富,但是不影响开发使用。如果非要比较的话类似于eclipse。
如果有经济实力的话还是建议购买Ultimate版使用,但是不是终身的而是一年一付;但是网络上也有破解版的,各位相较而选。
确认已经安装好了 JDK ,每个IDEA版本对应的有JDK版本,我这里使用的是piler=NONE 在启动应用程序时是否 指定参数。此参数影响JIT编译器,如果选项打开,JIT编译器将被禁用。
Allow unsigned requests 出于安全原因,从IntelliJ IDEA外部对内置服务器上页面的任何请求都被默认拒绝,并显示以下授权弹出窗口:
要访问请求的页面,请单击将授权URL复制到剪贴板,然后将 生成的令牌粘贴到浏览器的地址栏中。
但是,这种行为可能很烦人,例如,如果手动干预是不可能的话,它可能会阻止您的调试会话。要禁止显示授权弹出窗口,请选中允许未签名的请求复选框。
使用此页面来管理数据在调试器中的显示方式。
使用此页面可提高调试步进速度,并指定步进时要跳过的元素。
使用此选项卡来管理(热插拔)机制的行为。
使用此页面配置捕获点以便于异步代码的调试。
捕获点是代码中的一个地方,调试器捕获稍后到达代码中特定点(插入点)时使用的staktraces,并希望看到如何到达那里。IntelliJ IDEA通过用捕获的堆栈替换部分调用堆栈来实现这一点。有关异步调试的更多信息,请参阅调试异步流程。
异步堆栈跟踪是默认启用的。要禁用它们,请取消选择Instrumenting代理(需要调试器重新启动)选项。最常见的捕获点是内置的,所以不需要配置。
其他保持默认即可。
在IDEA中,我们会看到文件被标识着不同颜色:红色,绿色,蓝色。它们分别代表什么意思呢?
红色:未被版本控制的文件,即未添加到版本控制的文件,例如我们添加到ignore中的文件。
绿色:新加入版本的文件,即我们新创建的文件,还未提交到远程仓库。
蓝色:修改过的文件,即远程仓库中已有该文件,我们这次对它进行了修改,但是还未提交。
想实现单纯的commit功能,我们还可以通过快捷键 Ctrl + K ,亦或通过工具栏按钮。
pare with Branch…:与远程分支比较。我们提交前可以通过此功能比较下我们工作目录中代码和远程分支代码的异同。
5.Revert:回滚,会将你的本地修改回滚。
在开发中难免会遇到多人修改同一个文件,造成版本冲突,这时候如果需要程序正常运行并且确保功能完整就需要开发人员手动解决这些冲突,并将代码合并,得到最终一致性的代码最后再push到远程。
而这一块往往对很多人来说是最头疼的,操作不当可能会造成代码紊乱造成事故,其实理解了原理,熟练之后其实也没那么复杂。
这里需要介绍的内容蛮多而且需要细说, 如果关心这块的话可以关注下,后续不定期的更新添加和补充完善。
分支管理我们就需要用到IDEA底部的状态栏了。
在这里我们可以切换分支,新建分支,checkout分支代码,compare分支代码等等。
最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。
分别是安装JetBrains插件,第三方插件,本地已下载的插件包。详情见往期关于的文章。
idea背景修改插件,让你的idea与众不同,可以设置自己喜欢的图片作为code背景。
安装成功之后重启,菜单栏的VIew标签>点击Set Background Image(没安装插件是没有这个标签的),在弹框中路由选择到本地图片,点击OK即可。
自定义日志颜色,idea控制台可以彩色显示各种级别的log,安装完成后,在console中右键就能打开。
并且可以设置不同的日志级别的显示样式。
可以直接根据关键字搜索你想要的,搜索条件是支持正则表达式的。。
mybatis 插件,让你的mybatis.xml像java代码一样编辑。我们开发中使用mybatis时时长需要通过mapper接口查找对应的xml中的sql语句,该插件方便了我们的操作。
安装完成重启IDEA之后,我们会看到code左侧或多出一列绿色的箭头,点击箭头我们就可以直接定位到xml相应文件的位置。
Mybatis现在是java中操作数据库的首选,在开发的时候,我们都会把Mybatis的脚本直接输出在console中,但是默认的情况下,输出的脚本不是一个可以直接执行的。
如果我们想直接执行,还需要在手动转化一下。
MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来,无需处理,可以直接复制出来执行的,如图:
执行程序后,我们可以很清晰的看到我们执行了哪些sql脚本,而且脚本可以执行拿出来运行。
强大的字符串转换工具。使用快捷键,Alt+m。
阿里巴巴代码规范检查插件,当然规范可以参考《阿里巴巴Java开发手册》。
Java语言,每次写实体类的时候都需要写一大堆的setter,getter,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担,这也是Java被诟病的一种原因。Lombok则为我们解决了这些问题,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要编写或生成get/set等方法,很大程度上减少了代码量,而且减少了代码维护的负担。
安装完成之后,在应用Lombok的时候注意别忘了需要添加依,maven为例:
Key promoter 是IntelliJ IDEA的快捷键提示插件,会统计你鼠标点击某个功能的次数,提示你应该用什么快捷键,帮助记忆快捷键,等熟悉了之后可以关闭掉这个插件。
可根据json数据快速生成java实体类。
自定义个javaBean(无任何内容,就一个空的类),复制你要解析的Json,然后alt+insert弹出如下界面或者使用快捷键 Alt+S,在里面粘贴刚刚复制的Json,点击OK即可。
Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是cmd+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法requestmapping,查找的时候还是有那么一点不方便的,restfultookit就能很方便的帮忙进行查找。
就能直接定位到我们想要的controller。这个也是真心方便,当然restfultookit还为我们提供的其他的功能。根据我们的controller帮我们生成默认的测试数据,还能直接调用测试,这个可以是解决了我们每次postman调试数据时,自己傻傻的组装数据的的操作,这个更加清晰,比在console找数据包要方便多了。(图片来自于网络)
JRebel是一种热部署生产力工具,修改代码后不用重新启动程序,所有的更改便可以生效。它跳过了Java开发中常见的重建、重新启动和重新部署周期。
DEA功能详细,快捷键繁多,但是实际开发时不是所有都能用上,如果我们熟悉一些常用的也足够满足我们日常开发了,多的也只是提高我们的B格。
IDEA默认的主题有三款,分别是IntelliJ,Darcula,Windows。但是如果这几款不能满足你炫的个性可以考虑更换,更换方式如下:
开放的,在这里你可以挑选你中意的一款主题,然后下载保存到本地。
提醒:设置之前最好保存下现在默认的主题,File-->Export Settings,保存下来,下次想还原的时候使用。
6.类的层次和方法调用
9.查看接口方法和方法的实现
这些操作只能通过 "视图" 菜单使用。默认情况下, 它们没有映射到任何快捷方式, 但您可以按照配置键盘快捷方式中的说明创建自己的快捷方式。温馨提示:视图View的快捷键为:Alt + V;
除了操作工具窗口 (显示/隐藏或调整它们的大小) 之外,IntelliJ IDEA 还可以使整个产品窗口最大化, 隐藏主菜单。
在演示模式下,编辑器占据整个屏幕,而所有其他的 IntelliJ IDEA 组件都被隐藏。
此外,此模式中的字体大小比通常大。您可以在 "设置" 对话框的 "外观" 页中定义 "演示" 模式的字体大小。
在无干扰模式下,编辑器占据了整个 IntelliJ IDEA 框架,没有任何编辑器选项卡和工具窗口按钮,代码是居中对齐的。
我们在code的过程中时常会写测试代码,main函数,System.out这些语句使用率高但是书写又长,有没有什么简写呢?
今天暂时书写这么多,后面有机会再添加更新。
Debug模式是开发人员必会的一项调试程序的技能,用来追踪代码的运行流程,线上问题追踪,程序运行异常定位调试,以及在运行过程中参数的变化。IDEA的debug对于新手如何快速上手呢?
本篇文章是基于IntelliJ IDEA版本,最新的版本2018.2已经出来了,支持Java11,Debug模式的图标设计虽有微调改动,但是功能大体相通。
上图爬虫的图标就是Debug模式运行键,绿色三角形图标是正常的Run模式,长框中可以设置Debug运行配置。
打断点方法和Eclipse类似,只需要在自己想要调试的代码左边行号栏单击左键就可以,或者快捷键Ctrl+F8 打上/取消断点
Debug启动后,程序会停顿在第一个断点上,debug视图主要界面如下,各个按键分别是什么意思呢?
1. 重启项目,快捷键Ctrl + F5,一般在你的代码有改动后可执行这个功能,意味重新启动项目。
2. 恢复程序,快捷键F9,在有多个断点的情况下,会直接跳到下一个断点,如果当前断点为最后一个则直接运行结束。
我们打过的断点都可以在此窗口显示,如果想删除某个断点,则可以选中列表中的该断点,点击红色的减号来进行删除。或者也可以通过不选中该断点来使断点失效。另外,
这个是针对单个断点定制的,亦可以在项目中断点处右击调出该界面。
* 勾选Evaluate and log,可以在执行这行代码是计算表达式的值,并将结果输出到控制台。
6. 静哑断点,使所有断点无效,类似于无断点运行。选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。
例如:加入断点过多,我们在其中某一个断点已经找到问题想要的答案,后面的断点不想继续了,可以点击一下该功能,就可以直接运行到程序结束。
>>> 接下来是实际调试过程中常用用到的几个功能自左右向分别为:
1. Show Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
2. Step Over (F8):越过,一行一行地往下走,如果这一行上有方法不会进入方法。
3. Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
4. Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
5. Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
6. Drop Frame (默认无):回退断点,后面章节详细说明。
7. Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
在Debug过程中,跟踪查看变量的变化是非常必要的,这里就简单说下IDEA中可以查看变量的几个地方
1、在IDEA中,参数所在行后面会显示当前变量的值。
2、光标悬停到参数上,显示当前变量信息,快捷方便。
3、在Variables里查看,这里显示当前方法里的所有变量。
计算表达式,Evaluate Expression (Alt + F8) 。可以使用这个操作在调试过程中计算某个表达式的值,而不用再去打印信息。
1、点击计算表达式按钮或快捷键Alt + F8,你也可以选中某个表达式再Alt + F8,弹出计算表达式的窗口,如下,回车或点击Evaluate计算表达式的值。
这个表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值。
2、设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了。
鼠标右键点击断点,调出如下窗口,当然也可以通过快捷键Ctrl + Shift + F8
如上图通过设置Conditionn内容设置断点条件,通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。
如遍历集合或者数组的时候,我们只想当下标等于某个值的时候才进入断点调试。如下数组,我希望当 i=5时才进入断点,
一般debug都是单线程调试,但是开发过多线程应用,有些时候,为了观察多个线程间变量的不同状态,以及锁的获取等,就会想到在代码里加个断点debug一下。在IDE里断点停下来的时候,可以切换到另外的线程中,跑其他的代码,不会互相影响。但是在IntelliJ IDEA里默认是没有开启的。也就是说如果你在IDEA里代码里加断点,虽然一个线程的断了下来,但其他线程的已经执行过了。此处勾选上Suspend,并选择Thread,设置make default之后,也可以开始多线程应用的调试。
一个线程断下来之后,可以通过在线程窗口切换,到其它线程中继续运行。IntelliJ IDEA里在这儿切换
在调试的时候如果点击过快,错过了自己想要关注的那一行,如何能跳回到上一步呢?依靠后退执行的功能,可以后退,就像下棋时悔棋那种功能一样。
所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法。回退的方式有两种:
第一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法)。
第二种方式,在调用栈方法上选择要回退的方法,右键选择Drop Frame,回退到该方法的上一个方法调用处,此时再按F9(Resume Program),可以看到程序进入到该方法的断点处了。
但有一点需要注意,断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变了的是无法回退到之前的状态的,如对象、集合、更新了数据库数据等等。
网上查看了很多关于环境搭建的文章,都比较久远了很多安装包源都不可用了,今天收集了很多资料组合尝试使用新版本来搭建,故在此记录。
collectd安装在一台或多台被监控服务端,跟监控端的25826端口对接,上传本地监控的数据
2、提示不是私密链接不让保存
我一开始成功配置但不能展示出数据,感谢下面文章作者给出的指点: