Skip to content

Commit

Permalink
2015-08-26
Browse files Browse the repository at this point in the history
  • Loading branch information
judasn committed Aug 26, 2015
1 parent 393f7bf commit c9aacea
Show file tree
Hide file tree
Showing 10 changed files with 66 additions and 7 deletions.
1 change: 1 addition & 0 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@
- [插件讲解](plugins-settings.md)
- [Eclipse 的 Java Web 项目环境搭建](eclipse-java-web-project-introduce.md)
- [Maven 项目介绍](maven-project-introduce.md)
- [Debug 讲解](debug-introduce.md)
- [IntelliJ IDEA 常用快捷键讲解](keymap-introduce.md)
50 changes: 50 additions & 0 deletions debug-introduce.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Debug 介绍

## Debug 设置

![Debug 设置](images/xxiii-a-debug-settings-1.jpg)

> * 如上图标注 1 所示,表示设置 Debug 连接方式,默认是 `Socket``Shared memory` 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,相对于 `Socket` 会快点。

## 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 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入|

有时候我们可以这样粗鲁地认为 Debug 的使用就是等同于这几个快捷键的使用,所以上面的 `必备` 快捷键是我们必须牢记的,这些也是开发很常用的。

## Debug 特殊技能使用


![Debug 特殊技能使用](images/xxiii-b-debug-use-1.gif)

> * 如上图 Gif 所示,查看所选对象的方法常用有三种方式:
>> * 选中对象后,使用快捷键 `Alt + F8`
>> * 选中对象后,拖动对象到 `Watches`
>> * 选中对象后,鼠标悬停在对象上 2 秒左右。
![Debug 特殊技能使用](images/xxiii-b-debug-use-2.gif)

> * 如上图 Gif 所示,在弹出表达式输入框中 IntelliJ IDEA 也是能帮我们智能提示。
![Debug 特殊技能使用](images/xxiii-b-debug-use-3.gif)

> * 如上图 Gif 所示,当我们需要过掉后面的所有断点的时候,我们不需要去掉这些断点,只需要点击左下角那个小圆点,点击小圆点之后,所有断点变成灰色,然后我们再在按快捷键 `F9` 即可过掉当前和后面所有的断点。
![Debug 特殊技能使用](images/xxiii-b-debug-use-4.gif)

> * 我们可以给断点设置进入的条件。如上图 Gif 所示,因为变量 temp3 不等于 200 所以该断点没有被进入直接跳过。
![Debug 特殊技能使用](images/xxiii-b-debug-use-5.gif)

