为什么选择 Intellij IDEA 作为日常开发工具

时间:2022-12-12 10:38:02

作为一个从事 Java 开发的程序员,每天离不开编辑器的帮助。还记得刚开始学习 Java 编程的时候,使用 Eclipse 作为日常开发工具。后来工作以后,需要使用 Intellij IDEA,刚开始其实并不想怎么用。毕竟 Eclipse 已经足够强大,可以满足日常开发的需求,何必再花时间再去学习其他工具那。刚开始改变是困难的。但是没办法,公司强制使用,不得不去了解去使用。后来用了一段时间才发现 IDEA 是的真的强大。

真香啊~

下面就来介绍一下本人觉得 IDEA 一些强大的功能。

文中提到的快捷键只适用于 Windows 平台

更加智能的协助开发

我们使用编辑器的目的就是在于简化开发难度,加快开发速度。IDEA 就有许多功能,可以更加智能的、更加快速的帮你完成代码开发。

代码提示

下面先介绍最基本的代码提示功能。

一般编辑器都会提供基本提示功能,可以快速提供可用的方法,变量等。当然 IDEA 也存在这个,在 IDEA 中使用 Ctrl + Space 可以快速提示。

PS:对于 Windows 平台用户,这个快捷键十分不友好,与输入法切换快捷键冲突,可以使用如下方法解决。


1、 打开注册表,跳转到HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys目录下面
2.、选择00000070(中文繁体)或者00000010(中文简体)
3.、将Key Modifiers的第一个字节设置为00(02c00000->00c00000)
4、 将Virtual Key的第一个字节设置为ff(20000000->ff000000)
5、 注销用户然后重新登录,搞定。
另外 HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys,保存的是当前用户的快捷键配置;
HKEY_USERS.DEFAULT\Control Panel\Input Method\Hot Keys,保存的是默认的快捷键配置;
若修改上一个注册表不好使,那就把下面的默认的也修改了。
经测试,修改第一个,重启之后不再生效,所以默认配置也需要修改
----
除了最基本的代码提示功能,IDEA 还提供更加智能的代码提示功能,该功能可以基于上下文环境,智能帮你过滤可以使用方法,推导出最适合的方法。该快捷键为 Ctrl+Shift+Space

我们用下面两张图比对两者的区别。

基本提示功能:

为什么选择 Intellij IDEA 作为日常开发工具

智能代码提示:

为什么选择 Intellij IDEA 作为日常开发工具

观察上面两图可以看出,基本代码提示功能会显示所有可用的方法建议,而智能代码提示根据上下文过滤了其他不可用的提示。

参数提示

当一个方法参数列表过多时,我们往往只会记住前两个参数类型,而后面参数类型我们只能去翻阅方法才。在 IDEA 中,你无需这般做。只要你将光标放置在放入参数列表中,暂停一会,IDEA 就会帮你智能提示。

如果并不想等待一会,也可以,在方法内使用 ctrl +P 也可以快速出现提示框。

为什么选择 Intellij IDEA 作为日常开发工具

快速完成语句

在 IDEA 中,可以使用快捷键 Ctrl+Shift+Enter 快速完成声明 if while 等语句。

在下面的例子中,我们输入 while ,接着我们输入快捷键,我们可以看到 IDEA 自动帮我们完整这个结构,然后只需要输入判断条件即可。

为什么选择 Intellij IDEA 作为日常开发工具

此外,我们还可以用该快捷键完成下面的操作。

为什么选择 Intellij IDEA 作为日常开发工具

Postfix Code

这个模式可以在编写代码时减少向后插入符号跳转。我们可以在变量后面直接跟上 iffor 等表达式,IDEA 会直接转换成相应的语句。

为什么选择 Intellij IDEA 作为日常开发工具

我们还可以查看在设置中 Editor | General | Postfix Completion 查看更多用法。

Live Template

我们有时候会保存一些代码片段,然后在需要的时候直接粘贴。而 IDEA Live Template 就可以帮我们保存这个代码片段,且可以自定义关键字,需要的时候只需要输入关键字,就可以直接输出代码。而且 IDEA 也已经定义很多,我们可以直接上手使用。

为什么选择 Intellij IDEA 作为日常开发工具

如上图,我们可以输入 psfs,然后输入回车键或者 Tab 键,直接生成 public static final String

输入 psvm,快速生成 main 方法。

我们可以使用下面的步骤自定义自己的 Live Template

为什么选择 Intellij IDEA 作为日常开发工具

