本文已被https://yourbatman.cn收录;女娲Knife-Initializr工程可公开访问啦;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复“专栏列表”获取全部小而美的原创技术专栏
你好,我是YourBatman:一个俗人,贪财好色。
Title | Link |
---|---|
所属专栏 | [YourBatman]-IntelliJ IDEA,[YourBatman]-资讯/新特性 |
源代码 | https://github.com/yourbatman/FXP-java-ee |
程序员专用网盘公益上线啦,注册送1G超小容量,帮你实践做减法 | https://wangpan.yourbatman.cn |
Java开发软件包(Mac) | https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit |
女娲工程 | http://152.136.106.14:8761 |
版本约定 | [Mac OS 13.0.1],[IDEA 2022.3] |
????前言
按照IntelliJ IDEA 一年一个大版本,共计3个中型版本的约定,2022年11月30日IntelliJ IDEA 2022.3正式发布。吃肉之前,可先把这之前系列的汤喝了,每篇都很顶哦:
- IntelliJ IDEA 2022.3正式发布,配置云同步&支持Redis好用到炸
- IntelliJ IDEA 2022.2正式发布,支持Spring Boot 3和Spring 6
- IntelliJ IDEA 2022.1正式发布,我把Maven Helper卸载了
- IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德
- IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
- IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!
- IntelliJ IDEA 2019.3正式发布,给我们带来哪些新特性?
- IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line
笔者对这个版本的关注度,高于之前两个版本。主要是在其某次的EAP版本里增加了一个新特新:“全新UI”吸引到了我,这让我联想到了2个月前发布的Fleet体验版的UI,着实很有新鲜感。
这不,11月30号晚上10点左右,我打开官网看到了这一幕:恰巧碰到了工程师正在写Release Notes,但产品还未正式Release的场景。
睡觉吧,笔者第二天早上醒来第一时间升级到了最新版本,来张启动图感受一下:
这是2022.2版本的启动图:
✍正文
今年10月份,JetBrains宣布了其打造的下一代IDE —— Fleet,的公开预览版本供以免费下载免费使用,笔者也在第一时间体验了一把,总结其特点为:
- 从头构建
-
使用IntelliJ代码处理引擎
- 主流开发语言,一个IDE就够了
- 分布式IDE架
- 使用虚拟文件系统,走到哪编到哪
- 完全重新设计的UI
Fleet定位不会取代其它IDE,这里提到它,是因为在这个版本的IDEA升级中能看到它的身影(同样在PyCharm 2022.3等其它IDE上亦是如此)。
想体验一把Fleet的现在仍可免费下载和使用:https://www.jetbrains.com/fleet
????what’s new(新特性)
IntelliJ IDEA 2022.3中最直观的感受是:可以通过设置来切换到新UI,目前这套UI还是preview预览版本,但依旧能给你焕然一新的感觉:不是微整,是换脸。
有个笔者非常非常喜欢的升级点是:内置支持了Settings Sync(设置同步)的解决方案,再也不用依赖外部存储了,美滋滋。还有个亮点升级为:备受期待的Redis支持终于来了,现在DB&Redis全拿下。
下面简单介绍下重点升级的功能部分。
???? 全新UI
话不多说,笔者直接用两套UI的截图给你对比感受(均为IntelliJ IDEA 2022.3版本哦)。
“老”UI:
“新”UI:
新的UI官方吹捧它:外观干净、现代且功能强大,使用下来整体给我的印象其实就两字:简洁和聚焦。将更多的显示区域留给编辑区,收起更多功能按钮,使用快捷键操作来整体进而提升工作效率,这或许是设计哲学。
如何切换到新UI?在设置里呢:
这套UI还是beta阶段,但作为本次升级的第一亮点提出,重要性可想而知。因此:不管你习不习惯,看着爽不爽,如果你已经升级到IntelliJ IDEA 2022.3版本了的话,笔者推荐你保持使用新UI,毕竟到了2023年的版本,这套UI铁定转正,这是不可逆的趋势。
PS:这套UI笔者觉得还存在些不便的地方和一些小问题,正式版估计能够解决,拭目以待吧
????Settings Sync(设置同步)解决方案
这个太赞了。IntelliJ IDEA的设置项多入牛毛,每个人都会对其设置进行或多或少的调整,那么云存储这些设置项就成了刚需,否则不仅无法共享配置(比如家里一个IDE,公司一个IDE),而更坏的情况是当遇到IntelliJ IDEA奔溃无奈需要重新全新的安装一次时(或者你新买了一台电脑时?),设置来设置去半天的工期就没了。
从上面的截图可以看出,笔者对IDEA的私有化配置还是比较多的(比如个性化UI、主题、插件等)。之前版本里为了漫游这些配置项,需要借助“外力”:比如笔者将其存到自己的gitee仓库里
关于配置云同步功能,早在2020年IDEA加入Space协作空间时,笔者就在念叨配置云同步啥时能有。这不终于等到了:JetBrain内置支持啦,喜大普奔。
????支持连接到Redis
在Database里创建链接时,可看到新增了Redis的支持:
连接到Redis后的视窗如下:
体验几天下来,笔者的整体感觉还是非常不错的,毕竟JetBrain做功能软件从来没有让人失望过,值得信赖。
????编码相关升级
除了以上3大亮点外,其它方面的升级也就可圈可点了,针对编码相关的升级点再做简要介绍哈。
????更好的Spring Bean自动装配
代码写着写着发现需要引入一个Bean来使用,完成xxx功能。之前的做法必须得分两步:
- 去声明:一般为跑到类顶部去
@Autowired
注入进来 - 回去使用:回到编码处继续
现在“不需要”这么麻烦了,可以一步到位。比如下面示例:笔者需要使用这个Bean来完成功能,写到这就可以借助IDEA帮助我们来完成喽,一步到位:
选择autowire选项:
选择demoService后的效果如下:
不会改变光标位置:可无间断的继续编码,提升编码体验。
值得注意的是:上图展示的为IDEA通过构造器方式帮你把Bean注入进来了,而实际使用时我们大多数时候还是使用@Autowired
属性方式注入(虽然Spring早已不推荐这么做了,但这样代码看起来确实清爽好多),所以IDEA能想你所想:
可以看到,若IDEA发现你当前就是使用的@Autowired
属性方式注入的,那么它也会这么做,智能得一批。
????Reader模式下库代码可被格式化啦
IDEA在阅读库代码(jar包里面的代码)时有个实用的功能:阅读模式(Reader Mode),如下图所示:
我们知道jar包里面的代码是只读的,不能被修改的。也就是说它的代码格式也是固定的。虽然这一点不能改变,但IDEA这次在阅读器上做了“加强”:可以自定义阅读偏好。说白了:就是可以自定义规则了。
诚然,阅读一篇具有良好格式的文章是对效率有帮助,这在阅读代码时也是一样一样的:格式化过的代码(特别是按照自己偏好格式化过的代码)非常有助于阅读和理解。这就是IDEA提供此功能的意义所在:
举个例子:比如库里的源代码是这样的:
切换为阅读模式后,就变下图这样了:源代码被格式化为了我希望的格式,大大方便了阅读有木有。
这个小功能笔者认为非常实用,基本解决了你在看同事提供的jar包内代码时,觉得对方排版很乱而心生意见的问题。
????更好的Java检查和改进
现在,对于有些“坏味道”的代码,编译器能直接给与你提示并且给出建议的解决方案。如:
并行流方法重复使用了:
无谓的数组长度判断代码:下面这个case见过太多程序员这样做无用功了,除了增加“垃圾代码”外,也能体现出基础知识的不扎实呀。现在有IDEA帮你了,以后避免喽。
????解绑对Maven 2的支持
Apache Maven 2早在2009年就已EOL,这个版本IDEA终于将其全部拿下不再内建支持。
但考虑到有些上古项目还在使用Maven 2构建,因此IDEA将其独立成了一个插件,根据需要选择性安装即可。
????远程开发
Remote Development是IntelliJ IDEA在2020年新增的一项功能,目前依旧为beta版本:
此功能持续改进中,本次优化的有:
- Code With Me会话访客无法执行的操作已被明确标记
- 对Linux ARM64作为远程开发后端的测试版支持(之前不支持Linux ARM64作为远程开发的Server,只支持Linux X86)
- 重做了最近的 SSH 项目的概览
有兴趣的可以试试改功能,增加对未来趋势的把握。但是此功能,根据笔者之前体验过的经验,仍不建议作为主力开发手段。按照JetBrain的计划,2023年这项功能会转正,到时再会。
????其它升级
- 改进的Search Everywhere用户体验
- 改进的复制剪切粘贴行为
- 支持Java 19
- 支持Kotlin 1.7.20
- 支持Jakarta EE 10
- 改进对Kotlin的支持性能,据说性能提高5倍左右
- 改进对Scala 3的支持,提高智能性、性能等
- 改进对Micronaut框架的支持
- 改进HTTP 客户端
✍总结
每种技术是有红利期的,这一般体现在版本升级上。工具类软件一般建议可保持最新,代码类框架一般坐在第二排、第三排看戏。
作为程序员,或许注定了必须保持跟踪新事物、新技术、新版本的心态,但永远保持新鲜,能持续多久呢?
推荐阅读
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(Git&Other&完结篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(Live Template&Postfix Completion篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(重构篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(代码补全篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(运行/调试篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(视窗、选择篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(导航篇)
- [YourBatman]使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
我是YourBatman:前25年不会写Hallo World、早已毕业的大龄程序员。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签
- ????2013.07 清考、毕业答辩3次未通过、延期毕业
- ????2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
- ️️????2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
- ????2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
- ????2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
- ????????♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
- ????高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍
《Spring奇淫巧技》
序号 | 专栏名称 | 简介 |
---|---|---|
01 | [YourBatman]-程序人生 | 程序人生,人生程序 |
02 | [YourBatman]-资讯/新特性 | IDEA、JDK、Spring技术栈…新特性 |
03 | [YourBatman]-IntelliJ IDEA | 熟练使用IDEA就相当拥有物理外挂,助你高效编码 |
04 | [YourBatman]-Bean Validation | 熟练掌握数据校验,减少90%的垃圾代码 |
05 | [YourBatman]-日期时间 | 帮你解决JDK Date、JSR 310日期/其实 的一切问题 |
06 | [YourBatman]-Spring类型转换 | Spring类型转换-框架设计的基石 |
07 | [YourBatman]-Spring static | static关键字在Spring里的应用 |
08 | [YourBatman]-Cors跨域 | 关于跨域请求问题,本专栏足矣 |
09 | [YourBatman]-Jackson | Almost Maybe是最好的Jackson专栏 |
10 | [YourBatman]-Spring配置类 | 专讲@Configuration配置类,你懂的 |
11 | [YourBatman]-Spring技术栈 | 暂无所属小分类的,Spring技术栈大分类 |
12 | [YourBatman]-JDK | 暂无所属小分类的,JDK技术栈大分类 |
13 | [YourBatman]-Servlet | Servlet规范、Web相关内容专题 |
14 | [YourBatman]-Java EE | 从Java EE到Jakarta EE,30年弹指一挥间 |
15 | [YourBatman]-工具/提效 | 开发工具、软件工具,目标是提效 |
16 | [YourBatman]-Spring技术栈新特性 | Spring Framework、Spring Boot、Spring Cloud、Spring其它技术 |
17 | [YourBatman]-基本功 | 每个Javaer,都需要有扎实的基本功 |
… | … | … |
99 | 源代码库 | 大多数专栏均配有源代码,都在这里 |