肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!
IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能。于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下。总的来说呢,体验上明显的提升。
作为一个大版本的升级,自然也增加了许多新功能。个人体验了两天,
支持Java14,并且可以直接通过IDE去直接下载JDK完成安装配置
发布官方版汉化插件
导航栏优化可直接跳转至方法或对象所在位置
新增Mono字体(人称最适合程序员的字体)
LightEdit模式
终端的窗口拆分(水平/垂直拆分)
Zon(禅)模式
javadoc文档的渲染a
新增新的主题
更加智能的错误检测
Debug增强预处理
激活方法:https://shimo.im/docs/XXGr3gWJJ8kQjjPx
支持Java14
支持Records
用于获取声明数据类的方法,只通过一行代码就可以获取到数据。
public class Range {
private final int min;
private final int max;
public Range(int min, int max) {
this.min = min;
this.max = max;
}
public int getMin() {
return min;
}
public int getMax() {
return max;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Range range = (Range) o;
return min == range.min && max == range.max;
}
@Override
public int hashCode() {
return Objects.hash(min, max);
}
@Override
public String toString() {
return "Range{" +
"min=" + min +
", max=" + max +
'}';
}
}
如上数据类,无参构造方法;初始化时对成员变量赋值;成员变量只有getter方法;覆写了 超类 Object 的 equals 、hashCode、toString 方法。
使用Records只需要一样代码即可以实现上述功能
public record Range(int min, int max) {}
如果你的IDEA没有配置JDK,可以直接在IDEA内部进行JDK下载安装配置。
instanceof模式简化
我们经常会使用instanceof运算符将引用变量与类型进行比较的代码。如果结果为true ,那么就可以将其显式转换为与之比较的类型。
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s);
}
Java 14中的instanceof模式匹配引入了instanceof运算符的模式变量。如果instanceof条件为true,则模式变量将绑定到要比较的变量,从而避免了显式强制转换以使用其成员的需要。
于是我们可以改成这种写法
if (obj instanceof String s) {
System.out.println(s);
}
官方版汉化插件
官方这次更新之后支持了汉化版,汉化需要借助JetBrains官方提供的Chinese (Simplified) Language Pack EAP插件。可通过安装插件进行汉化
安装方法:
在Plugins 搜索“Chinese”第一个就是我们汉化时需要安装的插件。
我在另外一台电脑试着安装时,发现搜索不到这个插件。如果有同学遇到同样的问题,可以去IDEA插件中心进行搜索安装
地址:https://plugins.jetbrains.com/idea
按照提示操作,下载相应的版本,然后进行安装即可,安装方式有两种
直接将插件拖入至IDEA界面即可
在plugins界面通过导入本地文件进行安装
汉化之后的界面如下图所示,目前来看大部分内容已经汉化,还剩一点点菜单内容没有完成汉化。使用汉化之后突然竟然感觉不太会用了,我个人不建议使用汉化的。
导航栏优化
在IDEA2020之后的版本可以通过点击.java文件导航到具体的方法或者对象所在的位置。再此之前的版本可以通过Structure界面进行位置跳转
新增Mono字体
一款被称为目前最适合程序员的字体,新的版本下载之后自带了Mono字体。
长时间使用代码期间减轻眼睛疲劳的问题。同时考虑了字母的大小和形状等问题;它们之间的空间量,自然以等宽字体设计的平衡;一些看起来不必要的细节和符号之间不清楚的区别,例如I和l。
对于旧版本IDEA,如果想自行安装Mono字体,可以通过官网自行下载安装
地址:https://www.jetbrains.com/lp/mono/
LightEdit模式
可以理解为是一个轻量级的编辑器,可以在不加载项目的情况下,打开某个文件。
这样我们就可以用IDEA以编辑器的形式去打开Java文件,
如果需要打开并加载文件所在项目,只需要alt+enter之后选择Open file in project 即可。
终端的窗口拆分
这个更新,感觉真的提升了不少效率,多个终端在同一界面节省了来回切换的麻烦。
使用时是这样的,有没有感觉效率提升了不少呢?
Zon(禅)模式
一个可以让程序员全身心投入到写代码,不受外界干扰的一种模式。
启用方式如下图所示:
Enter/Exit Presentation Mode:进入/退出 展示模式
Enter/Exit Distraction Free Mode:进入/退出 免打扰模式
Enter/Exit Full Screen:进入/退出 全屏模式
Enter/Exit Zen Mode:进入/退出 禅模式(一个终极模式,包含以上3种模式)
下图为禅模式,整个屏幕就是你的编辑页面,带上耳机打开禅模式,真的会有一种瞬间全世界都清净的感觉!
javadoc文档的渲染
当我们去阅读源码的注释或者一些帮助文档API,可能含有各种标记,影响阅读,而通过javadoc渲染功能之后,会自动祛除一些不必要的标题。并且可以修改字体的大小,方便阅读!
如下是SimpleDateFormat中javadoc的一部分,是不是给人一种无法读下去的感受。
用了JavaDoc之后呢,它就是这样的了
新增新的主题
在view中点击Quick Switch Scheme,然后在弹出的对话框中点击Themes,可以更换IDEA的主题。
新增了统一的IntelliJ Light主题,这个主题已经在不同的操作系统中完全统一了。不过就我个人而言,还是更新换用Darcula黑灰色主题风格。
错误检测
比如我们在写日期转化的时候不小心写错了,如下:
public static void main(String[] args){
SimpleDateFormat sdf =
new SimpleDateFormat("YYYY-MM-dd");
System.out.println("this is a boy");
}
这里呢,IDEA就会在YYYY字符上进行高亮显示,鼠标放上去就会提示我们,点击下方的Replace ‘YYYY’ with ‘yyyy’ 会自动帮我们进行替换。
Debug增强预处理
如下代码
public static void main(String[] args) {
int a = 0;
while (a < 100) {
if (a == 3) {
System.out.println("+++++");
}
a++;
}
}
在第5行加了断点,当我们debug启动时,第6行就会进行与判断False。
执行到a = 3时,会与判断为True。
总结
以上就是我这两天体验了一下IDEA2020版本之后的测评清单,还有很多功能需要在平时的使用中进行挖掘。如果大家有什么新功能要分享欢迎留言区进行留言。最后呢,建议大家最好不要使用公司的电脑进行升级,以免引起不必要的麻烦耽误了正常工作。
最后呢,我录制了一个视频上传至B站了,大家可以去看一下。顺便记得点赞哦
https://www.bilibili.com/video/BV1ua4y1a7d7/
文末福利
肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!的更多相关文章
- 解锁Opera浏览器新姿势:【Surf The Internet In Right Ways】
下载Opera浏览器 官网下载:https://www.opera.com/zh-cn 更改PC系统区域 我的本子是win10,其他系统未测. 进入: 设置 → 区域和语言 将国家或地区设置为:中国台 ...
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- 程序员必须了解!IntelliJ IDEA 2020.2的新增功能
IDEA 因为之前破解过,所以家里的电脑都是19版本的,用的也比较顺手,也就一直懒得去动他,但是,程序猿的好奇心可能真的挺重,猎奇心里,在网上也看到了很多关于2020版本的idea的各种好处,于是,闲 ...
- Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功
申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...
- IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
向工具人致敬.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐 ...
- IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德
仰不愧天,俯不愧人,内不愧心.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://ww ...
- 【IDEA】IntelliJ IDEA 2020.1破解版
IntelliJ IDEA 2020.1破解版 2020-09-09 14:58:56 by冲冲 安装链接: 1. 百度网盘下载地址链接:https://pan.baidu.com/s/1cxjz ...
- 【代码审计】后台Getshell的两种常规姿势
0x00 前言 在早些年刚接触web安全的时候,基础套路都是找注入--找后台--找上传点--找数据库备份--Getshell,然而在代码审计的角度,也存在类似的基本操作. 这里结合代码实例介绍白盒Ge ...
- 05. flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中)
flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中) (1).position : <!DOCTYPE html> <html lang=" ...
随机推荐
- rust 学习之旅一, rust编程环境相关
Mac rust环境 rust安装: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rust更新: rustup upd ...
- VNC连接cnetos图形化界面
VNC连接cnetos图形化界面 Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功 ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 3. 浅层神经网络)
=================第3周 浅层神经网络=============== ===3..1 神经网络概览=== ===3.2 神经网络表示=== ===3.3 计算神经网络的输出== ...
- lw_oopc(c语言实现面向过程宏文件)解析
一:计算结构体成员变量偏移量宏 #ifdef LW_OOPC_USE_USER_DEFINED_OFFSETOF // 有些环境可能不支持,不过,这种情形极少出现 #define LW_OOPC_OF ...
- vscode启动vue项目出错,给了管理员权限没用
今天在安装vue环境测试项目的时候, 发现vscode调用终端异常,语句无法运行,百度上给的解决方法是给管理员权限 给了以后发现没用,怎么试都没用,然后想到了,重启大法,然后问题就完美解决了
- redis基础二----操作set数据类型
set集合是无序的,不能存在重复元素 bbb吃重复元素,是不能添加成功的 2 接下来分析zset,是有序的,你在添加的时候要指定元素的序列号 上面的 3 4 5 6 就是指定的元素的序列号 withs ...
- git常用命令(部分)
git常用命令 1.git init 初始化一个新本地仓库,它在工作目录下生成一个名为.git的隐藏文件夹. 安装好git的,新建一个文件夹,在空文件夹中鼠标右击点击Git Bash Here 2.g ...
- 【Model Log】模型评估指标可视化,自动画Loss、Accuracy曲线图工具,无需人工参与!
1. Model Log 介绍 Model Log 是一款基于 Python3 的轻量级机器学习(Machine Learning).深度学习(Deep Learning)模型训练评估指标可视化工具, ...
- 面试官:你精通多少种语言的 Hello World?
Hello World,是程序员入门编程语言的第一课.不论是C.C++还是Java ,我们写的第一个程序就是它了,还记得小编在大一C语言课上,花了一整节课时间才把它打印到控制台上.万事开头难啊,相信看 ...
- python用直方图规定化实现图像风格转换
以下内容需要直方图均衡化.规定化知识 均衡化:https://blog.csdn.net/macunshi/article/details/79815870 规定化:https://blog.csdn ...