IDEA(jetbrain通用)优雅级使用教程
Posted Sharember
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA(jetbrain通用)优雅级使用教程相关的知识,希望对你有一定的参考价值。
前面写过一篇IDEA的入门级文章,但是只学会了那些配置啊什么的并不能提高我们的开发效率。事实上,如果你IDEA用的足够熟练,就可以把鼠标扔了。
附入门级教程传送门:
http://blog.csdn.net/qq_31655965/article/details/52788374
实时代码模板(Live Templates)
我们先来看一个gif图:
![]()
大兄弟,你看清我的操作了么?
这个就是实时代码模板的功能。我们来看一下怎么用它。
看了这个图,你大概已经知道怎么建立一个新的模板了。下面将一下模板的变量。
第一个gif图里用到了两个模板,一个是系统定义的psvm(private static void main的缩写),使用它我们可以快速创建main函数。另一个是我们自定义的syso(来自eclipse用户的强迫症)
//syso的模板文本
System.out.println("$val$的值是:---"+ $val$ + ",当前方法=$CLASS_NAME$.$METHOD_NAME$()");$END$
- $VAR1$、$CLASS_NAME$、$METHOD_NAME$ 都为自己定义的变量名。设置变量名只要用两个 $ 包住即可。
- 每个变量在代码输出的时候都是一次光标位置,光标跳动顺序从左到右,每次跳动按 Enter。
- $END$,表示最后都编辑完后光标所处的位置
- $SELECTION$,表示设置环绕实时代码模板,环绕功能下面会模板专门进行介绍。
- 除了两个特例,其他被$包裹的都是自定义变量
下面看一下,如何对变量进行设置:
![]()
看了这个图,你大概就应该清楚了。内置函数直接看一下官网介绍吧,都能看懂的。
内置函数介绍:https://www.jetbrains.com/idea/help/live-template-variables.html
顺便提一句,在左下角还有三个选项,是几个辅助功能。
- Reformat according to style: 对生成的代码进行格式化(建议勾选)。
- use static import if possible :静态导入
- Shorten FQ names :我也不知道这个是干嘛的,默认就勾选了,所以最好选中
这个是一个很强大的功能,大家没事可以多看看系统内置的模板,把自己经常写的代码保存成模板,有利于提高效率。比如:
![]()
5秒一个单例模式
文件代码模板
这个我想大家都知道吧,你每次新建一个文件的时候,总会有一些已经存在的代码或者文字,这个就是文件代码模板。
DEA 默认新建类自带的类注释格式一般不够友好或是规范,所以我们一般需要自己根据喜好或者一些要求设置。
![]()
velocity是一种模板,在写javaEE项目的时候,有三种模板可以使用:jsp,freemarker和velocity
![]()
上面的java模板有一句
#parse("File Header.java")
,这个File Header就是在这里定义的。每次创建一个新的java文件,都会有一个这样的头
我们先来看一个例子:
看起来屌屌的。怎么做的呢?
![]()
大概就是这样了。
有的人会说,为什么不在File Header文件中修改呢?因为有很多模板引用了那个文件,如果你修改了它,那么所有引用它的模板都会改变。如果你只想改变java,那只修改class文件就可以了。
由于可以使用velocity的语法,所以模板可以有很多高端写法。
比如可以使用
#set( $变量名 = "变量值内容" )
来设置一个全局变量,这样在文件的任何位置都能够访问到它,就不需要自己写好几遍了。更多的模板设置方式,感兴趣的请自行研究velocity。
说了半天,我们讲的都是文件模板,还有代码模板没说。因为,这个改动的不多,系统默认的差不多就够用了。
![]()
在我们通过快捷方式生成某个类的测试方法时候会自动调用此 Code 模板,所以我们可以解释该 Code 功能主要用在 IntelliJ IDEA 自动帮我们生成某些代码的时候引用的模板。
p.s.代码模板是不能够添加也不能删除的。
Postfix Completion
先看一个例子:
![]()
哪怕快一秒,也是提高了效率不是么?
这个功能怎么使用呢?
![]()
没事就打开看看
ALT + Enter介绍
这是一个非常厉害的组合!
厉害到什么程度呢?厉害到我都讲不完的程度。。所以我丢个链接,然后就跑:
https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/newMaster/hotkey-alt-enter-introduce.md
极客学院的教程,图文并茂。
Emmet插件
这个插件写前端的应该都不陌生吧,前端神器。IDEA内置了这个插件。我们来看一下:
![]()
这个插件强大的很,我觉得是每个前端必会的技能,不会的赶紧去学习一波啊
Java 热部署插件 JRebel 安装及使用
在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 浪费不少生命啊, 自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率。
JRebel 的安装方法有两种, 一种是直接在 Tomcat 启动参数上面加上 JRebel 的参数, 另外一种是以插件的形式装到 IntelliJ IDEA 上, 比较推荐后者。所以,只讲第二种方式。
![]()
先装个插件压压惊
这个速度是有点慢的。。可以到官网上把插件下载下来,然后从本地安装:https://zeroturnaround.com/software/jrebel/trial/ (事实上,官网也挺慢的)
这个是需要激活的,但是现在你在官网上注册之后,会自动跳出一个激活码,也就是说,现在你可以免费使用,不过你需要注册一下。网址在上面(安装好在idea里也能注册,但是给不给激活码我就不知道了)。
安装好了之后,查看一下你的插件:
在原来运行项目的按钮边上会多出两个绿色的按钮, 如图, 前面那个是 Run, 后面那个是 Debug:
配置tomcat
然后用jRebel启动项目(run 或者 debug都可以)
如果没有报错,并且打印出了版本等信息,这样就证明弄好了。你可以修改一个文件试一下效果。
IntelliJ IDEA 常用快捷键讲解(Mac)
Mac键盘符号和修饰键说明
⌘
Command⇧
Shift⌥
Option⌃
Control↩︎
Return/Enter⌫
Delete⌦
向前删除键(Fn+Delete)↑
上箭头↓
下箭头←
左箭头→
右箭头⇞
Page Up(Fn+↑)⇟
Page Down(Fn+↓)Home
Fn + ←End
Fn + →⇥
右制表符(Tab键)⇤
左制表符(Shift+Tab)⎋
Escape (Esc)
一、Editing(编辑)
Control + Space
基本的代码补全(补全任何类、方法、变量)Control + Shift + Space
智能代码补全(过滤器方法列表和变量的预期类型)Command + Shift + Enter
自动结束代码,行末自动添加分号Command + P
显示方法的参数信息Control + J
快速查看文档Shift + F1
查看外部文档(在某些代码上会触发打开浏览器显示相关文档)Command + 鼠标放在代码上
显示代码简要信息Command + F1
在错误或警告处显示具体描述信息Command + N, Control + Enter, Control + N
生成代码(getter、setter、构造函数、hashCode/equals,toString)Control + O
覆盖方法(重写父类方法)Control + I
实现方法(实现接口中的方法)Command + Option + T
包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码)Command + /
注释/取消注释与行注释Command + Option + /
注释/取消注释与块注释Option + 方向键上
连续选中代码块Option + 方向键下
减少当前选中的代码块Control + Shift + Q
显示上下文信息Option + Enter
显示意向动作和快速修复代码Command + Option + L
格式化代码Control + Option + O
优化importControl + Option + I
自动缩进线Tab / Shift + Tab
缩进代码 / 反缩进代码Command + X
剪切当前行或选定的块到剪贴板Command + C
复制当前行或选定的块到剪贴板Command + V
从剪贴板粘贴Command + Shift + V
从最近的缓冲区粘贴Command + D
复制当前行或选定的块Command + Delete
删除当前行或选定的块的行Control + Shift + J
智能的将代码拼接成一行Command + Enter
智能的拆分拼接的行Shift + Enter
开始新的一行Command + Shift + U
大小写切换Command + Shift + ] / Command + Shift + [
选择直到代码块结束/开始Option + Fn + Delete
删除到单词的末尾Option + Delete
删除到单词的开头Command + 加号 / Command + 减号
展开 / 折叠代码块Command + Shift + 加号
展开所以代码块Command + Shift + 减号
折叠所有代码块Command + W
关闭活动的编辑器选项卡
二、Search/Replace(查询/替换)
Double Shift
查询任何东西Command + F
文件内查找Command + G
查找模式下,向下查找Command + Shift + G
查找模式下,向上查找Command + R
文件内替换Command + Shift + F
全局查找(根据路径)Command + Shift + R
全局替换(根据路径)Command + Shift + S
查询结构(Ultimate Edition 版专用,需要在Keymap中设置)Command + Shift + M
替换结构(Ultimate Edition 版专用,需要在Keymap中设置)
三、Usage Search(使用查询)
Option + F7 / Command + F7
在文件中查找用法 / 在类中查找用法Command + Shift + F7
在文件中突出显示的用法Command + Option + F7
显示用法
四、Compile and Run(编译和运行)
Command + F9
编译ProjectCommand + Shift + F9
编译选择的文件、包或模块Control + Option + R
弹出 Run 的可选择菜单Control + Option + D
弹出 Debug 的可选择菜单Control + R
运行Control + D
调试Control + Shift + R, Control + Shift + D
从编辑器运行上下文环境配置
五、Debugging(调试)
F8
进入下一步,如果当前行断点是一个方法,则不进入当前方法体内F7
进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中Shift + F7
智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法Shift + F8
跳出Option + F9
运行到光标处,如果光标前有其他断点会进入到该断点Option + F8
计算表达式(可以更改变量值使其生效)Command + Option + R
恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上Command + F8
切换断点(若光标当前行有断点则取消断点,没有则加上断点)Command + Shift + F8
查看断点信息
六、Navigation(导航)
Command + O
查找类文件Command + Shift + O
查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
Command + Option + O
前往指定的变量 / 方法Control + 方向键左 / Control + 方向键右
左右切换打开的编辑tab页F12
返回到前一个工具窗口Esc
从工具窗口进入代码文件窗口Shift + Esc
隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口Command + Shift + F4
关闭活动run/messages/find/… tabCommand + L
在当前文件跳转到某一行的指定处Command + E
显示最近打开的文件记录列表Option + 方向键左 / Option + 方向键右
光标跳转到当前单词 / 中文句的左 / 右侧开头位置Command + Option + 方向键左 / Command + Option + 方向键右
退回 / 前进到上一个操作的地方Command + Shift + Delete
跳转到最后一个编辑的地方Option + F1
显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)Command + B / Command + 鼠标点击
进入光标所在的方法/变量的接口或是定义处Command + Option + B
跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口Option + Space, Command + Y
快速打开光标所在方法、类的定义Control + Shift + B
跳转到类型声明处Command + U
前往当前光标所在方法的父类的方法 / 接口定义Control + 方向键下 / Control + 方向键上
当前光标跳转到当前文件的前一个/后一个方法名位置Command + ] / Command + [
移动光标到当前所在代码的花括号开始/结束位置Command + F12
弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)Control + H
显示当前类的层次结构Command + Shift + H
显示方法层次结构Control + Option + H
显示调用层次结构F2 / Shift + F2
跳转到下一个/上一个突出错误或警告的位置F4 / Command + 方向键下
编辑/查看代码源Option + Home
显示到当前文件的导航条F3
选中文件/文件夹/代码行,添加/取消书签Option + F3
选中文件/文件夹/代码行,使用助记符添加/取消书签Control + 0...Control + 9
定位到对应数值的书签位置Command + F3
显示所有书签
七、Refactoring(重构)
F5
复制文件到指定目录F6
移动文件到指定目录Command + Delete
在文件上为安全删除文件,弹出确认框Shift + F6
重命名文件Command + F6
更改签名Command + Option + N
一致性Command + Option + M
将选中的代码提取为方法Command + Option + V
提取变量Command + Option + F
提取字段Command + Option + C
提取常量Command + Option + P
提取参数
八、VCS/Local History(版本控制/本地历史记录)
Command + K
提交代码到版本控制器Command + T
从版本控制器更新代码Option + Shift + C
查看最近的变更记录Control + C
快速弹出版本控制器操作面板
九、Live Templates(动态代码模板)
Command + Option + J
弹出模板选择窗口,将选定的代码使用动态模板包住Command + J
插入自定义动态代码模板
十、General(通用)
Command + 1...Command + 9
打开相应编号的工具窗口Command + S
保存所有Command + Option + Y
同步、刷新Control + Command + F
切换全屏模式Command + Shift + F12
切换最大化编辑器Option + Shift + F
添加到收藏夹Option + Shift + I
检查当前文件与当前的配置文件- Control + ` 快速切换当前的scheme(切换主题、代码样式等)
Command + ,
打开IDEA系统设置Command + ;
打开项目结构对话框Shift + Command + A
查找动作(可设置相关选项)Control + Shift + Tab
编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)
十一、Other(一些官方文档上没有体现的快捷键)
Command + Shift +8
竖编辑模式
官方资料:
https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard_Mac.pdf
IntelliJ IDEA 常用快捷键讲解(Win&Linux)
为了不占篇幅,我就不细说了,基本上和mac的差不多(command换成ctrl),详情请看官方文档:
https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf
本篇文章差不多就讲这么多了。如果你喜欢vim,IDEA有很好用的vim插件供你使用,我就不细说了。
本来不打算写这篇文章的,因为极客学院的那个教程写的非常详细。但是极客学院的图片挂了。。。看不了图片。github上有原文,但是github加载图片太慢了,网不好的话,一分钟加载一张图片也是有可能的,不利于观看。所以我挑了点有用的写了一下,方便自己也方便别人。本来想多写点的。但是突然就懒了。。。
暂时先这样吧。有什么问题请留言。
放个地址,网好的自己去看更详细的教程吧:
https://github.com/judasn/IntelliJ-IDEA-Tutorial
以上是关于IDEA(jetbrain通用)优雅级使用教程的主要内容,如果未能解决你的问题,请参考以下文章