IntelliJ IDEA 从入门到上瘾教程,2019图文版!
前言:IntelliJ IDEA
如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。
其实笔者也是一枚从Eclipse转IDEA的探索者,随着近期的不断开发实践和调试,逐步体会到这款智能IDE带来的巨大开发便利,在强大的插件功能支持下,诸如对Git和Maven的支持简直让人停不下来,各种代码提示,包括JS更是手到擒来,最终不得不被这款神奇的IDE所折服。为了让身边更多的小伙伴参与进来,决定写下这篇文章。
1. IDEA VS Eclipse 核心术语比较
由下图可见:两者最大的转变就在于工作空间概念的转变,并且在IDEA当中,Project和 Module是作为两个不同的概念,对项目结构是具有重大意义的,这也恰恰是许多IDEA初学者觉得困扰的地方。

1.1 为什么要取消工作空间?
答:简单来说,IDEA不需要设置工作空间,因为每一个Project都具备一个工作空间!!对于每一个IDEA的项目工程(Project)而言,它的每一个子模块(Module)都可以使用独立的JDK和MAVEN配置。这对于传统项目迈向新项目的重构添加了极大的便利性,这种多元化的灵活性正是Eclipse所缺失的,因为开始Eclipse在初次使用时已经绑死了工作空间。
1.2 此外,很多新手都会问,为什么IDEA里面的子工程要称为Module ?
答:其实就是模块化的概念,作为聚合工程亦或普通的根目录,它称之为Project,而下面的子工程称为模块,每一个子模块之间可以相关联,也可以没有任何关联。
2. 当前项目配置VS 默认配置
2.1 为什么有了当前项目配置,还需要默认配置呢?
答:因为IDEA没有工作空间的概念,所以每个新项目(Project)都需要设置自己的JDK和MAVEN等相关配置,这样虽然提高了灵活性,但是却要为每个新项目都要重新配置,这显然不符合我们的预期。在这个背景下,默认配置给予当前项目配置提供了Default选项,问题自然就迎刃而解了。
补充:IDEA为了明确这个新项目配置的概念,在2018.2之后的正式版本已正式将“Default Settings”名字修改“ Default Settings /ProjectStructs”,即“默认配置”就是指“新项目配置”。
2.2 初始化步骤
打开默认配置:顶部导航栏 -> File -> Other Settings -> Default Settings /ProjectStructs
打开当前配置:顶部导航栏 -> File -> Settings / ProjectStructs
示例图:

如果当前项目想覆盖默认配置,直接在Settins/Project Structure设置即可。
接下来,来看看IDEA如何快速搭建Java开发环境!!
3. 全局JDK(默认配置)
具体步骤:顶部工具栏 File ->Other Settins -> Default Project Structure -> SDKs -> JDK
示例:根据下图步骤设置JDK目录,最后点击OK保存。

注:SDKs全称是Software Development Kit ,因为IDEA支持JDK等多种开发工具包。
同理,当前项目在Project Structure可为工程和各模块设置喜欢的JDK版本。
4. 全局Maven(默认配置)
具体步骤:顶部工具栏 File ->Other Settings -> Default Settings -> Build & Tools -> Maven
示例:理论上只要配置了Maven主目录即可,实际开发推荐采用User Settins file。

这里提醒一下,Apache Maven 本地仓库的地址是自动生成的,通常在C盘的用户目录里,所以在实际开发中推荐大家指定本地仓库的地址,避免因重装系统或被第三方安全工具清理而丢失数据。Maven的配置很简单,删掉注释后一目了然。如图:

打开Maven神器
还在Eclipse使用Update命令苦苦挣扎的童鞋,请火速尝试IDEA提供的Maven插件,其操作的便利性将给你带来前所未有的愉快感!!
具体步骤:右侧工具栏 Maven -> 点击展开某工程或模块 ->快速执行Maven命令。

5. 版本控制Git/Svn (默认配置)
具体步骤:顶部工具栏 File ->Other Settings -> Default Settings -> Version Control -> Git
使用说明:IDEA默认集成了对Git/Svn的支持 直接设置执行程序,右边Test提示成功即可。
问题反馈:有部分小伙伴反馈说IDEA无法找到svn.exe,解决方法:重装SVN,配置项重新选择command line client tools 即可。