强大的搜索功能

开发的时候我们会去查看类的源码,有时我们只知道类的名字,却不知道具体包的位置,这个时候IDEA 强大的搜索功能可以帮我们迅速的找到。

我们可以按两下 shift,在弹出的窗口输入类名,就可以找到。

为什么选择 Intellij IDEA 作为日常开发工具

这个功能不仅可以找类,也可以用于找文件等。

还有的时候我们可能只记得类中的某个关键字,那上面的方法就无效。但是没关系,IDEA 还可以帮你用关键字去搜索找到
我们只要输入 Ctrl+Alt+F 快捷键。

为什么选择 Intellij IDEA 作为日常开发工具

版本控制功能

在团队开发中,我们就需要使用到相关版本控制工具,比如 SVN、Git 等。IDEA 默认自带强大版本控制工具,可以快速浏览代码变更,仓库提交历史以及合并代码。

我们以 Dubbo Git 项目为例。我们可以在 Version Control Log 处图形化查看仓库历史。

为什么选择 Intellij IDEA 作为日常开发工具

协作开发的时候,很容易发生冲突,这个时候如果没有其他很好的工具,解决冲突是一件很麻烦的事,非常容易将代码合丢。

不过使用 IDEA 强大的解决冲突的功能,可以帮我们解决这个问题。

当提交代码时,若存在代码冲突时,IDEA 显示冲突的文件.

为什么选择 Intellij IDEA 作为日常开发工具

点击文件,选择 Merge, 然后会显示窗口,我们可以浏览两边代码,自己灵活选择到底选择本地变更或者服务端的变更。

为什么选择 Intellij IDEA 作为日常开发工具

这里说个小技巧,我们协作开发时,若有些人使用 TAB 作为缩进然后提交代码,而当你使用空格作为缩进,一旦将代码格式化,你提交代码的时候,这个时候冲突就会是个在灾难。如下所示.

为什么选择 Intellij IDEA 作为日常开发工具

这样满屏充满干扰的变更的时候,很容易合错代码。

。。。。
。。。。

我们选择忽略空白行,IDEA 会把这种自动或略空白行,这样我们就可以针对自己变更合并即可。

为什么选择 Intellij IDEA 作为日常开发工具

重构功能

我们编码的时候有可能会写错单词,写错并不可怕,怕的是你到最后才发现。这个时候你发现许多地方都用到这个,这个时候你在一个个变更就真的很费劲了。

不用怕,IDEA 重构功能就可以帮助到我们。

IDEA 重命名功能可以快速帮修改所有引用这个变量的地方。

为什么选择 Intellij IDEA 作为日常开发工具

重构功能还可以快速提取方法。

为什么选择 Intellij IDEA 作为日常开发工具

其他

插件

IDEA 安装时就会集成很多官方插件,增加对其他技术,语言的支持。你如果不喜欢,可以根据自己的选择在 Setting/Plugins *选择启动或禁用。

你还可以在官方的插件平台 https://plugins.jetbrains.com/找到一些第三方非常优秀的插件,实现其他扩展功能,如翻译。

主题

IDEA 自带两套非常漂亮的主题。一套为亮色的,另一套为暗色的。

为什么选择 Intellij IDEA 作为日常开发工具

个人觉得暗色系列的主题,更加好看,且不刺眼。

如果不喜欢自带的主题,可以自定义,或者下载主题插件,如 Material Theme UI

版本更新

IDEA 迭代更新速度较快,基本每半年就会有一个大版本更新,以及时常会有一些小版本更新。每次更新以后都会一些新功能。

IDEA 一些缺点

上面说了这么多 IDEA 功能,也讲讲一些 IDEA 的缺点。

IDEA 很多强大的功能都是基于其缓存与索引。当打开一个新项目的时候,IDEA 会自动建立索引。这个有时候对大型项目特别不友好,可能会出现卡顿现象。特别对于机械硬盘用户,这种现象会更加明显。

因此强烈建议 IDEA 创建索引的时候不要动项目,等待创建完毕即可。

还有一点就是 IDEA 中没有类似 Eclipse 中的 workspace 的概念,无法做到一个 IDEA 工程打开多个项目。这是刚从 Eclipse 转过来同学困惑的地方。不过等你真正熟悉 IDEA,真的需要 workspace 吗?

结束

上面介绍 IDEA 这么多功能,没有在使用的读者们,不妨下载使用看看。刚开始从其他编辑器转过来确实很难,但是一旦你喜欢上 IDEA,你就不会释手了。

