Intellij IDEA的一些东西
Ctrl + R 在当前文件进行文本替换 (必备)
Ctrl + N 根据输入的 类名 查找类文件
Ctrl + Ctrl + H 显示当前类的层次结构
Ctrl + O 选择可重写的方法
Ctrl + I 选择可继承的方法G 在当前文件跳转到指定行处
Shift + F2 跳转到上一个高亮错误 或 警告位置
Debug 常用快捷键
快捷键 |
介绍 |
F7 |
在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 必备 |
F8 |
在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 必备 |
F9 |
在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 必备 |
Alt + F8 |
在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 必备 |
Ctrl + F8 |
在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点 |
Shift + F7 |
在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法 |
Shift + F8 |
在 Debug 模式下,跳出,表现出来的效果跟 F9 一样 |
Ctrl + Shift + F8 |
在 Debug 模式下,指定断点进入条件 |
Alt + Shift + F7 |
在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入 |
点击 Drop Frame 按钮之后,断点重新回到方法体之外
===========================================================================================
对于传统的 Java Web 项目,我们一般还需要指定配置 web.xml 位置。这个一般在Facts 中进行配置。
Facts 可以理解为用于配置项目的框架区,在这里管理项目使用的框架配置文件。这个是 IntelliJ IDEA 特有的一个配置点。
除了 web.xml 一般我们要配置外,其他一些框架,即使我们不在这里配置也是不会影响项目的运行的,但是是有缺点的。比如我们项目中一般都是有 Spring 框架的,而 Spring 是有很多配置文件的,如果我们在这里进行了配置,那你会发现 IntelliJ IDEA 编辑区底部会多出现几个跟 Spring 项目的设置区,原因就是你告诉了 IntelliJ IDEA,你的项目使用了 Spring 框架,那 IntelliJ IDEA 就会出现其对应的配置功能给你。Hibernate 等其他框架道理一样
Artifacts 也是 IntelliJ IDEA 特有的一个概念,我们可以理解这里是配置项目最终输出结果的地方。比如 Java Web 项目我们一般必备一个配置就是要配置成一个 war 包展开的方式,这样容器才能运行该项目。上图 Gif 演示的就是配置一个 war 包展开的输出结构。其结构是由于前面的几项配置决定,所以如果前面的 Module 配置没有多大问题,这里可以省去一些配置步骤。但是有些时候我们也是需要做一些修改,比如此项目的输出目录默认生成的是错误,我改为了项目中的 webRoot 目录。
该 Artifacts 配置,等下在配置 Tomcat 的时候也会引用到,所以这里需要重点注意下。
我们可以切换随时为项目切换不同的容器。
我们可以指定给运行的容器设置 VM 参数。
这分别是在两种命令下的触发的事件。这个是 IntelliJ IDEA 特有的,也是重点。
On Update action 当我们按 Ctrl + F10 进行容器更新的时候,可以根据我们配置的这个事件内容进行容器更新。其中我选择的 Update classes and resources 事件是最常用的,表示我们在按 Ctrl + F10 进行容器更新的时候,我们触发更新编译的类和资源文件到容器中。在 Debug 模式下,这个也就是所谓的 HotSwap。这是这种热部署没有 JRebel 插件那样好用。
On frame deactivation 当我们切换 IntelliJ IDEA 到浏览器的时候进行指定事件更新,这个一般是因为 Web 开发的时候,我们需要经常在 IntelliJ IDEA 和各个浏览器之间来回切换测试,所以才有了这种需求。IntelliJ IDEA 是为了帮我们在做这种无聊切换的时候做一些指定事情。当然了,如果切换过于频繁,这个功能还是很耗资源的,所以我设置的是 Do nothing 表示切换的时候什么都不做。
如上图标注 4 所示,默认 Tomcat 的 HTTP 端口是 8080,如果你需要改其端口可以在这里设置。
如上图标注 5 所示,这个知识点在前面的文章已经有讲过了。这里表示在 Tomcat 容器运行前做什么事情,这里分别了:Make 和 Build Artifacts 操作。这里的 Build Artifacts 是我们在 Deployment 选项卡中添加了 Artifact 之后自动出现的。
IntelliJ IDEA 自带模拟请求工具 Rest Client; Tools->Test RESTful Web Service
===========================================================================================
IDEA配置文件的一些配置
个性化配置目录,我是存放在其他盘
设置方式很简单,修改 idea.properties 属性文件中的 idea.config.path 值,例如:idea.config.path=F:/360SycDir/idea_config/config
===========================================================================================
在 IntelliJ IDEA 中 Project 是最*的级别,次级别是 Module。一个 Project 可以有多个 Module。目前主流的大型项目结构都是类似这种多 Module 结构,这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间应该都是处于同一个项目业务情况下的模块,彼此之间是有不可分割的业务关系的。
一个 Project 是由一个或多个 Module 组成,模块之间尽量是处在同一个项目业务的的情况下,彼此之间互相依赖关联。这里用的是 尽量,因为 IntelliJ IDEA 的 Project 是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范等类型的效果,也许我们可以简单地理解为就是一个单纯的目录,只是这个目录命名上必须有其代表性的意义。
一个工程里面
.idea 即为 Project 的配置文件目录。
.iml 即为 Module 的配置文件。
IntelliJ IDEA 项目的配置变动都是以这些 XML 文件的方式来表现的,所以我们也可以通过了解这些 XML 文件来了解 IntelliJ IDEA 的一些配置。也因为此特性,所以如果在项目协同中,我们要保证所有的项目配置一致,就可以考虑把这些配置文件上传到版本控制中(包括 .idea 目录和.iml 文件)。如果把这些文件加入到版本控制之后,那又有一点是需要考虑的,那就是协同者 Checkout 项目下来之后,按自己的需求进行项目配置的之后,项目的 XML 文件也会跟着变化。此时协同者的这些变化的文件就不应该再上传到版本控制中
===========================================================================================
导入eclipse项目之后 这些依赖都删了 然后Libraries里面选个文件夹导包
就是把 lib 目录转换成一个依赖包。这样的好处是,当我们项目有新添加依赖包,我们只要放置在 lib 目录下即可自动被项目引入,原因就是因为我们这里引的是目录,而不是一个一个依赖包。
===========================================================================================