所有分类
  • 所有分类
  • 未分类

Intellij IDEA-快捷键大全

简介

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

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

此设置教程也适用于WebStorm,Pycharm等Intellij系列的软件

配置方法

配置入口

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

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

以ctrl+alt+鼠标右键为例

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

导入导出

建议直接使用此文的导入导出,可以导入导出所有配置:Intellij IDEA-导入导出配置 – 自学精灵

如果你想单独导出快捷键,可以看下边的方法:

快捷键配置文件目录

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

代码提示

我的快捷键原来快捷键作用对应描述/备注
alt+.ctrl+空格基础代码补全。Basic ctrl+空格 被输入法占用了。
ctrl+shift+空格智能代码提示。 比如:填充参数SmartType
alt+enter根据光标所在位置,提供快速修复选择。Create getter and setter for ‘xxx’ 例如:设置某一成员getter与setter:选中成员=>alt+enter=>
ctrl+j插入实时模板。 比如:FIXME、TODOInsert Live Template
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
alt+l修复Eslint问题Fix ESLint Problems
ctrl+alt+j把选中代码用实时模板包围。Surround with Live Template
ctrl+alt+F7查看语句可以抛出的异常。将鼠标放到会抛出异常的语句上,按下快捷键

日常编辑

我的快捷键原来快捷键作用对应描述/备注
alt+enter添加声明 输入new String后alt+enter,可以自动填充String string = xxxShow Context Actions
ctrl+enteralt+insert自动生成代码。如: getter/setter, 构造函数, toStringGenerate… 光标放在类里边=>alt+insert=>
Getter and setter=> ctrl + a=> ok
shift+enterctrl+shift+enter结束当前语句。 (格式化当前语句;若是调用方法则以分号结尾;若是编写方法则添加大括号)Complete Current  Statement
ctrl+shift+entershift+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+dctrl+y删除一行Delete Line
ctrl+d复制 行或者选中复制光标所在的行或者选中的内容 Duplicate Line or Selection
ctrl+yctrl+shift+z取消撤销Redo
alt+ectrl+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
ctrl + home/end跳到文件开头/结尾
shift+alt+鼠标 //alt+鼠标列模式选择
shift+alt+鼠标双击选中多个单词
ctrl+shift+u将选中内容都转成大写/小写Edit=> Toggle Case

代码导航

我的快捷键原来快捷键作用对应描述/备注
ctrl+p查看参数信息。光标放在被调用方法的圆括号内,然后按此快捷键
ctrl+h查看类继承关系。(分层折叠,很方便)Type Hierarchy
ctrl+alt+h查看方法调用链Call Hierarchy
ctrl+shift+tctrl+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+fshift+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

重构

通用

我的快捷键原来快捷键作用对应描述/备注
shift + F6重命名(类名、方法名、属性名等)Refactor
F6移动成员位置(属性、方法)Refactor=> Move Members

方法重构

我的快捷键原来快捷键作用对应描述/备注
ctrl + F6修改方法签名(返回值类型、方法名、参数类型及名字)Refactor=> Change Signature
ctrl + alt + m将当前选择的内容提取为方法Refactor=> Extract=> Method
ctrl + alt + n将当前选择的方法铺开(内联) (与ctrl + alt + m相反)Refactor=> Inline
ctrl + alt + p提取当前选择为方法参数Refactor=> Extract=> Parameter
实例方法转为静态方法Refactor=> Make Static
静态方法转为实例方法Refactor=> Convert To Instance Method

变量重构

我的快捷键原来快捷键作用对应描述/备注
ctrl + alt + v提取当前选择为变量Refactor=> Extract=>=> Variable
ctrl + alt + f提取当前选择为类的私有属性Refactor=> Extract=> Field
ctrl + alt + c提取当前选择为常量Refactor=> Extract=> Constant
ctrl + shift + f6修改变量的类型Refactor=> Type Migration

类重构

文件

我的快捷键原来快捷键作用对应描述/备注
ctrl+wctrl+f4关闭当前文件Close
ctrl+shift+w关闭所有文件Close All
ctrl+e查找最近打开过的文件Recent Files
ctrl+shift+e查找最近的文件位置Recent Locations
shift+alt+c查找最近修改的文件Recent Changes

模板

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

模板作用模板内容
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::printlnSystem.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

注释

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

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

类注释(自定义的)

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=> 

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()) 

示例:

注意

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

2. @param后边的参数会有黄色波浪线,警告为:@param XX tag description is missing。
    解决方法:1.在后边再写一点东西   2.File=> setting=> inspections=> Java=> Javadoc=> 取消选中“Declaration has Javadoc problems”

git

我的快捷键原来快捷键作用对应描述/备注
ctrl+shift+actrl+alt+agit addAdd to VCS
ctrl+shift+cgit commitCommit File
ctrl+shift+pctrl+shift+kgit pushPush

调试

我的快捷键原来快捷键作用对应描述/备注
alt+zshift+f9调试Debug

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录