做为一个从事 Java 开发的程序员,天天离不开编辑器的帮助。还记得刚开始学习 Java 编程的时候,使用 Eclipse 做为平常开发工具。后来工做之后,须要使用 Intellij IDEA,刚开始其实并不想怎么用。毕竟 Eclipse 已经足够强大,能够知足平常开发的需求,何须再花时间再去学习其余工具那。刚开始改变是困难的。可是没办法,公司强制使用,不得不去了解去使用。后来用了一段时间才发现 IDEA 是的真的强大。程序员
若是想学习Java工程化、高性能及分布式、深刻浅出。微服务、Spring,MyBatis,Netty源码分析的朋友能够加个人Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给你们。编程
真香啊~缓存
下面就来介绍一下本人以为 IDEA 一些强大的功能。编辑器
文中提到的快捷键只适用于 Windows 平台分布式
更加智能的协助开发微服务
咱们使用编辑器的目的就是在于简化开发难度,加快开发速度。IDEA 就有许多功能,能够更加智能的、更加快速的帮你完成代码开发。工具
代码提示源码分析
下面先介绍最基本的代码提示功能。性能
通常编辑器都会提供基本提示功能,能够快速提供可用的方法,变量等。固然 IDEA 也存在这个,在 IDEA 中使用 Ctrl + Space 能够快速提示。学习
PS:对于 Windows 平台用户,这个快捷键十分不友好,与输入法切换快捷键冲突,可使用以下方法解决。
一、 打开注册表,跳转到HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys目录下面
2.、选择00000070(中文繁体)或者00000010(中文简体)
3.、将Key Modifiers的第一个字节设置为00(02c00000->00c00000)
四、 将Virtual Key的第一个字节设置为ff(20000000->ff000000)
五、 注销用户而后从新登陆,搞定。
另外 HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys,保存的是当前用户的快捷键配置;
HKEY_USERS.DEFAULTControl PanelInput MethodHot Keys,保存的是默认的快捷键配置;
若修改上一个注册表很差使,那就把下面的默认的也修改了。
经测试,修改第一个,重启以后再也不生效,因此默认配置也须要修改。
----
除了最基本的代码提示功能,IDEA 还提供更加智能的代码提示功能,该功能能够基于上下文环境,智能帮你过滤可使用方法,推导出最适合的方法。该快捷键为 Ctrl+Shift+Space。
咱们用下面两张图比对二者的区别。
基本提示功能:
智能代码提示:
观察上面两图能够看出,基本代码提示功能会显示全部可用的方法建议,而智能代码提示根据上下文过滤了其余不可用的提示。
参数提示
若是想学习Java工程化、高性能及分布式、深刻浅出。微服务、Spring,MyBatis,Netty源码分析的朋友能够加个人Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给你们。
当一个方法参数列表过多时,咱们每每只会记住前两个参数类型,然后面参数类型咱们只能去翻阅方法才。在 IDEA 中,你无需这般作。只要你将光标放置在放入参数列表中,暂停一会,IDEA 就会帮你智能提示。
若是并不想等待一会,也能够,在方法内使用 ctrl +P 也能够快速出现提示框。
快速完成语句
在 IDEA 中,可使用快捷键 Ctrl+Shift+Enter 快速完成声明 if while 等语句。
在下面的例子中,咱们输入 while ,接着咱们输入快捷键,咱们能够看到 IDEA 自动帮咱们完整这个结构,而后只须要输入判断条件便可。
此外,咱们还能够用该快捷键完成下面的操做。
Postfix Code
这个模式能够在编写代码时减小向后插入符号跳转。咱们能够在变量后面直接跟上 if、for 等表达式,IDEA 会直接转换成相应的语句。
咱们还能够查看在设置中 Editor | General | Postfix Completion 查看更多用法。
Live Template
咱们有时候会保存一些代码片断,而后在须要的时候直接粘贴。而 IDEA Live Template 就能够帮咱们保存这个代码片断,且能够自定义关键字,须要的时候只须要输入关键字,就能够直接输出代码。并且 IDEA 也已经定义不少,咱们能够直接上手使用。
如上图,咱们能够输入 psfs,而后输入回车键或者 Tab 键,直接生成 public static final String。
输入 psvm,快速生成 main 方法。
咱们可使用下面的步骤自定义本身的 Live Template。
强大的搜索功能
开发的时候咱们会去查看类的源码,有时咱们只知道类的名字,殊不知道具体包的位置,这个时候IDEA 强大的搜索功能能够帮咱们迅速的找到。
咱们能够按两下 shift,在弹出的窗口输入类名,就能够找到。
这个功能不只能够找类,也能够用于找文件等。
还有的时候咱们可能只记得类中的某个关键字,那上面的方法就无效。可是不要紧,IDEA 还能够帮你用关键字去搜索找到
咱们只要输入 Ctrl+Alt+F 快捷键。
版本控制功能
在团队开发中,咱们就须要使用到相关版本控制工具,好比 SVN、Git 等。IDEA 默认自带强大版本控制工具,能够快速浏览代码变动,仓库提交历史以及合并代码。
咱们以 Dubbo Git 项目为例。咱们能够在 Version Control Log 处图形化查看仓库历史。
若是想学习Java工程化、高性能及分布式、深刻浅出。微服务、Spring,MyBatis,Netty源码分析的朋友能够加个人Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给你们。
协做开发的时候,很容易发生冲突,这个时候若是没有其余很好的工具,解决冲突是一件很麻烦的事,很是容易将代码合丢。
不过使用 IDEA 强大的解决冲突的功能,能够帮咱们解决这个问题。
当提交代码时,若存在代码冲突时,IDEA 显示冲突的文件.
点击文件,选择 Merge, 而后会显示窗口,咱们能够浏览两边代码,本身灵活选择到底选择本地变动或者服务端的变动。
这里说个小技巧,咱们协做开发时,如有些人使用 TAB 做为缩进而后提交代码,而当你使用空格做为缩进,一旦将代码格式化,你提交代码的时候,这个时候冲突就会是个在灾难。以下所示.
这样满屏充满干扰的变动的时候,很容易合错代码。
咱们选择忽略空白行,IDEA 会把这种自动或略空白行,这样咱们就能够针对本身变动合并便可。
重构功能
咱们编码的时候有可能会写错单词,写错并不可怕,怕的是你到最后才发现。这个时候你发现许多地方都用到这个,这个时候你在一个个变动就真的很费劲了。
不用怕,IDEA 重构功能就能够帮助到咱们。
IDEA 重命名功能能够快速帮修改全部引用这个变量的地方。
重构功能还能够快速提取方法。
其余
插件
IDEA 安装时就会集成不少官方插件,增长对其余技术,语言的支持。你若是不喜欢,能够根据本身的选择在 Setting/Plugins 自由选择启动或禁用。
你还能够在官方的插件平台 https://plugins.jetbrains.com/找到一些第三方很是优秀的插件,实现其余扩展功能,如翻译。
主题
IDEA 自带两套很是漂亮的主题。一套为亮色的,另外一套为暗色的。
我的以为暗色系列的主题,更加好看,且不刺眼。
若是不喜欢自带的主题,能够自定义,或者下载主题插件,如 Material Theme UI。
版本更新
IDEA 迭代更新速度较快,基本每半年就会有一个大版本更新,以及时常会有一些小版本更新。每次更新之后都会一些新功能。
IDEA 一些缺点
上面说了这么多 IDEA 功能,也讲讲一些 IDEA 的缺点。
IDEA 不少强大的功能都是基于其缓存与索引。当打开一个新项目的时候,IDEA 会自动创建索引。这个有时候对大型项目特别不友好,可能会出现卡顿现象。特别对于机械硬盘用户,这种现象会更加明显。
所以强烈建议 IDEA 建立索引的时候不要动项目,等待建立完毕便可。
还有一点就是 IDEA 中没有相似 Eclipse 中的 workspace 的概念,没法作到一个 IDEA 工程打开多个项目。这是刚从 Eclipse 转过来同窗困惑的地方。不过等你真正熟悉 IDEA,真的须要 workspace 吗?
结束
上面介绍 IDEA 这么多功能,没有在使用的读者们,不妨下载使用看看。刚开始从其余编辑器转过来确实很难,可是一旦你喜欢上 IDEA,你就不会释手了。
若是想学习Java工程化、高性能及分布式、深刻浅出。微服务、Spring,MyBatis,Netty源码分析的朋友能够加个人Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给你们。
加群直通车:854630135