前言

工欲善其事

​必先利其器

最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。 同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。

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

知识点概览:

  • 高效率配置
  • 日常使用 必备快捷键(★★)
    • 查找
    • 跳转切换
    • 编码相关
    • 代码阅读相关
    • 版本管理相关
  • 编码效率相关(★★)
    • 文件代码模板
    • 实时代码模板
    • 其他
  • 代码调试 源码阅读相关(★★★)
    • 视图模式
    • 代码调试
    • ...
  • 插件方面
    • 插件的安装与使用
    • 插件推荐
  • 参考

2019-08-09 UPDATE

增加图片描述,增加插件内容。阅读更友好。


高效率配置

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 (上)下一处修改

更多快捷键请参考此文章 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 免费的插件

参考:https://juejin.im/post/5d47f4e851882534d152a206

软件——IDEA 超实用使用技巧分享的更多相关文章

  1. IDEA 超实用使用技巧分享

    前言 工欲善其事 ​ 必先利其器 最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优 ...

  2. IntelliJ IDEA 超实用使用技巧分享

    https://blog.csdn.net/weixin_38405253/article/details/102583954 知识点概览: 高效率配置 日常使用 必备快捷键(★★) 查找 跳转切换 ...

  3. 技巧分享:解决Word 2010当中“分页符”造成的空白行

    技巧分享:解决Word 2010当中“分页符”造成的空白行 P1:关于“分页符” 在Word当中插入“分页符”之后,后面的内容就会“更起一段”.就好像“换行符”(回车)会让后面的内容“另起一行”一样. ...

  4. 编辑技巧分享如何给PDF添加注释

    纸质的文件想要添加注释就直接拿笔在上面添加就好了,那么电子文件要怎么添加注释呢,今天小编就以我们现在经常使用到的PDF文档来为大家分享怎么添加注释.   1. 我们需要在百度中搜索并下载并安装一款PD ...

  5. SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片

    在“SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片”文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰 ...

  6. 批量删除wps文档里的回车符的方法!WPS使用技巧分享!

    有时候整理文档的时候,如果是从网上复制的文字,可能会因为复制而产生很多的回车符.怎样能批量去掉这些个回车符呢,下面马上告诉你批量删除wps文档里的回车符的方法!WPS使用技巧分享! 想要批量删除批量删 ...

  7. webstorm的中文教程和技巧分享

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...

  8. WebBrowser控件使用技巧分享

    原文:WebBrowser控件使用技巧分享 在发布“淘宝登货员”时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得. 首先分享一个WebBrowser的扩展类(此类所需的dll ...

  9. Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9941208.html 主讲人:大石头 时间:2018-11-10 晚上20:00 地点:钉钉群(组织代码 ...

随机推荐

  1. pinpoint php 使用不当引发棘手的问题 --psid sid tid pname ptype ah

    Pinpoint 简单介绍 Pinpoint 是用 Java 编写的 APM(应用性能管理)工具,用于大规模分布式系统,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的. 安装 ...

  2. 【Java】标识符 & 命名规则

    Java的标识符和命名规则 什么是标识符[Identifier]? 指用来标识某个实体的一个符号.在不同的应用环境下有不同的含义. 在编程语言中,标识符是开发者编程时使用的名字,对于变量.常量.函数. ...

  3. 利用opencv实现视频捕捉功能

    import cv2 as cv import numpy as np def video_demo(): capture = cv.VideoCapture(0) #打开摄像头,参数0代表设备ID( ...

  4. Delphi程序启动参数的读取

    Delphi中有两个专门用于读取命令行参数的变量:    Paramcount-->用于返回命令行参数的个数    Paramstr数组-->用于返回指定的命令行参数       示例代码 ...

  5. Python套接字之UDP

    目录 基于UDP的socket 发送消息 接收消息 基于UDP的socket 面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端 发送消息 在 ...

  6. reactnavigation 5.x简单例子

    随着RN和reactnavigation的版本更新,网上很多老版的例子都不能用了. 自己摸索着跑通了一些简单的功能. 使用的是最新的    "react-native": &quo ...

  7. redis: Jedis API(十四)

    1.Key操作 package com.kuang; import redis.clients.jedis.Jedis; import java.util.Set; public class Test ...

  8. ntp和chrony

    目录 chrony 简介 ntp pool ntp 配置文件 chrony 配置文件 chronyc 命令行工具 修改时区 chrony 简介 chrony 是 RedHat 开发的,它是网络时间协议 ...

  9. 基于Neo4j的个性化Pagerank算法文章推荐系统实践

    新版的Neo4j图形算法库(algo)中增加了个性化Pagerank的支持,我一直想找个有意思的应用来验证一下此算法效果.最近我看Peter Lofgren的一篇论文<高效个性化Pagerank ...

  10. OAuth - 四种方式

    OAuth 2.0 的标准是 RFC 6749 文件.该文件先解释了 OAuth 是什么. OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者.......资源所有者同意以后,资 ...