PS: IDEA内置的Git插件灰常好用,尤其是解决冲突性的代码。另外Git客户端推荐SourceTree。
6. 自动导包和智能移除 (默认配置)
具体步骤:顶部工具栏 File ->Other Settings -> Default Settings -> Auto Import
使用说明:在网上看到很多人在提问IDEA为什么不能优化导包而Eclipse可以,这不是低端黑嘛, 所以特意抽出来跟大家分享IDEA如何优化导包。

7. Tomcat Server(当前项目配置)
很多小伙伴刚开始都找不到Tomcat的配置,其实很简单,Tomcat或者Jetty这些都是部署的容器,自然会联想到Deployment ,打开部署配置,可以看到应用服务器的配置。
配置Tomcat方法:File -> Settings -> Deployment -> Application Servers -> Tomcat Server
具体配置方法,如下图:

IDEA 必备小技能
8. 自动编译
具体步骤:顶部工具栏 File ->Other Settings -> Default Settings -> Auto Import
说明:开启自动编译之后,结合Ctrl+Shift+F9 会有热更新效果。

自动编译(Runtime)
具体步骤:敲击 Ctrl + Shift + Alt + / 然后双击Shift搜索进入Registry ,找到compiler.automake.allow.when.app.running ,然后勾选上。


9. 取消大小写敏感
具体步骤:
File | Settings | Editor | General | Code Completion Case | Sensitive Completion = None
取消大小敏感,在编写代码的时候,代码的自动提示将更加全面和丰富。

10. 调整字体类型和字体大小
默认的白色背景和细小的字体会影响大家的编码体验,这里特意提供了调整代码窗的快捷配置。打开配置,搜索Font,然后再Font可以调整字体类型,Size可以调整字体大小,如图:

11. 将快捷键设置为跟Eclipse一样
很多人可能并不习惯IDEA的快捷键,为了方便,这里我们将快捷键设置为跟 Eclipse一样。
具体步骤: File -> Settings -> Keymap - > 选择Eclipse .

从Eclipse转过来的小伙伴 可以放心使用
12. 打开常用工具栏
具体步骤:顶部导航栏 - View -> 勾选 Toolbar & Tool Buttons
如下图所示:

13. 懒人必备快捷键
A. 按【鼠标中键】快速打开智能提示,取代alt+enter 。
File->Settings-> Keymap-> 搜索 Show Intention Actions -> 添加快捷键为鼠标中键。
B. 按【F2】快速修改文件名,告别双手操作。
File->Settings-> Keymap-> 搜索 Rename -> 将快捷键设置为F2 。
C. 按【F3】直接打开文件所在目录,浏览一步到位。
File->Settings-> Keymap-> 搜索 Show In Explorer -> 将快捷键设置为F3 。
D. 按【Ctrl+鼠标右键】直接打开实现类,方便开发查询。
File->Settings-> Keymap-> 搜索 implementation-> Add Mouse Shortcut 将快捷键设置为Ctrl+ 鼠标右键。
14. 重度强迫症患者
A.取消大小写敏感,让自动提示更齐全!
File | Settings | Editor | General | Code Completion Case | Sensitive Completion = None。
B.隐藏开发工具的配置目录 例如 .idea;.iml
File | Settings | File Types | 在末尾加上 .idea;.iml
C.收起注释,让源码阅读更为清爽!
File -> Settings -> Editor -> General -> Code Folding -> Documentation comments 勾选。
如何想快速一键打开全部注释,则单击鼠标右键,选择Folding -> Expand Doc comments 。
15. IDEA十问十答
(1).如何打开本地工程/已存在的工程?
答:点击File -> Open 打开 工程文件夹即可,注意先配置好JDK、Maven等基础配置。
(2).IDEA如何删除项目工程?
答:问这个问题的Coder真的好可爱啊哈哈,很肯定的回答你,不需要删,
点击File-> Close Project 即可快速关闭当前项目;
示例:
什么?你还是想要干掉整个目录?那也阔以,右键Show In Explorer ,删掉文件夹 即可。不过笔者建议还是直接Close关掉就好啦,万一以后用得上呢,你说呢?

(3).如何在单个窗口打开多个Maven工程啊?
答:随便新建一个文件夹,然后将工程都扔进去,使用IDEA打开这个文件夹。
(4).如何为当前项目工程添加多个模块啊?
答:对着工程右键 -> 选择New -> Module -> 通常选择Spring Initializr ,如图:


