说明:详情请参考慕课网课程:IntelliJ IDEA神器使用技巧:http://www.imooc.com/learn/924(感谢课程作者:闪电侠)

推荐:

1. 课程老师(闪电侠)IDEA快捷键总结文档:https://github.com/lightningMan/config/blob/master/intellij/shortcut-readme.md

2. 另一位学习课程的同学(夜空中最亮的庆)的总结,也写的用心:https://www.jianshu.com/p/131c2deb3ecf

3. 下面是我自己总结:

快捷键


文件操作:
Ctrl+Alt+insert: 创建Class文件,文件夹...
F5:复制文件
F6:移动文件
Ctrl + C: 复制文件名
Ctrl + Shift + C:复制文件路径
Ctrl + V:粘贴
Ctrl + Shift + V:批量粘贴(调用剪切板)
Ctrl + Alt + T: Surround With, 可用于try...catch,如图


智能返回:
Ctrl+Alt+V:智能返回响应类型结果 行操作:
1. Shift+Enter: 向下插入一行
2. Ctrl+Alt+Enter: 向上插入一行 列操作
1. Alt+鼠标左键:列编辑
2. Ctrl+Alt+Shift+J: 选中所有被选中的符号(例如:选中所有的分号)
3. Ctrl+向右箭头:移动光标到下一个单词
4. Ctrl+Shift+向右箭头:移动光标到下一个单词并选中
5. Shift+Home: 移动光标到行首并选中
6. Shift+End: 移动光标到行尾并选中
7. F2/Shift+F2: 快速向下(上)定位到错误行
8. Alt+insert: 生成构造方法,get/set方法,覆写方法,toString()...
9. Alt+enter: 智能提示
Postfix:后缀,Postfix(for, sout, field(name.field)...还有很多默认的,后续再研究)
1. 100.for
2. date.sout
3. "String".r + 向上箭头
4. name.nn(非空判断), name.null(为空判断)
 1 import java.util.Date;
