zoukankan      html  css  js  c++  java
  • IDEA使用技巧

    这篇博客是慕课网上视频的学习笔记,手打出来方便日后查阅。原视频地址

    第一章 IDEA入门

    1.1 Intellij IDEA下载

    1. 官网下载地址
      • Ultimate版本,所有的功能都完美的支持,收费
      • Community版本,开源免费,有些功能不支持

    1.2 IDEA界面介绍

    1. IDEA的左侧侧边栏有1:Project、7:Structure和2:Favorities 开发时,习惯全屏代码区,当需要左侧侧边栏时,无需使用鼠标,只需按住Alt+数字即可出现相应的侧边菜单。然后按下ESC就会把鼠标重新聚焦到代码区。
      • Alt+1:Project
      • Alt+2:Favorities
      • Alt+4:Run
      • Alt+5:Debug
      • Alt+6:TODO
      • Alt+7:Structure
    2. Favorites功能:可以显示工程中所有的断点位置;收藏功能。

    第二章 Find Action

    1. IDEA中Help下的Find Action可以帮助我们定位到各个指令。Find Action本身的快捷键是Ctrl+Shift+A

    第三章 无处不在的跳转

    3.1 项目之间的跳转

    1. 当使用IDEA同时打开多个项目协同开发时,可以使用快捷键进行跳转:
      • Ctrl+Alt+右方括号跳转到Next Project Window下一个项目窗口
      • 使用Ctrl+Alt+左方括号跳转到Previous Project Window前一个项目窗口
      • 使用Ctrl+Shift+A输入window project等关键字成功得到相应提示

    3.2 文件之间的跳转

    1. 在项目中文件很多的情况下,有时我们会想找到最近浏览过的文件
      • Ctrl+E可以找到Recent Files最近浏览过的文件
    2. 找到最近修改过的文件
      • Ctrl+Shift+E可以找到Recently Changed Files最近修改过的文件

    3.3 浏览、修改位置的跳转

    1. 使用Ctrl+Shift+Backspace可以跳转到Last Edit Location最后修改过的位置
    2. Next Edit Loaction没有默认快捷键
    3. 使用Ctrl+Alt+向左箭头可以跳转到Back光标之前停留过的地方
    4. 使用Ctrl+Alt+向右箭头可以跳转到Forward光标之后停留过的地方

    3.4 利用书签进行跳转

    1. 当使用IDEA查看源码时,可以对关注的代码位置添加书签
      • Ctrl+F11可以Toggle Bookmark with Mnemonic使用数字书签标记位置
      • Ctrl+1..9可以跳转到对应的书签位置
    2. 可以某个类单独添加书签
      • Alt+Shift+F可以给某个类add to Favorites添加到Favorites中
        • Favorites中可以创建列表,例如把值得学习的代码放到一个列表中
      • Alt+Shift+F可以给某个类的某个方法添加到Favorites中

    3.5 跳转插件emacsIDEAs

    1. 在编辑一个文件时,有时需要将光标跳转到以某个字母开头的位置如以s开头,文件中有多个以s开头的位置,这时,可以借助emacsIDEAs插件做到快捷跳转
    2. 安装插件,Ctrl+Shift+A,输入plugins,到Browse Repositories中找到emacsIDEAs插件,Install,然后重启IDEA
    3. 设置其快捷键,Ctrl+Shift+A,输入keymaps,找到Manage keymaps
      • 选择Plug-ins,在最下面找到emacsIDEAs,找到AceJumpWord
      • AceJumpWord 默认的快捷键为Meta+F,一般计算机键盘上并没有这个键,需要另外添加快捷键
      • 右键,Add keyboard Shortcut,为其添加快捷键,我这里设置为Ctrl+J
      • 使用:如要跳转到以p开头的位置,先按住Ctrl+J,然后再输入p,这时,emacsIDEAs插件会为文件的所有以p开头的单词进行编号,asdf…按下光标要跳转到位置对应的字母即可

    3.6 编辑区和文件区的跳转

    1. 在代码编辑区按Alt+1可以跳转到文件区下,再按ESC就可以从文件区返回到编辑区

    3.7 精准搜索

      • Ctrl+N,可以搜索到指定的Class类
      • Ctrl+N+N,可以搜索包含JAR包中的类
    1. 文件
      • Ctrl+Shift+N,可搜索到指定的File文件
    2. 符号
    3. Ctrl+Alt+Shift+N,可以搜索关键字,包括变量名、函数名和类名等。
    4. 字符串
      • 要搜索字符串,可以通过Ctrl+Shift+F来实现,有几个选项:
        • Match case,是否匹配大小写
        • Words,是否是一个单词
        • Regex,通过正则表达式搜索
        • File mask,可以指定在哪个文件下搜索
          • In Project,在项目下搜索
          • Module,在模块下搜索
          • Directory,在目录下搜索
          • Scope,在指定区域内搜索,还可以自定义搜索区域

    第四章代码助手

    4.1 列操作

    1. 光标选中相关操作
      • Shift+右箭头,选中下一个位置,按住Shift并多次按方向键选中多个位置
      • Ctrl+右箭头,Move Caret to Next Word把光标移动到下一个单词
      • Ctrl+Shift+右箭头,Move Caret to Next Word With Slection把光标移动到下一个单词并选中
    2. 大小写转换
      • Ctrl+Shift+U,Toggle Case
    3. Home,Move Caret to Line Start将光标移动到本行开始的位置
    4. End,Move Caret to Line End将光标移动到本行最后的位置
    5. Ctrl+Alt+Shift+J,Select All Occurrences,选中所有相同的字符串,多光标操作
    6. F2,自动将光标定位到报错的位置
    7. Ctrl+Alt+L,Reformat Code,重新格式代码
    8. 案例,后台向前台传递响应状态时,定义如下四种状态,分别为响应成功、错误、需要登陆和非法参数
    0: "success"
    1: "error"
    10: "need_login"
    2: "illegal_argument"
    • 1
    • 2
    • 3
    • 4

    现在要把状态封装成枚举类,需要以下几步: 1. 创建枚举类ResponseCode,声明两个属性code和desc并生成构造方法和get方法 2. 把上面四种状态复制过来 3. 将光标选中到“:”,按Ctrl+Alt+Shift+J进行多光标操作,也可以用Alt+J,会依次选中下一个 4. 将全部的光标移动到双引号后面的位置,按住Ctrl+Shift+右箭头选中success等单词,并按Ctrl+Shift+U将单词转换成大写 5. Ctrl+C复制这些单词,使用Home,将光标移动到行首,粘贴,输入左括号,Ctrl+右箭头,将光标移动到“:”前面 6. Ctrl+Shift+右箭头,会选中“: ”,替换成“,” 7. 连续按三次Ctrl+右箭头,或者直接按End键,将光标显示到行的末尾,输入“),” 8. 现在除了最后一行报错,前面的三行就都完成了。ESC取消多光标操作,按F2光标会定位到报错的位置,Shift+左箭头,将最后一个枚举的“,”换成“;” 9. Ctrl+Alt+L,Reformat Code,重新格式代码

    public enum ResponseCode  {
    
        SUCCESS(0,"SUCCESS"),
        ERROR(1,"ERROR"),
        NEED_LOGIN(10,"NEED_LOGIN"),
        ILLEGAL_ARGUMENT(2,"ILLEGAL_ARGUMENT");
    
        private final int code;
        private final String desc;
    
        ResponseCode(int code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    
        public int getCode() {
            return code;
        }
    
        public String getDesc() {
            return desc;
        }
    
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    4.2 live template

    • 可以使用Setting下的Live Templates定义常用的代码模板,分为以下几步:
      • 创建分组:点击+按钮下的Template Group,Create New Group,取组名为“方法”
      • 创建模板:在“方法”分组下,点击+按钮下的Live Templates创建模板。以main函数为例,下图中Abbreviation为模板名称,Description为模板注释,Template text中的内容为模板,其中$END$表示最后光标停留位置,最后要点击define,选择Java表示这个模板定义为Java语言的模板

    这里写图片描述 - 为public static void main定义模板 - Abbreviation:main     - Description:public static void main     - Template text:

    public static void main(String[] args) {
        $END$
    }
    • 1
    • 2
    • 3
    • 为public static final int定义模板
      • Abbreviation:psfi
      • Description:public static final int自定义(IDEA本身就提供了一个)
      • Template text:public static final int $var1$ = $var2$;使用时var1的内容输入完成后按回车光标就直接到等号右边var2了
    • 为public static final String定义模板
      • Abbreviation:psfs
      • Description:public static final String自定义(IDEA本身就提供了一个)
      • Template text:public static final String $var1$ = $var2$;
    • 为private int定义模板
      • Abbreviation:pi
      • Description:private int
      • Template text:
    private int $VAR2$;
    
    $END$
    • 1
    • 2
    • 3
    • 为private int定义模板
      • Abbreviation:pic
      • Description:private int 有注释
      • Template text:
    /**
     * $VAR1$
     */
    private int $VAR2$;
    
    $END$
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 为private String定义模板
      • Abbreviation:ps
      • Description:private String
      • Template text:
    private String $VAR2$;
    
    $END$
    • 1
    • 2
    • 3
    • 为private String定义模板
      • Abbreviation:psc
      • Description:private String 有注释
      • Template text:
    /**
     * $VAR1$
     */
    private String $VAR2$;
    
    $END$
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.3 postfix

    for (int i = 0; i < 100; i++) {
    }
    • 1
    • 2
    • 上面的for循环,只需输入100.fori按回车就可以出来
    • 可以在Settings下的Postfix Completion查看有哪些后缀实现
    常用的Postfix:
    • fori:for循环,例子:100.fori
    • sout:打印输出,例子:new Date().sout
    • field:引入表达式字段,例子:
    //当忘记声明arg变量时,使用field
    public class Foo {
      public Foo(int arg) {
        arg.field
      }
    }
    
    //使用后,会自动生成属性
    public class Foo {
        private final int arg;
    
        public User(int arg) {
            this.arg = arg;
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • return:返回值,例子:
    String m() {
        "result".return
    }
    String m() {
       return "result";
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • nn:检查表达式是否为空,例子
    void m(Object o) {
       o.nn
    }
    void m(Object o) {
        if (o != null){
    
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4.4 Alt+Enter

    • 自动创建函数
    public static void main(String[] args) {
            f1();//Alt+Enter就会自动创建出下面的函数
    }
    
    private static void f1() {
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • List Replace
    for (int i = 0; i < list.size(); i++) {
        String item = list.get(i);
    }
    //选中for循环按住alt+enter出现Replace with foreach
    for (String item : list) {
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 实现接口
    • 单词拼写
    System.out.println("usernmea is jone");//username拼写错误,单词下会出现波浪线
    //按下alt+enter,出现Typo Change to...
    //Intellij会给出一些建议的单词
    
    • 1
    • 2
    • 3
    • 4
    • 导包

    第五章 编写高质量代码

    5.1 重构

    • 重构变量,Shift+F6,Rename
    • 重构函数
      • Ctrl+F6,Change Signature,添加参数
      • 先在调用的地方添加实参,Alt+Enter

    5.2 抽取

    • 抽取变量,Ctrl+Alt+V。Refactor->Extract->Variable
    //抽取前
    System.out.println("sun");
    System.out.println("sun");
    System.out.println("sun");
    //抽取后
    String sun = "sun";
    System.out.println(sun);
    System.out.println(sun);
    System.out.println(sun);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 抽取成静态常量,Ctrl+Alt+C
    public static final String SUN = "sun";
    
    public static void main(String[] args) {
        System.out.println(SUN);
        System.out.println(SUN);
        System.out.println(SUN);
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 抽取成员变量,Ctrl+Alt+F
    private static String sun;
    
    public static void main(String[] args) {
        sun = "sun";
        System.out.println(sun);
        System.out.println(sun);
        System.out.println(sun);
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 抽取函数,Ctrl+Alt+M

    第六章 寻找修改轨迹

    6.1 git的集成

    • annotate,注释。在显示行号的位置右击,选中Annotate即可查看当前行代码的commit、author和date

    6.2 local history

    • show history,查看本地所有的更改
    • put label,做了更改后,为本次更改做个标记,再次show history可以看到左侧的标签

    第七章 关联一切

    7.1 spring的关联

    • File->Project Structure->Facets->+按钮->Spring把接口和实现类对应起来,bean是在哪个文件扫描到的等

    7.2 数据库的关联

    • 数据库视图,IDEA右侧边栏的Database->+按钮->Data Source->选择是那种数据库->输入主机、数据库、用户名、密码、URL。
      • 书写Mapper时,IDEA就会提示数据库的相关信息(表名、列名)
      • 可以在视图中重构表名、列名,Shift+F6

    第八章 调试程序

    8.1 断点调试

    • 添加断点,Toggle Line Breakpoint,Ctrl+F8
    • Debug方式启动程序,Shift+F9
    • 单步运行,F8,Step Over
    • resume(重新开始,继续),F9。会跳转到下一个断点,如果没有断点了,直接结束程序运行
    • 查看所有断点,Ctrl+Shift+F8
    • 禁止所有断点,Mute Breakpoint,然后按F9,就可以跳过余下的所有断点了
    • 表达式求值,Alt+F8。可以对程序中的变量做一些操作如list.size等
    • 运行到指定行,从断点运行的位置直接让程序运行到光标所在的行,Run to Cursor,Alt+F9
    • setValue,在debug窗口,选中要设值得变量,F2,可以在调试时改变变量的值

    第九章 其他操作

    9.1 文件操作

    • Ctrl+Alt+Insert,快速创建类,文件等
    • 复制当前文件,F5,无需复制粘贴
    • 移动当前文件
      • 剪切、复制
      • F6

    9.2 文本操作

    • 复制文件名:选中文件名,Ctrl+C
    • 复制文件完整路径:Ctrl+Shift+C
    • Ctrl+[ OR ],可以跑到大括号的开头与结尾
    • Alt+Insert,可以生成构造器/Getter/Setter等
    • Ctrl+Shift+Space,自动补全代码
    • Alt+Shift+Up/Down,将代码上/下移一行
    • Ctrl+X,删除行
    • Ctrl+D,复制行

    9.3 结构图

    • 查看field、method大纲,File Structure,Ctrl+F12
    • 查看maven依赖大纲,pom.xml右击->Maven->Show Dependency
    • 查看类图大纲,找到代码右键Diagrams或Ctrl+Alt+Shift+U
    • 查看类继承结构,Ctrl+H
    • 查看当前函数调用了哪些其他函数,或当前函数被哪些函数调用,Ctrl+Alt+H,可以帮助看其他项目源码的结构
  • 相关阅读:
    jmeter使用教程
    Jmeter的好搭档Badboy的安装与简单使用
    十大编程算法助程序员走上高手之路
    polyfillJS生成promise对象
    js+canvas实现滑动拼图验证码功能
    WebAssembly介绍
    解释器与编译器
    使用axios优雅的发起网络请求
    【javascript】script标签的async异步解析
    sass用法快速入门
  • 原文地址:https://www.cnblogs.com/clarke157/p/9461236.html
Copyright © 2011-2022 走看看