如果你初次用idea,毫无目的的度娘如何使用IDEA     浪费的将会是大量的时间。为以表诚意,

上一套IDEA教学视频,以表我诚意。(下载地址:https://pan.baidu.com/s/1gfeX3hD)

当你坚持用一周用IDEA后,你会真正的爱上它,哪怕前几天是痛苦的熬过来,到最后你也会真正的明白为什么我会让你选择它!!!且看下文!!

1 爱恨交加却难以割舍的Eclipse

这真的是一个非常艰难的决定,我在大学那会就开始用Eclipse,一转眼都10来年了,基本Eclipse中我可能会用到的快捷键我都是下意识的就能按出来。记得第一次使用的时候,惊讶的发现竟然有界面精美、功能强大、运行流畅于一身的IDE,感觉就是梦幻般的存在。特别是Eclipse(日蚀)和Sun这个名称的关系,想想都忍俊不禁。

几年前有朋友推荐试用过IntelliJ,第一反应就是常用的快捷键都找不到了,改成eclipse适配快捷键还有很多常用的不一样。最终没玩多久就放弃了。

但是Eclipse又是这么多年来一直让我爱恨交加的IDE,稍有些复杂的框架就会出现N多不兼容的情况,但最终促使我下决心去找个更好用的IDE就是有时候真的不知道为什么同样的配置方式在不同机器却不一定都会生效。我可不想每次为了同事配置机器耗费几十分钟,最终还只能是几率性成功。

其实,在一般常用的开发中,Eclipse真的还是最容易学习上手的。但是Eclipse的代码层面设计真心不够好,以至于新版本发布后与旧版本插件居然还可能有兼容性问题。如果你没有被Eclipse的问题所困扰,其实完全可以继续使用。除非你看了下文,想法有所改变...

2 让开发更高效的IntelliJ IDEA

在用了一个月之后,渐渐发现他的强大之处,而且所有机器的配置都用一个配置手册搞定了,无一例外。我终于可以只丢一个文档给新员工自己去操作了,省下来好多时间可以喝茶写博客。

2.1 更好的项目管理方式

2.1.1 project & modules

刚切换过来原本还挺困惑的,之前一直听说只能一次打开一个工程,而我这边工程都是分模块化的,需要10多个工程组合在一起才能正常工作。后来发现,这里的Project是类似于eclipse中的workspace,而Module是类似于eclipse中的project。这里可不仅仅是名称简单更改了一下,IntelliJ中的Project真的是一个工程,有统一的Global Library,也可以正确的相互依赖,把原来为了方便开发的模块整合到一起进行管理。AWESOME!

2.1.2 超级方便的GIT项目管理

如果上一条你还没理解,这里有个最直观的例子,就是这么多工程每个都是一个独立的Git project(因为不同工程会有不同权限),做完一个功能都会有N个需要提交的module。之前总是会出现忘记提交某个模块的事情,但是现在的更新和提交就是对这个project下的所有module。就冲这点,就不得不换它了,不知道省下多少时间。

2.2 告别总是与预期不一致的配置

2.2.1 不一样但更清晰的Settings目录

该是IDE配置的东西都在Settings这里能找到,工程的配置也在Project Settings里面。为数不多的目录分层很清晰,现在反而奇怪为什么Eclipse的配置目录看起来那么晕。

2.2.2 告别总是改不掉的tab

Eclipse中真的是用尽浑身解数,配置了N处把tab改成4 spaces,但是你会发现在总有地方还是不生效。但是IntelliJ会完全按照你配置的预期来,而且默认就是4 spaces,只有SQL默认是2个。

2.2.3 默认的深色主题

终于能把整个界面快速改成酷酷的深色了,但是我最后还是上网去下了个配色感觉更好看,兼容性也很好。Eclipse只能把写代码的那一个窗口变成深色,还经常有颜色显示的BUG。。。

2.3 更高的开发效率

2.3.1 代码的自动生成以及ZenCoding支持

其实这个Eclipse里面也有,但是确实没他智能。举个例子,就是它能生成某个类的测试类,还能正确的放到test相应的目录下。

另外,ZenCoding支持非常好,写html非常方便,tab就是快速补全,和原生集成的一样。

2.3.2 对JS、CSS以及插件更好的支持

Eclipse里面基本对这两个支持度差到无法直视,因为我Web写的少,所以忍到现在。其他同事都是用其他IDE去写Web,用eclipse启动一下web server。现在只用这一个就行了。

2.3.3 更好的调试

对于这点,只能说是碉堡了,甩了Eclipse几条街。

运行过的行,可以立刻在代码界面提示相关的值,也不用一个Debug界面跳来跳去,而且还能在IDE中调试JS,代码和界面的自动刷新同步等等。我到现在也不知道为什么在Eclipse中有时候改了代码,有时候会热部署,有时候就是直接重启server,还有时候不手动重启都不生效。。。

2.3.4 快捷键

有更多更好用的快捷键,也有很多好用的新功能,自己去翻翻~

3 IntelliJ的坑

这个IDE也不是啥都好,在最初一周的试用评估阶段,也是一堆坑趟过来的。不得不吐槽一下!

Maven的功能集成度一般:和eclipse的管理界面比差不少,特别是新增配置只能修改XML,查看依赖需要到另外一个界面。

烦人的多层目录:如果你使用Maven,就会发现居然在Project模式下,需要逐一打开src/main/java这三层目录才能看到java文件,为什么不能一起打开。如果用Package模式,你会发现除了在classpath中的文件,什么都看不到,包括你WebContent下的,还要再开一个Web视图。

超小的默认内存,内存溢出崩溃不提示:启动内存一样要和Eclipse那样修改配置文件,但是崩溃了就直接界面消失,找了一圈才发现自带的JRE下有个崩溃日志,发现内存居然不够,最后加到1.5G才能稳定运行。

社区版的功能太弱,商业版收费不低:除非你只写最基本的Java代码,涉及Web开发等真的没有商业版,这个IDE也不怎么好用。

git的push:我真心不知道为什么不放到alt+~的菜单或者右上角VCS控制中,藏那么深,只能用ctrl+shift+k去打开界面。

console多且分散:这个不是不好,它把不同的输出放到不用的Console中,非常清晰,但是刚开始使用,你会发现你不确定会输出到哪里,在哪里能看到。只能说学习成本高了一点。

Tool Buttons默认没打开:这个为什么不打开,虽然左下角有个图标可以点开,但是你确定第一次使用看不到这些Buttion,用户能找到相应的地方?!

作者:八戒程序猿
链接:https://www.jianshu.com/p/9d6e8e9a4556
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

intellIJ IDEA学习笔记的更多相关文章

  1. intellIJ IDEA学习笔记2

    常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boilerplate样板代码 例如要输入for(User user : users)只需输入user.f ...

  2. IntelliJ IDEA 学习笔记

    之前一直用Eclipse,最近尝试使用IDEA,相较于 Eclipse 而言,IDEA强大的整合能力,比如: Git. Maven. Spring 等:提示功能的快速. 便捷:提示功能的范围广:好用的 ...

  3. intellIJ IDEA学习笔记3

    intellij idea 的快捷鍵 https://blog.csdn.net/wei83523408/article/details/60472168 https://www.cnblogs.co ...

  4. IntelliJ IDEA 学习笔记 - 修改编码

    感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...

  5. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  6. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  7. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  8. springmvc学习笔记---idea创建springmvc项目

    前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...

  9. Beego学习笔记——开始

    beego简介 beego是一个快速开发Go应用的http框架,他可以用来快速开发API.Web.后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado.sinatra.fl ...

随机推荐

  1. 数据结构与算法分析(C++)读书笔记

    第一章 综述 数学知识复习: 指数.对数.级数.模运算.证明方法(证明数据结构分析几轮最常用方法:归纳法.反证法) 递归简论 C++知识:类.细节.模板.矩阵.

  2. c++字符数组

    题目描述 题目描述 输入一个英文句子(长度不会超过100),和他的长度,统计每个字母出现的个数. 输入 第一行包括一个整数,表示句子的长度,长度不会超过100.数字后可能会有多余的无效字符 请gets ...

  3. vue源码阅读(二)

    一 一个实例 如果简单了解过些Vue的API的话,肯定会对一下这个特别熟悉,在上一篇里,分析了Vue的核心文件core的index.js构造vue函数执行的流程. 那么下边这个则是实例化构造函数,也就 ...

  4. WinForm控件之【CheckBox】

    基本介绍 复选框顾名思义常用作选择用途,常见的便是多选项的使用: 常设置属性.事件 Checked:指示组件是否处于选中状态,true为选中处于勾选状态,false为未选中空白显示: Enabled: ...

  5. MyBatis foreach标签的用法

    From<MyBatis从入门到精通> 一.foreach实现in集合 1.映射文件中添加的代码: <!-- 4.4 foreach用法 SQL语句有时会使用IN关键字,例如id i ...

  6. kali linux上安装ssh

    1.暂停kali上的ssh进程 root@kali:~# sudo stop ssh 2.卸载ssh服务 root@kali:~# apt-get remove openssh-server 这里可能 ...

  7. Java多线程下载器FileDownloader(支持断点续传、代理等功能)

    前言 在我的任务清单中,很早就有了一个文件下载器,但一直忙着没空去写.最近刚好放假,便抽了些时间完成了下文中的这个下载器. 介绍 同样的,还是先上效果图吧. Jar包地址位于 FileDownload ...

  8. Python学习2——Python单行注释、整段注释使用方法

    Python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的. python注释也有自己的规范,在文章中会介绍到. 注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被 ...

  9. HBase的优化

    HBase的优化 高可用 在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整个 HBase ...

  10. bootstrap table 父子表实现【无限级】菜单管理功能

    bootstrap table 父子表实现[无限级]菜单管理功能 实现效果 前端代码 <%@ page language="java" import="java.u ...