说明:详情请参考慕课网课程: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. Android recycleview item水波纹效果

    item的xml 根标签下添加如下三个属性 android:clickable="true" android:focusable="true" android: ...

  2. EncryptUtils

    package me.zhengjie.core.utils; import org.springframework.util.DigestUtils; import javax.crypto.Cip ...

  3. Redis实现分布式读写锁(Java基于Lua实现)

    https://blog.csdn.net/grandachn/article/details/89032815 https://blog.csdn.net/xingsilong/article/de ...

  4. OpenGL 保存bmp图像

    今天我们先简单介绍Windows中常用的BMP文件格式,然后讲OpenGL的像素操作.虽然看起来内容可能有点多,但实际只有少量几个知识点,如果读者对诸如”显示BMP图象”等内容比较感兴趣的话,可能不知 ...

  5. VSTO自动安装、卸载工具

    使用本工具,不需要制作VSTO外接程序安装包,就可以把你的作品自动安装到其他电脑. 用法:下载VSTO_Setup.rar,解压缩,然后把你开发好的Debug文件夹和VSTO_Setup.exe一起发 ...

  6. 安装与使用django-restframework

    django-restframework 一.安装与使用 1.安装 >: pip3 install djangorestframework 2.使用 在settings.py中注册: INSTA ...

  7. 乐观锁(Optimistic Lock)

    乐观锁(非阻塞)指不通过锁表来解决并发问题,一般情况下表数据都会加入一个version字段,对该字段进行比较更新来保证数据的一致性. 这里写了个demo,应该可以说明乐观锁的问题. public cl ...

  8. Linux安装完后的调优(linux 6)

    1:关闭 SELinux 方法一:  #sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #替换文本参数       ...

  9. Java IO: FileOutputStream

    原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) FileOutputStream可以往文件里写入字节流,它是OutputStream的子类, ...

  10. MOOC(4)- setup和teardown函数

    import unittest class TestRequest(unittest.TestCase): @classmethod def setUpClass(cls): print(" ...