> * 有时候当我们步入方法体之后,还想回退到方法体外。如 Gif 演示,断点进入 `addNum` 方法后,点击 `Drop Frame` 按钮之后,断点重新回到方法体之外。
Binary file added images/xxiii-a-debug-settings-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xxiii-b-debug-use-1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xxiii-b-debug-use-2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xxiii-b-debug-use-3.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xxiii-b-debug-use-4.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xxiii-b-debug-use-5.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 7 additions & 6 deletions keymap-introduce.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各
|Ctrl + F1|在光标所在的错误代码出显示错误信息|
|Ctrl + F3|调转到所选中的词的下一个引用位置|
|Ctrl + F4|关闭当前编辑文件|
|Ctrl + F8|在 Debug 模式下,切换断点|
|Ctrl + F8|在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点|
|Ctrl + F9|执行 Make Project 操作|
|Ctrl + F11|选中文件 / 文件夹,使用助记符设定 / 取消书签|
|Ctrl + F12|弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选|
Expand Down Expand Up @@ -89,7 +89,7 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各
|Shift + F3|在查找模式下,查找匹配上一个|
|Shift + F6|对文件 / 文件夹 重命名|
|Shift + F7|在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法|
|Shift + F8|在 Debug 模式下,跳出|
|Shift + F8|在 Debug 模式下,跳出,表现出来的效果跟 `F9` 一样|
|Shift + F9|等效于点击工具栏的 `Debug` 按钮|
|Shift + F10|等效于点击工具栏的 `Run` 按钮|
|Shift + F11|弹出书签显示层|
Expand Down Expand Up @@ -150,7 +150,7 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各
|Ctrl + Shift + \+|展开所有代码|
|Ctrl + Shift + \-|折叠所有代码|
|Ctrl + Shift + F7|高亮显示所有该选中文本,按Esc高亮消失|
|Ctrl + Shift + F8|在 Debug 模式下,指定断点条件|
|Ctrl + Shift + F8|在 Debug 模式下,指定断点进入条件|
|Ctrl + Shift + F9|编译选中的文件 / 包 / Module|
|Ctrl + Shift + F12|编辑器最大化|
|Ctrl + Shift + Space|智能代码提示|
Expand All @@ -173,6 +173,7 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各
|Alt + Shift + C|查看最近操作项目的变化情况列表|
|Alt + Shift + F|添加到收藏夹|
|Alt + Shift + I|查看项目当前文件|
|Alt + Shift + F7|在 Debug 模式下,下一步,进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入|
|Alt + Shift + F9|弹出 `Debug` 的可选择菜单|
|Alt + Shift + F10|弹出 `Run` 的可选择菜单|
|Alt + Shift + 左键双击|选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句|
Expand All @@ -195,9 +196,9 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各
|F2|跳转到下一个高亮错误 或 警告位置 `(必备)` |
|F3|在查找模式下,定位到下一个匹配处|
|F4|编辑源|
|F7|在 Debug 模式下,进入|
|F8|在 Debug 模式下,跳过,进入下一步|
|F9|在 Debug 模式下,恢复程序运行|
|F7|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中|
|F8|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内|
|F9|在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上|
|F11|添加书签|
|F12|回到前一个工具窗口|
|Tab|缩进|
Expand Down
9 changes: 8 additions & 1 deletion project-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,11 @@

> * 如上图标注 1 所示,`.idea` 即为 `Project` 的配置文件目录。
> * 如上图标注 2 所示,`.iml` 即为 `Module` 的配置文件目录。
> * 通过上面的了解我们也知道 IntelliJ IDEA 项目的配置变动都是以这些 XML 文件的方式来表现的,所以我们也可以通过了解这些 XML 文件来了解 IntelliJ IDEA 的一些配置。也因为此特性,所以如果在项目协同中,我们要保证所有的项目配置一致,就可以考虑把这些配置文件上传到版本控制中。如果把这些文件加入到版本控制之后,那又有一点是需要考虑的,那就是协同者 Checkout 项目下来之后,按自己的需求进行项目配置的之后,项目的 XML 文件也会跟着变化。此时协同者的这些变化的文件就不应该再上传到版本控制中。至于如何更好地控制这些不想随时提交的文件,在接下来的版本控制专讲中会进行详细讲解。
> * 通过上面的了解我们也知道 IntelliJ IDEA 项目的配置变动都是以这些 XML 文件的方式来表现的,所以我们也可以通过了解这些 XML 文件来了解 IntelliJ IDEA 的一些配置。也因为此特性,所以如果在项目协同中,我们要保证所有的项目配置一致,就可以考虑把这些配置文件上传到版本控制中。如果把这些文件加入到版本控制之后,那又有一点是需要考虑的,那就是协同者 Checkout 项目下来之后,按自己的需求进行项目配置的之后,项目的 XML 文件也会跟着变化。此时协同者的这些变化的文件就不应该再上传到版本控制中。至于如何更好地控制这些不想随时提交的文件,在接下来的版本控制专讲中会进行详细讲解。
## 特别介绍

> * IntelliJ IDEA 是一个没有 `Ctrl + S` 的 IDE,所以每次修改完代码你只要管着运行或者调试即可,无需担心保存或者丢失代码。
> * 现在,放心、大胆地开始你的 Hello World。

0 comments on commit c9aacea

Please sign in to comment.