Imooc 上课总结(Java)-- Idea Java 使用心得 + 快捷键
3. 日志位置
默认位置:C:\Users\{users}\.IntelliJIdea2019.2\system\tomcat\Unnamed_spring-mvc-study\logs
可以设置 console log
4. 解决console 里面的 tomcat 中文乱码问题
添加上 “-Dfile.encoding=UTF-8‘’,然后关闭,重启 Idea
5. 使用
5.1 常用的基本设置
1)合适的字体大小
2)编码改为 UTF-8
3)JDK
4)autoscroll:点击左边的列表,右边会打开文件;点击右边的文件,左边跳转到对应的列表
5)auto import
5.2 编辑区的设置
1)行号
2)tab 设置 :设置文件tab排列的形式。默认top显示,如果屏幕较小,可改成 left。
3)文件排序
a):手动拖动排序; 2)右键 Editor Tabs,按首字母排序
4)tabs 数量:仅显示常用的 N (默认 10)个tab
5)自动换行
5.3 开发中常用的技能及常用快捷键
5.3.2-6)导航栏文件切换
应用场景 | 功能 | 快捷键 | 具体操作 |
5.3.1 代码编辑功能 | |||
1)复制和复制历史 | Ctrl + C | 光标放在行,无需全选,直接 Ctrl + C 即可复制 | |
Ctrl + Shift + v | 使用复制历史:Ctrl + Shift + v,即可弹出复制历史 | ||
2)普通粘贴 | Ctrl + 鼠标拖动 (或者 Ctrl +V) | 选择要复制的代码区域 -> Ctrl + 鼠标拖动 (或者 Ctrl +V) => 自动格式化 | |
简单粘贴 | 右键 Past Without Formatring | 纯文本粘贴,保留原格式。 应用场景:从网上复制的带有行数的代码 -> 简单粘贴 -> Alt + 鼠标左键并拖动:纵向选择多行文本。-> 删除 | |
3)格式化代码 | Ctrl + Alt + L | Ctrl + A 全选代码 或 选中想要格式化的代码区域 -> Ctrl + Alt + L 格式化 | |
4)剪切和复制一行或多行 | Ctrl + X | 剪切;或当 删除 用 | |
Ctrl + D | 复制光标所在行 | ||
5)上下移动一行或多行 | Alt + Shift + 上/下 | 当前行向上/下移动一行 | |
Shift + 上,选中几行 -> Alt + Shift + 上/下, 移动多行 | |||
5.3.2 快速跳转 | |||
1)行内跳转和选中 | Home | 跳到行首 | |
End | 跳到行尾 | ||
Ctrl + 左/右 | 跳过一个词 | ||
Ctrl + Shift + 左/右 | 选中一个词 | ||
2)根据行号定位 | console 区,通过 链接 直接跳转 | ||
Ctrl + G | 跳转到指定行 | ||
3)tabs 快速切换 | Alt + 左/右 | 左/右 切换 Tabs | |
4)查看浏览过的文件 | Ctrl + E | ||
5)快速打开文件所在文件夹 | 右键-Show In Explorer | 备注:不能查找中文路径下的,所以 项目路径不要带中文 | |
6)导航栏文件切换 | 导航栏点击,通过下拉列表,然后跳转(和树的效果一样) | ||
5.3.3 快速查找和替换 | |||
1)内容查找和替换 | Ctrl + F | 当前文件查找【也可以在下方 console 里面查找日志】 | |
Ctrl + R | 当前文件替换 | ||
Ctrl + Shift + F | 全局搜索 | ||
Ctrl + Shift + R | 全局替换 | ||
2)查找文件 | Ctrl + Shift + N | 按文件名查找文件 | |
3)查找操作和菜单 | Ctrl + Shift + A | 查找所有的菜单或操作 (如查找 line number,plugin 等) | |
4)万能查找 | 连按两次 shift | 查找 文件、菜单、操作等,但不能查找文件内容 | |
5.3.4 万能快捷键 Alt+Enter | Alt + Enter | 智能辅助提示。给出的提示与当前光标所在的位置有关系。 | |
1)见到红色报错就按 |
代码编辑,遇到红色,根据智能辅助处理; -- 一定要解决 代码编辑,见到波浪线警告, -- 尽量不要出现警告 没报错没报警,如灰色变量(未使用过) |
||
5.3.5 鼠标+键盘的配合 |
Alt + 鼠标点击 Shift + 鼠标点击 Ctrl + 鼠标左键 Ctrl + Alt + 鼠标左键 |
1)纵向选择多列: 按住 Alt 不放,鼠标点击拖动; 2)选择多行代码: 鼠标点开始位置;找到尾行;按shift+鼠标点击结尾 3)类或方法的跳转: 按住 Ctrl + 鼠标左键,进入方法 Ctrl + Alt + 方向键左:跳回刚才的位置 |
|
5.5.1 代码生成 Generate | 1)生成setter/getter | Alt + Enter | 单个:定义一个变量,然后光标定位变量, Alt + Enter,可以生成一个 getter/setter 方法。但仅生成当前光标的变量 |
Alt + Insert 或 右键 Generate | 多个:定义了很多变量,直接 Alt + Insert 或 右键 Generate,选择 getter and setter 方法,然后 Ctrl + A 选择全部变量,OK 生成方法 | ||
2)生成构造函数 | Alt + Insert | Alt + Insert ,选择 Constructor, | |
3)生成 toString | Alt + Insert |
Alt + Insert ,选择 toString,在 Template 中选择 “+”,“StringBuffer”等,变量较多时,推荐使用 StringBuffer。 主要是在打印日志时 使用到。 |
|
4)生成 hashCode 和 equals | Alt + Insert |
Alt + Insert ,选择 equals() and hashCode。一般情况下,默认生成,不用修改。 实际应用中,如果 判断两个 member 是否相等,如果只是用到 其中的1,2个变量判断时,则可以 选择其中的特定变量比较,就少判断运算, 主要依据业务。 |
|
5.5.2 代码重构 Refactor | 1)重命名 | Shift + F6 | 用法一:重命名局部变量:当前文件中所有引用到的地方。选择变量 -> Shift + F6, -> 选择推荐的变量名 或 手动输入。 |
用法二:重命名方法:所有调用到的地方会同步修改。选择方法名 -> Shift + F6 -> 输入新的名称 -> 确认提示的所有影响的地方 -> 如有不需要修改的地方,如果某个包下不需要修改,在其包上右键 exclude 排除 -> Do factor |
|||
用法三:重命名类名:选择class文件 -> Shift + F6 -> 修改成新的名称 -> 同上步骤。 如果要撤销: Ctrl + Z | |||
2)抽取方法 |
原则:一个方法只负责一个功能 选择一段代码 -> 右键 Refacator -> Extract -> 选择方法 或变量或其他类型 |
||
3)生成变量 | Ctrl + Alt + V |
场景一:调用某个方法时,自动生成变量 场景二:实例化 |
|
4)文件移动复制删除 | 鼠标拖动 或 F6 |
1)鼠标将文件拖到某个目录 2)选择文件 -> F6 -> to package,选择,然后 Refactor |
|
F5 | 场景:复制文件,然后编写。选择当前文件 -> F5 -> 重命名新文件 | ||
del | safe delete: 选中文件 -> delete -> safe delete 时,会搜索是否引用到,并加以提示 | ||
5.5.3 代码模板 | 1) 菜单中(Live Templates) | psvm | 生成 main 函数 |
sout /souf | 打印 | ||
fori / foreach | 循环 | ||
5.5.5 显示方法的互相调用 | Ctrl + Alt + H | 点击方法 -> Ctrl + Alt + H, 出现 Hierachy Callers,显示所有调用该方法的地方; 双击可以跳转到对应的文件 | |
其他 | Surround With | Ctrl + Alt + t | 包裹代码,如 try/catch, do/while 等 |
查看方法参数 | Ctrl + P | ||
查看类、方法、属性注释 | Ctrl + Q | ||
折叠/展开 代码 | Ctrl + "-/+" | ||
折叠/展开 所有代码 | Ctrl + Shift + "-/+" | ||
5.4 运行与调试
5.4.1 运行
1)右键运行; 2)菜单运行; 3)run 窗口运行;
4)启动参数:修改后,再运行。 ==> 启动参数 -D 会覆盖 application.properties 的配置。应用场景:本地开发环境,连接测试数据库
==> 配合 maven 使用,如 -Dprofile=test 连测试环境, -Dprofile=dev 连开发环境
5)热部署
5.4.2 调试
1)基本断点调试功能
debug 运行,然后加 断点。背景 蓝色,并显示相关的变量
Step Over (F8),执行到当前方法的下一句
Step Into (F7), 进入当前行调用的方法体内
Run to Cursor(Alt + F9):运行到光标所在处
Step Out (Shift + F8),执行完当前的方法
Force Step Into (Alt + Shift + F7): 可以进到第三方包方法里或 JDK 自带的方法里 --- 很少使用
2)断点管理:debug 的左下方区域
(1)可以通过列表管理断点(可以 - 删除,也可以不勾选checkbox来 disable);
(2)右键断点:去掉 Enable,可保留断点位置,又可以跳过断点。(通过第一个也可以实现);
(3)Mute Breakpoints:取消所有的断点
(4)条件断点:
用法一:当循环到第几次的时候停止: --- 效率低
用法二:断点,然后加 Condition,如下图所示。此时断点显示成?,表示为 有条件的断点。
某个循环次数时断点(左边图),某个变量值时(右边图)
5)异常断点
应用场景:发现异常,但无法准确定位。特别是生产环境下查找问题
6)添加变量监控
如图中 i== 1时,查找某个变量的值,可以查询整个变量,也可以手动添加 指定的变量
5.5 高级进阶
5.5.3 代码模板
1)live template 见上面表格
2)自定义 live template:
先定义一个组 -> 自定义 live template
3)postfix:先输入变量 或 表达式,再打 .快捷键 => 在setting 里面,输入 “postfix”,查看已经有的完整的定义
方式一: fori,在形成循环的里面,加上变量如 userList.size()
方式二: userList.fori i == 1.if
注意: postfix 不能自定义。
5.5.4 常用窗口
1)project 窗口:根据需要显示完整的 project,仅包 package,错误的 problems
2)structure 窗口:(2019 在左下角)可以显示具体的类的方法,方便查找
3)todo 窗口: 有些代码,因为一些缘故暂时无法完成(如需要调用别人未完成的部分),可以在代码中 加入"// todo 描述"。任务开发完成后,把注释里的 “todo” 删除,任务就从 "TODO" 窗口自动删除
4)Favorites 窗口:显示收藏的信息,可以 + 添加,也可以将需要的拖到 Favorites。
应用场景: 1)将项目中一些独立的文件加入收藏夹,如 pom.xml,application.properties等;
2)把当前正在开发的几个文件加入某个分组,方便开发时查找,开发完再删除分组;
5)terminal 窗口: cmd 窗口,
应用场景:一般和 git 配合使用。通过下方配置 git,就可以通过 termail 运行 git 的相关命令
5.5.5 更多实用技巧
1)文件间访问:(1)Ctrl + E 浏览历史; (2)Split 分屏; (3)拖动至 IDE 的外面 (或者 Shift + F4),形成新的窗口
2) 日志链接及浏览器:
打印时加入了“http://”,则在 console 窗口直接可以跳转。
可以通过第二张图,设置默认跳转的浏览器。
3)本地修改历史。选择文件,右键 local history。一般 3s 不操作,自动保存副本。
4)查看方法调用情况
Ctrl + Alt + H:显示方法被哪些调用。 双击可以跳转到对应的文件
5.6 常用插件
5.6.1 git 管理
1)过程通过 https://www.jianshu.com/p/ea1703adf5cc
2)把 .gitignore 放在 项目的根目录下,可以排除
3)修改 code,在 version control\Local Changes,可以看到修改的文件,选择文件,按 Ctrl + D,可以看到修改的历史
4)补充常用操作: revert,要取消某个文件的修改,回到修改前的版本,在 local Changes 页面,文件右键,选择 revert
5)关联远程仓库。 新建项目的时候,README 文件和 .gitignore 文件 都不要,这样会得到一组初始化命令。
本地 idea,在 terminal 中
> git remote add origin git@github.com:GitForBruce/Java.git 【git@github.com:GitForBruce/Java.git:从 github 上创建仓库后,复制下来的】
> git push -u origin master
6)撤销提交:Reset Current Branch to Here
7)追加提交 Amend commit
8)Code Review:开发完成后的代码评审
5.6.2 Mybatis 插件 (Free Mybatis Plugin)
5.6.3 Maven 插件
1)配置
2) 解决版本冲突
场景:根目录设置的包和子包的版本有冲突,那么依赖关系时,线显示红色。解决:如果确实冲突的版本不需要,可以点击依赖的包,右键 Exclude,然后 import change,那么会在 pom.xml 中,该包会被加入到 exclusion 中
常见面试题: maven 出现 jar 冲突,怎么解决?
A: 用 exclusion 把不用的 jar 包排除
实际应用: A 依赖 C1.0, B依赖 C1.1,此时需要判断保留 C 的哪个版本,不是越高版本越好,要选择 A, B 都可用的版本。
放大: Ctrl + 滚轮, Alt 键
3)maven 的同类应用 gradle