IDEA 还有其他很多功能,一篇文章不能全部都说到,各位读者可以自行去探索。博主每次研究 IDEA 的功能时,都能发现一些以前不知道的技巧。

为什么选择 Intellij IDEA 作为日常开发工具的更多相关文章

  1. PHP日常开发工具-Sublime应用

    工欲善其事,必先利其器.这里我推荐Sublime Text3做为PHP编辑器,以下简称为ST3,因为不仅系统资源占用小.打开快速,并且还有如下优点: 插件多,类似Emmet信手拈来,非常顺手. UI很 ...

  2. 使用intellij的idea集成开发工具中的git插件(转)

    转自:https://blog.csdn.net/u012225679/article/details/71123171 注意:这里并没有介绍git客户端的安装,如果要安装客户端,大家可以参考如下的链 ...

  3. 【IDEA】使用intellij的idea集成开发工具中的git插件

    注意:这里并没有介绍git客户端的安装,如果要安装客户端,大家可以参考如下的链接: http://www.runoob.com/git/git-install-setup.html 1.在使用这个id ...

  4. IDEA的几个常用配置,日常开发必备。

    用了IDEA有很长时间了,身边的同事朋友也都慢慢的开始都从Eclipse切换到IDEA了,其实无论是Eclipse还是IntelliJ IDEA都是开发工具而已,各自都有优点.但是刚从Eclipse切 ...

  5. IntelliJ IDEA 开发工具项目maven管理

    今天自己重新部署一下intellij下的项目开发环境,顺便把maven管理项目jar包的方法梳理一下 (1)首先下载apache-maven-3.0.4版本的maven,我自己解压在D:\maven\ ...

  6. Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解

    原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使 ...

  7. JetBrains IntelliJ IDEA for Mac 15.0 破解版 – Mac 上强大的 Java 集成开发工具

    应网友要求更新. IntelliJ IDEA 是最强大的 Java IDE 之一,由知名的Jetbrainsg公司出品,最新版本增加了大量强大易用的特性,比如 Java 8 的Lambda 表达式调试 ...

  8. Java开发工具IntelliJ IDEA使用教程:创建新的Andriod项目

    IntelliJ IDEA社区版作为一个轻量级的Java开发IDE,本身是一个开箱即用的Android开发工具. 注意:在本次的教程中我们将以Android平台2.2为例进行IntelliJ IDEA ...

  9. 开发工具IntelliJ IDEA的安装与操作

    开发工具IntelliJ IDEA的安装与操作 1.1 开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就 ...

随机推荐

  1. 技术笔记:Indy的TIdSMTP改造,解决发送Html和主题截断问题

    使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制... 1.邮件包含TIdText和TIdAttachment时会出现T ...

  2. Memo

    1.Webpack: node_modules/css/index.js didn't return a function   npm install css-loader style-loader ...

  3. Ubuntu修改mysql默认编码的方法

    ubuntu使用apt-get安装mysql后,server的默认编码是latin1,下面把server的编码修改成utf8. 编码相关信息: 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  4. MappingJacksonHttpMessageConverter过期

    最新在做一个SSM整合学习项目,maven加上jackson库,spring配置json,tomcat不能正常部署启动 Maven配置 <!-- 引入jackson,防止ajax调用返回json ...

  5. &lbrack;转&rsqb;Linux下权限掩码umask

    本文转自:http://www.cnblogs.com/123-/p/4188942.html ---------------------------------------------------- ...

  6. myscroll

    <!DOCTYPE html> <head><meta http-equiv="Content-Type" content="text/ht ...

  7. 百家搜索:在网站中添加Google、百度等搜索引擎

    来源:http://www.ido321.com/1143.html 看到一些网站上添加了各种搜索引擎.如Google.百度.360.有道等,就有点好奇,这个怎么实现?研究了一各个搜索引擎怎么传送关键 ...

  8. 利用yield 实现Xrange功能

    def xrange(n): start = 0 while True: if start>n: return yield start start+=1 obj = xrange(5) n1 = ...

  9. css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位

    css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位 height:100vh 一些只能vw, vh才能完成的应用场景: 1. 场景之:元素的尺寸限制 vw vh 主要是 ...

  10. 【系列教程1】Gradle入门系列二:第一个Java项目

    这篇教程的主要内容是讲解如何用Gradle编译和打包一个简单的Java项目. 该Java项目只有一个需求:我们的构建脚本必须创建一个可执行的Jar文件,换句话说,我们必须能够使用命令java -jar ...