2
3 /**
4 Postfix:后缀,Postfix(for, sout, field(name.field)...还有很多默认的,后续再研究)
5 1. 100.for
6 2. date.sout
7 3. "String".r + 向上箭头
8
9 4. name.nn, name.null
10
11 */
12 public class Postfix {
13
14 public static void main(String[] args) throws InterruptedException {
15 for (int i = 0; i < 100; i++) {
16 Date date = new Date();
17 Thread.sleep(1000);
18 System.out.println(date);
19 }
20 }
21 private String name = "zs";
22 private int age = 20;
23
24 private String getStr(){
25 if (name != null) {
26
27 }
28 if (name == null) {
29
30 }
31 return "string";
32 }
33
Alt+enter:智能提示
 1 import java.util.List;
2
3 /**
4 AltEnter: 智能提示
5 注:ctrl+alt+insert: 创建Class文件,文件夹...
6 1. 自动创建函数
7 2. List replace
8 3. 字符串的format或者build
9 4. 单词拼写
10 5. 导包
11 */
12 public class AltEnter {
13 /**
14 * 1. 自动创建函数
15 * 2. List replace
16 * @param args
17 */
18 public static void main(String[] args) {
19 fuc1();
20 fun3();
21 }
22
23 private static String fuc1() {
24
25 return "string";
26 }
27
28 /**
29 * 2. List replace
30 * @param list
31 */
32 private static void fun2(List<String> list) {
33 int i = 0;
34 while (true) {
35 if (!(i < list.size())) break;
36
37 i++;
38 }
39 }
40
41 /**
42 * 3. 字符串的format或者build
43 */
44 private static void fun3() {
45 String name = "zs";
46 int age = 20;
47 String x1 = String.format("name: %s, age: %d", name, age);
48 String x2 = new StringBuilder().append("name: ").append(name).append(", age: ").append(age).toString();
49 System.out.println(x1);
50 System.out.println("---------------");
51 System.out.println(x2);
52
53 }
54 }
重构与抽取:
重构:
Shift+F6:重构变量
Ctrl+F6:重构方法(或Alt+Enter)
抽取:
Ctrl+Alt+V:抽取变量
Ctrl+Alt+C:抽取静态常量
Ctrl+Alt+F:抽取成员变量(字段)
Ctrl+Alt+P:抽取方法参数
Ctrl+Alt+M:抽取方法
 1 /**
2 * 重构变量与重构方法
3 */
4 public class RefactorDemo {
5 public static final String DEFAULT_NAME = "chris";
6 private int age;
7
8 /**
9 * 重构变量: shift+F6
10 */
11 public static void fun(String firstName) {
12 System.out.println(firstName);
13 System.out.println(firstName);
14 System.out.println(firstName);
15 System.out.println(firstName);
16 System.out.println(firstName);
17 fun2("Lee", DEFAULT_NAME);
18 }
19 /**
20 * 重构方法: ctrl+F6或者alt+enter
21 */
22 public static String fun2(String firstName, String lastName) {
23
24 System.out.println(firstName+lastName);
25 return firstName+lastName;
26 }
27 /**
28 * 抽取变量:Ctrl+alt+v
29 */
30 public static void extract1() {
31 String name = DEFAULT_NAME;
32 System.out.println(name);
33 System.out.println(name);
34 System.out.println(name);
35 System.out.println(name);
36 System.out.println(name);
37 System.out.println(name);
38 System.out.println(name);
39 }
40 /**
41 * 抽取静态常量:Ctrl+alt+C
42 */
43 public static void extract2() {
44 // public static final String DEFAULT_NAME = "chris";
45 System.out.println(DEFAULT_NAME);
46 System.out.println(DEFAULT_NAME);
47 System.out.println(DEFAULT_NAME);
48 System.out.println(DEFAULT_NAME);
49 }
50 /**
51 * 抽取成员字段:Ctrl+alt+F
52 */
53 public void extract3() {
54 age = 20;
55 extract4(age);
56 System.out.println(age);
57 }
58
59 /**
60 * 抽取方法参数:Ctrl+alt+P
61 * @param length
62 */
63 public void extract4(int length){
64 System.out.println(length);
65 System.out.println(length);
66 System.out.println(length);
67 System.out.println(length);
68 System.out.println(length);
69 }
70
71 /**
72 * 抽取方法:Ctrl+alt+M
73 */
74 public void extract5(){
75 init();
76 sevice();
77 destroy();
78 }
79
80 private void destroy() {
81 System.out.println("extract method");
82 System.out.println("extract method");
83 }
84
85 private void sevice() {
86 System.out.println("extract method");
87 System.out.println("extract method");
88 }
89
90 private void init() {
91 System.out.println("extract method");
92 System.out.println("extract method");
93 }
94 }

 Git集成与版本控制:

annotate:鼠标右键,查看当前行代码是由何人,何时编辑及修改
Ctrl+Alt+Shift+向上箭头/向下箭头: 上次修改的地方previous change
Ctrl+Alt+Z:撤销,可以针对于行,文件,文件夹
local history: 本地修改历史
show history: 查看历史
show label: 查看标记历史
断点调试(直接界面操作):
Ctrl + F8:添加/取消断点
Shift + F10:运行
Shift + F9:调试
F8:单步运行
F9:调到下一个断点
Ctrl + Shift + F8:查看所有断点
Mute Breakpoints:禁止所有断点
Ctrl + Shift + F8:条件断点
Alt + F8:动态求值
Alt + F9:运行到指定行(Run to Cursor)
F2:动态改变值
Ctrl + Shift + F9:上下文运行,用在单元测试中方便
Alt + Shift + F9:运行最近的文件
结构图:
Ctrl + F12:查看结构图
Ctrl + H:查看类的继承结构体系
Ctrl + Alt + U:查看类的继承结构体系图
Ctrl + H:查看方法调用谁,被谁调用

IntelliJ IDEA神器使用技巧的更多相关文章

  1. IntelliJ IDEA神器使用技巧 慕课

    1,高效定位代码:无处不在的跳转. 项目之间的跳转(打开了多个窗口):ctrl+alt+] 或ctrl+alt+[ 查找窗口 shift+ctrl+a  输入recent file 最近打开的文件. ...

  2. IntelliJ IDEA神器使用技巧笔记

    1. Alt + 数字 打开idea 快捷键打开相应的窗口: 高效定位代码: 无处不在的跳转 1.项目间的跳转: Windows ->   ctrl+alt+[   /  ] 2.文件之间的跳转 ...

  3. Intellij IDEA神器那些让人爱不释手的小技巧

      完整的IDEA使用教程,GitHub地址: https://github.com/judasn/IntelliJ-IDEA-Tutorial 概述 之前写了一篇介绍IntellIJ IDEA的文章 ...

  4. Intellij IDEA神器居然还有这些小技巧---超级好用的

    Intellij IDEA神器居然还有这些小技巧----https://my.oschina.net/samgege/blog/1808622?p=8

  5. Intellij IDEA 一些不为人知的技巧

    Intellij IDEA 一些不为人知的技巧 2016/12/06 | 分类: 基础技术 | 0 条评论 | 标签: IntelliJ 分享到:38 原文出处: khotyn 今天又听了 Jetbr ...

  6. IntelliJ IDEA创建项目技巧(转)

    转自:http://www.myext.cn/webkf/a_2539.html IntelliJ IDEA创建项目技巧 来源:网络    编辑:admin intellij idea教程 首先我要说 ...

  7. 使用IntelliJ IDEA的小技巧快乐编程(1)

    前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...

  8. Intellij IDEA神器居然还有这些小技巧

    概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...

  9. Intellij IDEA神器值得收藏的小技巧

    概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...

随机推荐

  1. python函数参数理解

    1.位置参数 函数调用时,参数赋值按照位置顺序依次赋值. e.g. def function(x): 3 return x * x 5 print function(2) 输出结果: 4 def fu ...

  2. Spring_IOC

    我们都知道,如果要在不同的类中使用同一个对象一般我们我们都需要在每一个类中都去new一个新的对象,也有的人会为这个对象写一个工具类,无论哪种方法都需要我们自己去创建,不但繁琐,而且相当耗损资源,所以才 ...

  3. 接受H0的坏处|试验误差|置信度由来|

    生物统计与实验设计 置信度(0.05 0.01)是通过实验次数估计值的分布得到的,它是整个分布的期望,这个值的确立需要具体情况具体分析. 肯定很难,因为否定一次很容易.虽然如果没有否定(eg:得到p= ...

  4. maven工程项目依赖爆红,手动导入依然缺少依赖

    1.新建一个工程 2.把依赖添加到新建工程的pom文件 神奇的事情发生了,依赖自动补全!!! 3.点击install 安装一下可能有些依赖会有其他依赖 建议:不要在自己原来的工程上浪费时间,新建工程. ...

  5. IOUtils和FileUtils的学习笔记

    pom文件导入依赖import org.apache.commons.io.FileUtils; <dependency> <groupId>commons-io</gr ...

  6. PHP PSR-2 代码风格规范

    代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...

  7. js寄生组合式继承

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 通过samus驱动实现基本数据操作

    传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(documen ...

  9. 在 mac osx 上安装OpenOffice并以服务的方式启动

    OpenOffice是Apache基金会旗下的一款先进的开源办公软件套件,包含文本文档.电子表格.演示文稿.绘图.数据库等.包含Microsoft office所有功能.它不仅可以作为桌面应用供普通用 ...

  10. 详解 Filter 过滤器

    1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ...