简介

        本文介绍Intellij IDEA的常用快捷键,分类将其展示。包括:代码提示、日常编辑、代码导航、查找与替换、模板快捷键、注释快捷键、宏快捷键、git、调试等。

        包含:默认快捷键、如何修改快捷键(自定义快捷键)等。

        此设置教程也适用于WebStorm,Pycharm。

配置方法

配置入口

  • 进入项目之前的配置方法:Customize=> Keymap=> Configure
  • 进入项目之后的配置方法:File=> Settings=>Keymap

按键加鼠标快捷键设置方法

以ctrl+alt+鼠标右键为例

File=> Settings=>Keymap=> 找到“Go to Super Method”=> 右键=> Add Mouse ShortCut=> 按下ctrl+alt+鼠标右键

导入导出

快捷键配置文件目录

2020.3.2及之后默认配置位置:C:\Users\Liu\AppData\Roaming\JetBrains\IntelliJIdea2020.3\keymaps\

2020.3.2之前的默认配置位置:C:\Users\xxx\.IntelliJIdea20XX.X\config\keymaps\

导出

        首先要改一个快捷键(比如:alt+x:Extend Line Selection),此时会在快捷键配置文件目录下生成配置文件:Windows copy.xml。

        以后所有的自定义快捷键的配置都会放到这个文件当中去,所以这个文件就是自定义快捷键的导出的方法了。

将Default for Windows copy.xml拷贝过去。然后进:Configure=> Settings=>Keymap=> 选择使用Default for Windows copy.xml

导入

        假设我们已经导出快捷键配置并将其保存为:Default for Windows Copy.xml文件。

         新安装完软件之后,仍然改一个快捷键(比如:alt+x:Extend Line Selection),这样会生成快捷键配置文件的目录(keymaps目录),在快捷键配置文件目录下生成配置文件:Windows copy.xml。(因为默认是没有快捷键的配置文件目录及配置文件的)。

        将Default for Windows copy.xml拷贝到Windows copy.xml所在目录下过去。然后进:Configure=> Settings=>Keymap=> 选择使用Default for Windows copy.xml

Intellij IDEA--快捷键大全/常用快捷键--分类/设置/修改/自定义/导入导出_ide

代码提示


我的快捷键



原来快捷键



作用



对应描述/备注



alt+.



ctrl+空格



基础代码补全。



Basic

ctrl+空格 被输入法占用了。



alt+enter





根据光标所在位置,提供快速修复选择。



Create getter and setter for 'xxx'

例如:设置某一成员getter与setter:选中成员=>alt+enter=>



ctrl+j





插入实时模板。



Insert Live Template



ctrl+shift+空格





智能代码提示



SmartType



ctrl+shift+i





快速定义。



Quick Definition



ctrl+q





查看方法文档。



选中方法=>ctrl+q



alt+q





上下文信息



Context Info



ctrl+o





覆写方法/实现接口库



Override Methods



ctrl+i





实现接口



Implement Methods...



shift+alt+enter





导入类



光标放到没有导入类的红色内容,按下快捷键



ctrl+alt+o





优化导入(自动删除import的包)



Optimize Imports

此快捷键与QQ冲突,将QQ的去掉即可。



ctrl+alt+l





整理代码格式 



Reformat Code



ctrl+alt+t





把选中代码用if/while/try catch等包围起来。



Surround With



ctrl+alt+j





把选中代码用实时模板包围。



Surround with Live Template



ctrl+alt+F7





查看语句可以抛出的异常。



将鼠标放到会抛出异常的语句上,按下快捷键


日常编辑


我的快捷键



原来快捷键



作用



对应描述/备注



alt+enter






添加声明

输入new String后alt+enter,可以自动填充String string = xxx



Show Context Actions



ctrl+enter



alt+insert



自动生成代码。如:

getter/setter, 构造函数, toString



Generate...

光标放在类里边=>alt+insert=>
Getter and setter=> ctrl + a=> ok



shift+enter



ctrl+shift+enter



结束当前语句。

(格式化当前语句;若是调用方法则以分号结尾;若是编写方法则添加大括号)



Complete Current  Statement



ctrl+shift+enter



shift+enter



在下方插入新行(先跳出任意位置再插入)



Start New Line



ctrl+alt+enter





在上方插入新行(先跳出任意位置再插入)



Start New Line before current



tab



跳出引号/括号(只能跳一次)



Editor=> General=> Smart Keys=> 

Jump outside closing bracket/quote with Tab when typing



alt+x





选中一行



Extend Line Selection

//或:Select Single Line at Caret



alt+d



ctrl+y



删除一行



Delete Line



ctrl+d






复制 行或者选中



复制光标所在的行或者选中的内容

Duplicate Line or Selection



ctrl+y



ctrl+shift+z



取消撤销



Redo



alt+e



ctrl+w



扩选



对小括号、尖括号、中括号里的内容进行扩选。

Extend Selection



ctrl+/





行 注释/取消注释。(//)



Comment with Line Comment

默认在行首加//,在字母前加注释的方法:File=> Settings=> Editor=> Code Style=> Java=> Code Generate=> Comment Code=> 取消“Line comment at first column”=> 选中“Add a space at comment start”



ctrl+shift+/



块 注释/取消注释(/* */)



Comment with Block Comment



ctrl+alt+l





格式化代码(按编码规范)



Reformat Code



shift+alt+鼠标

//alt+鼠标



列模式选择






shift+alt+鼠标双击





选中多个单词





代码导航


我的快捷键



原来快捷键



作用



对应描述/备注



ctrl+p





查看参数信息。



光标放在被调用方法的圆括号内,然后按此快捷键



ctrl+h





查看类继承关系。(分层折叠,很方便)



Type Hierarchy



ctrl+alt+h





查看方法调用链



Call Hierarchy



ctrl+shift+t



ctrl+n



搜索并查看类文件/符号(方法等)



Class



ctrl+鼠标左键





查看方法定义/调用(会打开其文件)



若为定义,则查看调用;若为调用,则查看定义



ctrl+alt+鼠标左键





查看接口实现。



Implementation(s)



ctrl+alt+鼠标右键



ctrl+u



查看父类方法(包括接口方法)。



Go to Super Method



ctrl+鼠标悬浮





查看位置和定义(不会打开其文件)



查看简略定义



alt+7





查看结构



Structure



F2





跳到下一个错误



Next Highlighted Error



shift+F2





跳到上一个错误



Previous Highlighted Error



ctrl + [





跳到代码块开始([]或者{})



Move Caret to Code Block Start



ctrl + ]





跳到代码块结束([]或者{})



Move Caret to Code Block End



ctrl+shift+m





跳到大括号的开头/结尾



Move Caret to Matching Brace



ctrl+shift+F7





高亮当前文件的某个变量



按F3/shift+F3在各个高亮的变量上移动。

按Esc移除高亮


查找替换


我的快捷键



原来快捷键



作用



对应描述/备注



ctrl+shift+f





查找字符串。指定区域(项目、模块、路径)内代码批量查找



Find in Path



ctrl+alt+f



shift+shift



查找所有位置(可选择文件、类、符号(symbols))等

*:匹配任意多个字符

空格:pattern的结束



Search Everywhere

取消方法:

2021.2.2及之后

File=> Settings=> Advanced Settings=> User Interface=> 选中“Disable double modifier key shortcuts”

2021.2.2之前

ctrl+shift+alt+/ => registry=> 

勾选“ide.suppress.double.click.handler”

(或:control+shift+t=> actions=> "registry")



ctrl+r





替换






ctrl+shift+r



指定区域(项目、模块、路径)内代码批量替换(字符串)



Replace in Path



F3 / ctrl+F3





在本文件中跳到下一个查找项并高亮

可以用于ctrl+f的查找 / 选中直接查找



Find Next / Move to Next Occurence



shift + F3



在本文件中跳到上一个查找项并高亮

可以用于ctrl+f的查找 / 选中直接查找



Find Previous / Move to Previous Occurence


模板

默认的(标准错误/标准输出)


模板



作用



模板内容



serr



不自动填充



System.err.println();



sout



不自动填充



System.out.println();



soutm



打印当前类和方法(自动填充)



System.out.println(xxx); 



soutp



打印参数名和值(自动填充)



System.out.println(xxx); 



soutv



打印单个变量名和值(自动填充且可选是哪个变量)



System.out.println(xxx); 



soutl



打印System.out::println



System.out::println


默认的(其他)


模板



作用



模板内容



fori



打印for循环语句



for (int xxx = 0; xxx < yyy; xxx++) {
}



main/psvm



打印主方法



public static void main(String[] args) {}


我的模板(output_my)


模板



作用



模板内容



soutd



打印调试信息(类,方法,行号)



System.out.println(xxx); 


自定义模板的方法(以soutd为例)

File=> Settings=> Editor=> Live Templates=> 右侧“+”=> Template Group...=> 输入“output_my”=>

    选中"output_my"=> 右上角“+”=> Live Template=>

        “Abbreviation”输入:“soutd”,“Description”输入“Prints debug info to System.out”=>

        “Template text”输入如下语句

System.out.println("[$CLASS_NAME$#$METHOD_NAME$]: $LINE_NUMBER$");

        右侧Edit variables:输入相应的参数名及方法  (若“Template text”中没有$xxx$,则“Edit variables”是灰色的

        箭头处选择语言为Java

Intellij IDEA--快捷键大全/常用快捷键--分类/设置/修改/自定义/导入导出_配置文件_02

注释

类注释/方法注释(自带的)

在类或方法外部输入“/**”,然后回车。

类注释(自定义的)

File=> Settings…=> Editor=> File and Code Templates=> Includes=> File Header

/**
* @author somebody
* @date ${DATE} ${TIME}
*/

方法注释(自定义的)

File=> Settings=> Live Templates=> 右侧“+”=> Template Group=> 本处写为“output_my”=> 选中这个分组=> 右侧“+”=> Live Template=> 

Intellij IDEA--快捷键大全/常用快捷键--分类/设置/修改/自定义/导入导出_ide_03

param对应的Expressions:

groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())

return 对应的Expressions:

groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())

