分享:给入职新人的IDEA培训教程。
点击上方“方志朋”,选择“设为星标”
回复”666“获取新整理的面试资料
作者:Richard_Yi
链接:http://1t.click/aGJW
# 前言
工欲善其事
必先利其器
最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。
基于的 IDEA 版本信息:IntelliJ IDEA 2018.2.2 (Ultimate Edition)
# 高效率配置
代码提示不区分大小写
Settings -> Editor -> General -> Code Completion
(低版本 将 Case sensitive completion 设置为 None 就可以了)
自动导包功能及相关优化功能
Settings -> Editor -> General -> Auto Import
CTRL + 滑动滚轮 调整窗口显示大小
Settings -> Editor -> General -> Change font size (Zoom) with Ctrl+Mouse wheel
选择之后,就可以通过CTRL+滑动滚轮的方式,调整编辑器窗口的字体大小
tab 多行显示
这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。
Window -> Editor Tabs -> Tabs Placement,取消勾选 Show Tabs In Single Row选项。
效果如下:
代码编辑区显示行
Settings -> Editor -> General -> Appearance 勾选 Show Line Numbers
# 日常使用 必备快捷键(★★)
查找
快捷键 | 介绍 |
Ctrl + F |
在当前文件进行文本查找 |
Ctrl + R |
在当前文件进行文本替换 |
Shift + Ctrl + F |
在项目进行文本查找 |
Shift + Ctrl + R |
在项目进行文本替换 |
Shift + Shift |
快速搜索 |
Ctrl + N |
查找class |
Ctrl + Shift + N |
查找文件 |
Ctrl + Shift + Alt + N |
查找symbol(查找某个方法名) |
跳转切换
快捷键 | 介绍 |
Ctrl + E |
最近文件 |
Ctrl + Tab |
切换文件 |
Ctrl + Alt + ←/→ |
跳转历史光标所在处 |
Alt + ←/→ 方向键 |
切换子tab |
Ctrl + G |
go to(跳转指定行号) |
编码相关
快捷键 | 介绍 |
Ctrl + W |
快速选中 |
(Shift + Ctrl) + Alt + J |
快速选中同文本 |
Ctrl + C/Ctrl + X/Ctrl + D |
快速复制或剪切 |
多行选中 Tab / Shift + Tab |
tab |
Ctrl + Y |
删除整行 |
滚轮点击变量/方法/类 |
快速进入变量/方法/类的定义处 |
Shift + 点击Tab |
快速关闭tab |
Ctrl + Z 、Ctrl + Shift + Z |
后悔药,撤销/取消撤销 |
Ctrl + Shift + enter |
自动收尾,代码自动补全 |
Alt + enter |
IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 |
Alt + ↑/↓ |
方法快速跳转 |
F2 |
跳转到下一个高亮错误 或 警告位置 |
Alt + Insert |
代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等 |
Ctrl + Shift + L |
格式化代码 |
Shift + F6 |
快速修改方法名、变量名、文件名、类名等 |
Ctrl + F6 |
快速修改方法签名 |
代码阅读相关
快捷键 | 介绍 |
Ctrl + P |
方法参数提示显示 |
Ctrl + Shift + i |
就可以在当前类里再弹出一个窗口出来 |
Alt + F7 |
可以列出变量在哪些地方被使用了 |
光标在子类接口名,Ctrl + u |
跳到父类接口 |
Alt + F1 + 1, esc |
|
(Shift) + Ctrl + +/- |
代码块折叠 |
Ctrl + Shift + ←/→ |
移动窗口分割线 |
Ctrl + (Alt) + B |
跳转方法定义/实现 |
Ctrl + H |
类的层级关系 |
Ctrl + F12 |
Show Members 类成员快速显示 |
版本管理相关
快捷键 | 介绍 |
Ctrl + D |
Show Diff |
(Shift) + F7 |
(上)下一处修改 |
更多快捷键请参考此文章 github.com/judasn/Inte…
mac os 快捷键请参考本文章 github.com/judasn/Inte…
# 编码效率相关(★★)
文件代码模板
Settings -> Editor -> File and Code Template
在这里可以看到IDEA所有内置的文件代码模板,当你选择某个文件生成时,就会按照这里面的模板生成指定的代码文件。
另外,你可以在这里设置文件头。
设置之后,效果如下
实时代码模
IDEA提供了强大的实时代码模板功能,并且原生内置了很多的模板,比如,当你输入sout或者psvm,就会快速自动生成System.out.println();和public static void main(String[] args) {}的代码块。
这些的模板可以在Settings -> Editor -> Live Templates看到。使用者可以按照自己的使用习惯来熟悉相关的代码模板。
定制代码模板
IDEA也提供自己定制实时代码模板的功能。
1.创建自己的模板库
2.创建定制的代码模板
图中的MyGroup就存放着我自己定义的代码模板。
其他
CRTL+ALT+T
Ctrl + Alt + T 提供的是代码块包裹功能 - Surround With。可以快速将选中的代码块,包裹到选择的语句块中。
本地历史版本
IDEA 自带本地版本管理的功能,能够让你本地编写代码变得更加的安心和方便。
# 代码调试 源码阅读相关(★★★)
视图模式
IDEA提供两种特殊的视图模式,
1.Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景
2.Distraction Free Mode - 禅模式,专注于代码开发
代码调试
1. 条件断点
IDEA 可以设置指定条件的断点,增加我们调试的效率。
2. 强制返回
IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活!
3. 模拟异常
IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。
4. Evaluate Expression
IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。
# 插件方面
插件安装
File -> Setting -> Plugin
插件安装,可以直接在IDEA的插件库中实时搜索安装。browse plugin repository
对于网络不好的用户,可以登录官方插件仓库地址:plugins.jetbrains.com/idea,下载压缩包之…install from disk
插件推荐
本人日常开发中使用的插件
Alibaba Java Coding Guidelines
阿里Java编程规约插件
FindBugs
代码缺陷扫描
PMD
代码缺陷扫描
InnerBuilder
builder模式快速生成
lombok plugin
lombok 插件
maven helper
maven 依赖管理助手 ,解析maven pom结构,分析冲突;
Rainbow brackets
让代码中的括号更具标识性
String Manipulation
String相关辅助简化,搭配 CTRL+W 、ALT+J等文本选择快捷键使用
Translation
翻译插件,阅读源码必备
GenerateAllSetter
Key Promoter X
对你的鼠标操作进行 快捷键提示
GenerateSerialVersionUID
Alt + Insert 快速生成SerialVersionUID
GsonFormat
RestfulToolkit
1.快速跳转到Restful Api处( use: Ctrl(Command) + \ or Ctrl + Alt + N )
2.展示Resultful 接口结构
3.http 简单请求工具
Material Theme UI
本人自用的主题就是这个。
MyBatis Log Plugin
把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。
Free Mybatis
MyBatis 免费的插件
热门内容:
2020年Java框架排行榜,谁居榜首?
如何优雅地根治null值引起的Bug!史上最全的数据库面试题,不看后悔篇!解锁新姿势:探讨复杂的 if-else 语句“优雅处理”的思路
“醒醒吧,世界上有技术驱动型公司!”HttpClient连接池设置引发的一次雪崩
SpringBoot 整合 Shiro 实现动态权限加载更新+ Session 共享 + 单点登录老弟,你连HTTPS 原理都不懂,还给我讲“中间人攻击”,逗我吗...Mybatis:颠覆你心中对事务的理解最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡
分享:给入职新人的IDEA培训教程。相关推荐
- 入职第二天(培训第二天)
入职第二天(培训第二天) 又是一天培,训的结束,今天的培训内容非常丰富,我也学到了很多的东西(不得不感叹入职后快速学习能力的重要性).今天的培训分为三块:沟通技巧,时间管理,班级活动. 上午的9:30 ...
- 华为新员工入职180天详细培训计划
第一阶段:新人入职,为了让员工在7天内快速融入企业(3~7天)(第一周) 原标题是:让他知道来干什么的.(我个人认为这个目的不是重点) 1.熟悉团队(主责人:部门经理): 介绍位置周围的同事相互认识( ...
- 【阿朱标红】华为新员工入职180天详细培训计划
问题背景:新员工的前6个月的培养周期往往体现出企业对于人才培养的重视程度,但许多企业往往只将重点放在前15天,导致力新生代员工的离职率高峰出现在入职第6个月到1年,让企业损失大量的成本 读后感:居然培 ...
- 职场思想分享002 | 入职第一个月工资这样花,一年内工资至少再涨50%!
今天为大家分享老男孩核心思想108招之第002招:入职第一个月工资这样花,一年内工资至少再涨50%! --如果你不是第一次工作,那就按跳槽后入职的第一个月计算吧! 不管生活多么的困难,新人入社会以后入 ...
- 新员工入职表_员工培训
员工培训1. 培训的作用: (1) 调整人与事之间的矛盾,实现人事和谐的重要手段 (2) 是快出人才.多出人才的重要途径 (3) 是调动员工积极性的有效办法 (4) 是建立优秀组织文化的有力杠杆2. ...
- HR人力资源部门在招聘、入职、参与和培训方面的 OKRs 案例集
OKRs(目标和关键结果)帮助人力资源团队以结构化的方式定义他们的季度目标,也帮助他们量化他们的关键结果. 如何撰写人力资源部门的 OKR ? 人力资源部门的 OKR 实例有哪些? 初创企业的人力资源 ...
- 入职新人如何快速了解业务
来源:一个数据人的自留地 作者:五花肉 01 前言 大数据行业每家公司对岗位内容和任职要求都有不同.即便同一个职位名称工作内容都有可能千差万别.最近部门调整,入职了几个新同学,笔者"有幸&q ...
- 刚入职程序员竟是培训出身!网友:百度3年和培训班一个水平吗?
在互联网时代,程序员是现在最吃香的职位之一,很多人的就业方向就选择了从事互联网行业,去选择做一名程序员,因为程序员薪资待遇还不错,但要想刚开始出来就能拿到高薪是很难的,毕竟这是一个技术岗位,除非你技术 ...
- 招聘、入职、参与和培训的HR人力资源团队 OKR 案例
OKRs(目标和关键结果)帮助人力资源团队以结构化的方式定义他们的季度目标,也帮助他们量化他们的关键结果. 如何编写人力资源 OKR ? 人力资源部门的 OKR 实例有哪些? 企业的人力资源 OKRs ...
最新文章
- 15 个 JavaScript Web UI 库 (转)
- python3 异常嵌套
- linux环境双网卡主机路由配置
- 2000坐标转换成经纬度_ArcGIS中的坐标问题快问快答
- leetcode 395. 至少有 K 个重复字符的最长子串(滑动窗口)
- 谈判如何在谈判中_如何避免通过工资谈判把钱留在桌上
- python文本提取序列信息_从fasta文件中通过头中的ID号提取序列
- Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码)
- centOS7中使用Nginx部署静态网页
- 关于2022年度深圳市技术攻关重大项目的申报通知
- pdfFactory Pro的打印首选项设置
- 服务器鼠标键盘进系统不能用,笔记本开机后鼠标键盘都不能用了怎么办?
- Ubuntu 中文转换成英文方法
- 区块链基础知识的归纳与总结
- JAVA学习(三)----常量和数据类型
- 微信小程序的技术原理
- 谷歌浏览器请求头格式化输出成 python dict字典
- Android面试,给正在找工作的安卓攻城师们 ... ...
- 水果之王之猕猴桃-系列三(猕猴桃的功能和禁忌)
- 3.uedit富文本编辑器的使用_note
热门文章
- SQL Server 2008 R2如何开启数据库的远程连接
- 下拉列表JComboBox,列表框JList
- TensorFlow 实现分类操作的函数学习
- 移动端zepot媒体查询media queries
- api工程IOS学习:在IOS开发中使用GoogleMaps SDK
- Oracle Mutex 机制 说明
- 页面的前进/后退/刷新方法
- ob_get_contents();basename;file_get_contents用法
- C# 创建控制台应用程序
- [导入]源代码版本控制(一)