IntelliJ IDEA 从入门到上瘾教程,2019图文版!的更多相关文章
- IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾
IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾 前言:IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是 ...
- Intellij IDEA 从入门到上瘾 图文教程
1. IDEA VS Eclipse 核心术语比较 由下图可见:两者最大的转变就在于工作空间概念的转变,并且在IDEA当中,Project和 Module是作为两个不同的概念,对项目结构是具有重大 ...
- IntelliJ IDEA 12 创建Web项目 教程 超详细版
IntelliJ IDEA 12 新版本发布 第一时间去官网看了下 黑色的主题 很给力 大体使用了下 对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...
- IntelliJ IDEA 12 创建Web项目 教程 超详细版【转】
IntelliJ IDEA 12 新版本发布 第一时间去官网看了下 黑色的主题 很给力 大体使用了下 对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...
- WCF入门教程(图文)VS2012
WCF入门教程(图文)VS2012 上一遍到现在已经有一段时间了,先向关注本文的各位“挨踢”同仁们道歉了.小生自认为一个ITer如果想要做的更好,就需要将自己的所学.所用积极分享出来,接收大家的指导和 ...
- MyBatis学习总结-MyBatis快速入门的系列教程
MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [ ...
- Git入门基础详情教程
前言 写了一篇文章<一篇文章了解Github和Git教程>还觉得不错,继续写了<为了Github默默付出,我想了解你>,那么继续写Git 基础知识. Git 官网:https: ...
- IntelliJ IDEA详细配置和使用教程-字体、编码和基本设置
IDEA使用--字体.编码和基本设置 https://blog.csdn.net/frankcheng5143/article/details/50779149 IntelliJ IDEA详细配置和使 ...
- phpstorm破解 IntelliJ IDEA License Server本地搭建教程 http://blog.lanyus.com/archives/174.html/comment-page-6#comments 附件:mac环境
ilanyu's Blog 搜索关键字搜索 首页IDEA注册码文件中转在线记事本老博客关于 IntelliJ IDEA License Server本地搭建教程 作者: ilanyu 时间: Marc ...
随机推荐
- P2822组合数问题
组合数问题(NOIP2016提高组Day2T1) Time Limit:1000MS Memory Limit:512000K [题目描述] 组合数表示的是从n个物品中选出m个物品的方案数.举个例子 ...
- E11000 duplicate key error index
E11000 duplicate key error index mongodb插入报错,重复主键问题,有唯一键值重复 一般使用collection.insertOne(doc);插入一条已存在主键的 ...
- canvas制作表单验证码
canvas是个非常强大的组件,网页上的验证码一般都是用服务器语言制作出来的 canvas同样是可以实现这个功能的 下面请观看效果图: 步骤呢其实也很简单 HTML部分: <form actio ...
- linux 反弹shell
Linux下反弹shell笔记 0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或 ...
- 深入理解 JavaScript 单例模式 (Singleton Pattern)
概念 单例模式,也叫单子模式,是一种常用的软件设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在. 核心:确保只有一个实例,并提供全局访问. 实现思路 一个类能返回对象一个引用(永远是同 ...
- Feign挡板和Mock
背景: 在项目开发中,会有调用第三方接口的场景.当开发时,对方不愿意提供测试服务器给我们调用,或者有的接口会按调用次数进行计费.当联调时,第三方的测试服务器也可能会出现不稳定,如果他们的服务挂了,我们 ...
- 浅入深出Vue:代码整洁之去重
在开始本篇的主题之前,让我们把上次遗留下来的问题都清理一下: 将其他组件中 axios 请求的地方封装起来. 这里就不把代码放在开头了,相关代码都放在文末,有兴趣了解的童鞋可以先往下翻. 好了, 我们 ...
- [WPF自定义控件库]自定义Expander
1. 前言 上一篇文章介绍了使用Resizer实现Expander简单的动画效果,运行效果也还好,不过只有展开/折叠而缺少了淡入/淡出的动画(毕竟Resizer模仿Expander只是附带的功能).这 ...
- Modify column Vs change column
引言 I know, we can not rename a column using modify column syntax,but can change column syntax. My qu ...
- Java IO 为什么我们需要缓冲区
在执行IO操作我们通常会设置一个字节数组作为缓冲区用来写/读数据,一般情况下一个合理大小的缓冲区是有利于提升性能的,但是有一个问题一直困扰着我,为什么缓冲区可以提升IO操作的性能? 经查阅资料之后,总 ...