Intellij Idea使用入门(一)——Idea常用设置,Project和Module的区别及快捷键总结
*本篇主要是对Idea的常用设置(主题、字体、自动编译、编译器选择等)、Project和Module、快捷键等做个介绍!*
Intellij Idea是JetBrains公司的产品,社区版可以免费使用,旗舰版是按年收费的,学生凭学生证或者创业公司可免费使用一年,当然也可以选择**,使用的话肯定是旗舰版好用,因为社区版少了很多功能。
我之前一直用的是eclipse,对于Intellij Idea(后面简称Idea)也差不多是刚刚接触,先不谈技术,谈谈用的感受,Idea界面是我喜欢的,之前用过Android Studio(谷歌推出的基于Idea的Android集成开发工具),因为是基于Idea的,所以和Idea的界面差不多,还有一个很人性化的特点就是——代码自动保存,再也不需要Ctrl+S了。这是我初步用Idea的两大感受。在此声明,eclipse对于学生、初学Java的人还是不错的选择,eclipse相对于Idea“小”很多,不过很多人说电脑内存没有8G就别安装Idea了,我只能说我的电脑只有4G,配置也不算好,用Idea没太大问题,如果装之前电脑就很卡的话,建议自个儿先重装个系统吧。
Intellij Idea的下载与安装网上有太多的教程,如果要用这款软件的人,我相信肯定是有一定计算机基础的人,至于安装个软件,**都不是难事,安装**之类的直接略过。
————————————————————下面进入到正题————————————————————
一、Idea工具常用设置介绍
1.1、Settings里设置主题、字体、快捷键、版本控制
(通过File-》Settings... 或者通过快捷键Ctrl+Alt+S)
--》设置Idea的主题和字体字号
--》设置快捷键
1.2、版本控制设置
--》版本控制概念
一个人进行项目开发有点理想化,更多的则是团队协同开发。这时,咱们就需要了解一个非常重要的概念啦,那就是“版本控制”,常用的版本控制工具有git和svn(Subversion)。
不了解“版本控制”这个概念的可以参考下它的发展史。起初,并没有关于版本控制的概念,在协同开发的时候,大家都是自己保持项目代码,或者互相拷贝代码,这样在合并代码的过程中就难免遇到很多不兼容的问题;这就促使“集中式版本控制系统(CVCS)”的出现,例如 SVN、CVS 等,但这仍然有一个风险,那就是如果源码库出现问题,导致项目代码丢失,那么大家手里的都是部分代码,就算勉强合并到一起,也不能保证项目源码的准确性;因此,这又促使“分布式版本控制系统(DVCS)”的出现,例如 Git,它的好处显而易见,每个人从源码库中检出的代码,都是作为一份独立的、完整的拷贝代码存在,这时就算源码库出现问题,甚至源码丢失,那么任何一个人的代码都可以作为源码进行共享,从而大大提高了协同开发的抗风险能力。
我用的是Git,可以下载一个Windows 版本控制系统客户端:TortoiseGit,这是一个图形化界面工具,图标是只乌龟。
Idea 自带了对一些版本控制系统的支持插件,咱想使用什么版本控制系统仍得安装什么版本控制系统的客户端,否则用不了。
Idea 对版本控制的支持都是以插件(Settings -》Plugins)的方式来实现的。旗舰版默认支持目前主流的版本控制软件包括:GitHub、CVS、ClearCase、Git、、Mercurial、Perforce、Subversion(SVN) 和 TFS 等。
--》常用版本控制工具SVN、Git 和 GitHub 的配置方法
● SVN
--》File | Settings | Version Control | Subversion
如果想要在 Idea 中使用 SVN,则需要事先安装 SVN 客户端或是 TortoiseSVN 这类图形化工具。对于 Windows 系统,推荐大家安装 TortoiseSVN;对于 Mac 系统,则推荐大家安装 CornerStone.
● Git
如果想要在 Idea 中使用 Git,同样需要事先安装 Git 客户端,不过在安装 Git 客户端的过程中,咱们可以自由选择是否同时使用 Windows 命令行工具。如果、事先安装了 Git 客户端的话,则会在Path to Git executable
中自动定位到 Git 的可执行文件,然后点击Test
,上面截过图,就不在这占篇幅了!
如上图所示,显示Git executed successfully
,则表示分布式版本控制系统 Git 可用。
● GitHub
当咱登录 GitHub 账号之后,点击Test
进行测试,如下页面中需要在Test
一次,出现下面Success的弹出框就表示 Idea 连接到 GitHub 自己的账号之中啦!
--》具体版本控制操作
Checkout from Version Control -> GitHub
,登录账号,然后选择我们想要检出的项目,点击Clone
,此“克隆”的概念来自于 Git,表示把远程仓库的项目检出到本地
如上图所示,点击Clone
之后,提示我们对将要检出的项目进行确认,点击Yes
,然后一路Next
,最后点击Finish
:
至此,选择的项目已经成功从 GitHub 检出到本地啦!、、
我们再回到Version Control
,了解一些常用的操作:
--》版本控制,修改后弹窗问题
- 1 :
When files are created
,表示当有新文件放进项目中的时候 IntelliJ IDEA 做如何处理,默认是 Show options before adding to version control,表示弹出提示选项,让我们自己决定是否将这些新文件加入到版本控制。如果不想弹出提示,则选择下面两个选项进行默认操作。 - 2:
When files are deleted
,表示当有新文件在项目中被删除的时候 IntelliJ IDEA 做如何处理,默认是 Show options before removing from version control,表示弹出提示选项,让我们自己决定是否将这些被删除的文件从版本控制中删除。如果不想弹出提示,则选择下面两个选项进行默认操作。
--》选择排除版本控制文件
1.3、有关编译的设置
--》编译方式
相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还可以在“容器”运行之前配置一个编译事件,先编译后运行。在默认情况下,IntelliJ IDEA 也都是这样设置的,因此在实际开发中,咱们也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译(未设置时),但是这并不影响代码的自动检查。但是对于多个类之间的关联关系,还是要等Build
或Rebuild
触发的时候才会做相关检查的。
在 IntelliJ IDEA 中,编译方式有以上 3 种,分别为:
- Build:对选定的目标(Project 或 Module)进行编译,但只编译修改过的文件,没有修改过的文件则不会进行编译。
- Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
- Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,因此每次 Rebuild 花的时间都比较长。
--》编译的主体设置
File -》Settings... -》Build、Execution、Deployment -》 Compiler
--》选择需排除编译的文件
File -》Settings... -》Build、Execution、Deployment -》 Compiler -》Excludes
可以通过点击下图右上角所示+
和
-
,任意添加或删减目录(或文件)进行编译排除。在编译项目的时候,如果任何一个可编译的文件没有编译通过,那么 Idea就无法运行起来,必须等全部问题解决并且编译通过之后,Idea 才能运行起来。不过有可能在开发过程中,某一个包目录的文件编译无法通过,但是咱们又不急着改,这时咱们就可以考虑把该包加入到排除编译列表中,这样的话,项目就可以运行起来啦!
--》Java 编译器设置
File -》Settings... -》Build、Execution、Deployment -》 Compiler -》Java Compiler
二、Project和Module的概念与区别
在 Idea 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project
和Module
这两个概念。接下来,就让咱们一起看看 Idea 官方是如何描述两者的吧!
对于 Project, Idea官方是这样介绍的:
A project is a top-level organizational unit for your development work in IntelliJ IDEA. In its finished form, a project may represent a complete software solution. A project is a collection of:
- Your work results: source code, build scripts, configuration files, documentation, artifacts, etc.
- SDKs and libraries that you use to develop, compile, run and test your code.
- Project settings that represent your working preferences in the context of a project.
A project has one or more modules as its parts.
对于 Module, Idea官方是这样介绍的:
- A module is a part of a project that you can compile, run, test and debug independently.
- Modules are a way to reduce complexity of large projects while maintaining a common (project) configuration.
- Modules are reusable: if necessary, a module can be included in more than one project.
通过上面的介绍,最清楚的一点是,在 Idea 中Project
是最顶级的结构单元,然后就是Module
,一个Project
可以有多个Module
。
目前,主流的大型项目结构基本都是多Module
的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module 和 user-hessian-module 等等,模块之间彼此可以相互依赖。通过这些Module
的命名可以看出,她们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系的。
因此,咱可以大致总结出:一个Project
是由一个或多个Module
组成,尽量让各模块处于同一项目之中,此时彼此之间具有互相依赖的关联关系。在这里,之所以说“尽量”,是因为 Idea 的Project
是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范类型的效果,或许,咱们也可以简单地理解Project
就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在一般情况下,Idea 是默认单Project
单Module
的,这时Project
和Module
合二为一,在没有修改存储路径的时候,显然Project
对Module
具有强约束作用啦!不过说实话,这里就是将Module
的内容放在了Project
的目录下,实际上还是Module
自己约束自己。
下面,来创建一个普通的Java Project
直接点击Next,Next,到如下界面,创建一个FirstIdeaDemo的Project,只要在Project名中填写,Module名也会随着改变:
点击Next之后,它会提醒是在本窗口打开,还是新建一个窗口打开,一般选择新窗口即可!展开项目之后,如下:
下面单击FirstIdeaDemo,在它下面新建一个Module
如下,给一个Module名,
再看目录结构:
上述做法可以这样理解:FirstIdeaDemo就相当于一个公共模块,在里面写一些公共方法,公共参数,在这个模块下面可以也有很多子模块,比如刚刚创建的Module1。
三、Idea常用快捷键
3.1、修改和查看所有快捷键
上面谈到了快捷键的设置,在File-》settings-》Keymap里面即可查看和修改,对应的修改步骤如下图:
3.2、Idea的快捷键(Windows的)
快捷键 | 功能 |
---|---|
Ctrl + X | 剪切行 |
Ctrl + D | 复制行 |
Ctrl + N | 查找类 |
Ctrl + F | 查找文本 |
Ctrl + J | 自动代码 |
Ctrl + H | 显示类结构图 |
Ctrl + Q | 显示注释文档 |
Ctrl + P | 方法参数提示 |
Ctrl + E | 最近打开的文件 |
Ctrl + R | 替换当前文本中的代码 |
Ctrl + End | 跳到文件结尾 |
Ctrl + Home | 跳到文件开头 |
Ctrl + Space | 代码提示 |
Ctrl + Shift + N | 查找文件 |
Ctrl + Shift + R | 替换项目中的代码 |
Ctrl + Alt + L | 格式化代码 |
Ctrl + Alt + O | 优化导入的类和包 |
Ctrl + Alt + S | Settings |
Ctrl + Shift + Space | 自动补全代码 |
Alt + Shift + C | 对比最近修改的代码 |
Alt + Insert | 生成代码(如构造函数等) |
Ctrl + Alt + Space | 类名或接口名提示 |
Alt + Enter | 自动导包 |
Alt + left / right | 切换代码视图 |
Ctrl + B | 快速打开光标处的类或方法 |
Alt + Up / Down | 在方法间快速移动定位 |
F2 或 Shift + F2 | 高亮错误或警告快速定位 |
Ctrl + Shift + Up / Down | 代码向上 / 下移动 |
Ctrl+E 或者 Alt+Shift+C | 最近更改的代码 |
Ctrl + Shift + Alt + N | 查找类中的方法或变量 |
Ctrl + Alt + left / right | 返回至上次浏览的位置 |
Ctrl + / 或 Ctrl + Shift + / | 单行注释或多行注释 |
fori + Tab 键 | 快速创建 for 循环 |
psvm + Tab 键 | 快速创建主函数 |
sout + Tab 键 | 快速创建输出语句 |
Debug 快捷键:
F7 :在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内, 如果该方法体还有方法,则不会进入该内嵌的方法中;
F8 :在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内;
F9 :在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上。