点击上方蓝色“方志朋”,选择“设为星标”

回复“666”获取独家整理的学习资料!

来源:https://segmentfault.com/a/1190000019977265

前言

工欲善其事

必先利其器

最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。

同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。

基于的 IDEA 版本信息:IntelliJ IDEA 2018.2.2 (Ultimate Edition)

知识点概览:

  • 高效率配置

  • 日常使用 必备快捷键(★★)

    • 查找

    • 跳转切换

    • 编码相关

    • 代码阅读相关

    • 版本管理相关

  • 编码效率相关(★★)

    • 文件代码模板

    • 实时代码模板

    • 其他

  • 代码调试 源码阅读相关(★★★)

    • 视图模式

    • 代码调试

    • ...

  • 插件方面

    • 插件的安装与使用

    • 插件推荐

  • 参考


高效率配置

1. 代码提示不区分大小写

Settings -> Editor -> General -> Code Completion

(低版本 将 Case sensitive completion 设置为 None 就可以了)

2. 自动导包功能及相关优化功能

Settings -> Editor -> General -> Auto Import

3. CTRL + 滑动滚轮 调整窗口显示大小

Settings -> Editor -> General -> Change font size (Zoom) with Ctrl+Mouse wheel

选择之后,就可以通过CTRL+滑动滚轮的方式,调整编辑器窗口的字体大小

4. tab 多行显示

这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。

Window -> Editor Tabs -> Tabs Placement,取消勾选 Show Tabs In Single Row选项。

效果如下:

5. 代码编辑区显示行号

Settings -> Editor -> General -> Appearance 勾选 Show Line Numbers

6....

日常使用 必备快捷键(★★)

查找

快捷键 介绍
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 (上)下一处修改

更多快捷键请参考此文章 https://github.com/judasn/Int...

mac os 快捷键请参考本文章 https://github.com/judasn/Int...

编码效率相关(★★)

文件代码模板

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 可以设置指定条件的断点,增加我们调试的效率。IntelliJ IDEA 调试 Java 8 Stream,推荐看下。

2. 强制返回

IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活!

3. 模拟异常

IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。

4. Evaluate Expression

IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。

插件方面

插件安装

File -> Setting -> Plugin

插件安装,可以直接在IDEA的插件库中实时搜索安装。browse plugin repository

对于网络不好的用户,可以登录官方插件仓库地址:https://plugins.jetbrains.com...,下载压缩包之后,选择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

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 免费的插件

参考

https://github.com/judasn/IntelliJ-IDEA-Tutorial

(By the way, 更多IDEA使用请参考此延伸文档以及官方文档

热门内容:
  • 超美观的 Vue+Element 开源后台管理 UI

  • Mybatis 使用的 9 种设计模式,真是太有用了

  • 你的登录接口真的安全吗?

  • 微服务架构:注册中心 ZooKeeper、Eureka、Consul 、Nacos 对比!

  • 图解ElasticSearch 搜索原理

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡

部门内 IDEA 分享,超实用技巧!相关推荐

  1. idea 分栏_常用SQL优化与IDEA超实用技巧分享

    原标题:常用SQL优化与IDEA超实用技巧分享 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,更是我们程序员需要去关注 ...

  2. 如何写好绩效考核的年终总结?分享一些技巧

    每年的年底或者第二年的年初是很多公司写绩效考核年终总结的时候.这个时候很多朋友不知道绩效考核年终总结如何写,今天我给大家分享一些技巧. 一.写年终总结对绩效有帮助吗? 其实对于绩效考评,你的总结写的怎 ...

  3. excel表格如何转换成word表格_Word如何制作表格?Word制作表格超实用技巧

    在工作当中经常用到的办公软件就是word,今天Macdown小编为大家分享Word制作表格超实用技巧,也是新手制表必备知识,不会的朋友可以来学习一下. 1 在Word文档中点击上面的插入菜单,接下来在 ...

  4. 新手制表必备知识:Word制作表格超实用技巧!

    Word制作表格超实用技巧分享给大家,我们在工作当中经常用到的办公软件就是word,今天小编为大家分享Word制作表格超实用技巧,也是新手制表必备知识,不会的朋友可以来学习一下. Word制作表格: ...

  5. 网络推广是什么浅析网站内的链接优化技巧有哪些?

    众所周知,网络推广是什么表示,网站在做SEO优化时,主要有两个方向,一是站内优化,另一个是站外优化,那么多如果想要网站的排名越靠前,想要关键词在搜索结果有更好的表现,就要先做好站内的的网站优化,对于站 ...

  6. android 截屏 分享,Android应用内截图分享的实现记录

    Android应用内截图分享的实现记录 近期的项目中有个需求,需要将某个表示用户身份的页面整个截取下来,分享到微信微博.网上也很多的解决方案,我也分享下我自己的爬坑记录. 需求分析 有个页面,用于展示 ...

  7. Android——App内文件分享功能

    国内的Android开发者,在遇到App内有分享功能时,基本都是对接友盟分享.ShareSDK分享等第三方SDK.简单的集成SDK以及配置之后,即可分享至多个不同App平台.反而很少来使用Androi ...

  8. 利用PS快速抠图的5个超实用技巧

    利用PS快速抠图的5个超实用技巧 抠图是图像处理中最常做的操作之一,也是photoshop中最为常用的技术之一.抠图其实并不难,只要你有足够的耐心和细心,只须掌握PS中一些基础知识就能完美的抠出图片. ...

  9. get新技能!做excel表格超实用技巧大汇总

    做excel表格,超实用技巧,以后不用再求人了!转起学技能!

最新文章

  1. 非技术成本继续困扰光伏产业
  2. C++知识点15——使用C++标准库(IO流)
  3. 文巾解题 12. 整数转罗马数字
  4. 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《数据可视化:构建实时动态运营数据分析大屏》篇...
  5. 【Solr】- Tomcat部署
  6. Introspection in Python How to spy on your Python objects Guide to Python introspection
  7. 跨域产生的原因和解决方法_针织面料染色折痕/产生的原因及解决方法
  8. VS2012下基于Glut 矩阵变换示例程序2:
  9. ajax图片上传,基于firefox
  10. [译转]深入理解LayoutInflater.inflate()
  11. 移动应用开发之相关需求文档详细说明
  12. 使用流报错:stream has already been operated upon or closed
  13. 如何删除tmp计算机桌面,教你Win10系统中tmp文件删除不了应该如何解决?
  14. Win10睡眠后自动唤醒启动的问题
  15. 中国肥胖地图出炉,北方人腰更粗实锤了
  16. java learn 日期
  17. 声音能否内嵌在PPT中
  18. 关于fastapi框架的异步
  19. git创建本地分支以及推送本地分之至远程分支
  20. Linux 编译找不到头文件

热门文章

  1. 2018-3-7论文网络评论中非结构化信息的表示与研究--------实验分析
  2. 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
  3. 八、LaTex中的表格
  4. HDU 2566 统计硬币
  5. 摄像机的几个重要的技术指标
  6. java中数组的一些笔记
  7. JAVA如何检测GC日志
  8. NCEPU:线下组队学习周报(008)
  9. 【青少年编程】黄羽恒:翻译小工具 -- 利用有道翻译
  10. 记录一次自己清理数据的过程