示例:

Intellij IDEA--快捷键大全/常用快捷键--分类/设置/修改/自定义/导入导出_配置文件_04

注意

1. 在方法内部按下cmt,回车即可。然后将其拷贝到方法前边

2. @param后边的参数会有黄色波浪线,警告为:@param XX tag description is missing。

    解决方法:1.在后边再写一点东西   2.File=> setting=> inspections=> Java=> Javadoc=> 取消选中“Declaration has Javadoc problems”

简介

        跟其他软件一样,JetBrain系列软件有宏录制的功能,也可以给他指定快捷键。宏制作完成之后,可以按shift+shift,在actions里边找到。

设置位置

Edit=> Macros=> 这里有开始录制宏、编辑宏、播放宏等

设置快捷键

File=> Settings=> Kaymap=> 右侧“Macros”=> 右键刚才制定的宏=> “Add Keyboard Shortcut” 

文件


我的快捷键



原来快捷键



作用



对应描述/备注



ctrl+w



ctrl+f4



关闭当前文件



Close



ctrl+shift+w





关闭所有文件



Close All



ctrl+E





查找最近打开过的文件



Recent Files



shift+alt+c





查找最近修改的文件



Recent Changes


git


我的快捷键



原来快捷键



作用



对应描述/备注



ctrl+shift+a



ctrl+alt+a



git add



Add to VCS



ctrl+shift+c





git commit



Commit File



ctrl+shift+p



ctrl+shift+k



git push



Push


调试


我的快捷键



原来快捷键



作用



对应描述/备注



alt+z



shift+f9



调试



Debug