作者:胡川港

知乎主页:zhihu.com/people/hu-chuan-gang-58

GitHub主页:https://github.com/xiaoxiunique

本文介绍了 IDEA 中令人相见恨晚的技巧,文中从入门、简单项目创建开始,介绍 IDEA 中多光标操作、常用配置、插件、版本控制等等。一定包含你在别的文章没有看到的内容,对了,我把全网 IDEA 相关的优质内容聚合了起来,放在了 GitHub 上,仓库名为:awesome-IntelliJ-IDEA,欢迎给个 Star!

地址:github.com/xiaoxiunique/awesome-IntelliJ-IDEA

提醒一下,本片文章太长,预计阅读时间 30 min,建议转发后再看。本文章目录如下:

1. 创建项目

  • 创建项目

  • 创建包、Class

  • 编码

  • 打包

  • ...

2. 操作基础

  • 光标操作

  • 数列光标

  • 行尾添加光标

  • 指定位置添加光标操作

  • 格式批量调整

  • 批量添加属性注释

  • 提取 Json 字段信息

3. IDEA 常用快捷键

4. IDEA 常用设置

  • 新窗口的形式打开多个项目

  • 编码问题

  • 设置编译器

  • 设置类注释

  • 自动导包

  • 内存使用量展示

  • 开启悬浮提示

  • 修改字体大小

  • 显示多行 Tab

  • 设置字体、行距

  • GIT 配置

  • MAVEN 配置

5. IDEA 常用插件

  • AlibabaCloudToolkit

  • Git Flow

  • PlantUML

  • Rainbow Brackets

  • Alibaba Java Coding Guidelines

  • 翻译插件

  • mybatis 插件

  • IntelliJ Lombok plugin

  • GenAllSetter

  • GenDaoCode

  • CodeGlance

  • RestfulToolkit

  • Grep Console

  • MyBatis Log Plugin

  • GsonFormat

  • VisualVm Launcher

  • jclasslib bytecode viewer

  • Codota

  • Auto filling Java call arguments

  • Rainbow Brackets

  • SequenceDiagram

  • Java Stream Debugger

  • Ace Jump

6. IDEA 好看字体

  • Consolas

  • JetBrainsMono

7.  版本控制

  • 查看每一行代码的条件人, 提交时间

  • 克隆远程代码

  • 拉取远程代码

  • 将暂存区代码提交到本地库

  • 将本地库 提交到远程库

  • 切换分支, 或拉取远程分支

  • 查看当前打开类 历史记录

  • Stash

  • Check Out

8. Terminal 配置

1. 创建项目

接下展示如何创建、运行和打包一个打印 Hello,World 的简单 Java 应用程序!在此过程中,算是入门过程,你将熟悉 IntelliJ IDEA 特性,以提高作为开发人员的工作效率: 编码辅助和补充工具。

后面会介绍 IDEA 中一些高阶操作,大可提升你的效率,一定看到最后哦。

创建一个新的 Java 项目

在 IntelliJ IDEA 中,一个项目可以帮助您将源代码、测试、使用的库、构建说明和个人设置组织到一个单元中。

1. 启动 IntelliJ IDEA。

如果打开欢迎屏幕,请单击“新建项目”。否则,从主菜单中选择 File | New | Project。

2. 在 New Project 向导中,从左侧的列表中选择 Java。

3. 要在 intellijidea 中开发 Java 应用程序,您需要 javasdk (JDK)。

如果所需的 JDK 已经在 IntelliJ IDEA 中定义,那么从 Project SDK 列表中选择它。

如果 JDK 安装在您的计算机上,但是没有在 IDE 中定义,那么选择 Add JDK 并指定 JDK home 目录的路径(例如,/library/java/javavialmachines/JDK-13.0.1)。

如果您的计算机上没有必要的 JDK,选择 Download JDK。在下一个对话框中,指定 JDK 供应商(例如 OpenJDK)、版本,如果需要则更改安装路径,然后单击 Download。

在本教程中,我们不打算使用任何其他库或框架,因此请单击“下一步”。不要从模板创建项目。在本教程中,我们将从头开始执行所有操作,因此请单击“下一步”。

为项目命名,例如:HelloWorld。 如有必要,请更改默认项目位置并单击“完成”。

创建 package 和 class

包用于将属于同一类别或提供类似功能的类组合在一起,用于构造和组织具有数百个类的大型应用程序。

1. 在 Project 工具窗口中,选择 src 文件夹,按 Alt + Insert,然后选择 Java Class

2. 在 Name 字段中,键入 com.example.HelloWorld. HelloWorld 并单击 OK. IntelliJ IDEA 创建 com.example.HelloWorld 包和 HelloWorld 类。

与该文件一起,IntelliJ IDEA 自动为您的类生成了一些内容。在这种情况下,IDE 插入了包语句和类声明。这是通过文件模板来完成的。根据您创建的文件的类型,IDE 插入初始代码和预期在该类型的所有文件中存在的格式。有关如何使用和配置模板的详细信息,请参阅文件模板。

开始编码

通过动态模板增加 main 方法

输出 print 方法

运行方法

将工程打包为 Jar 包

如果你能看到 out/artifacts 文件夹,那么你将能看到 Jar 包

运行打包的应用程序,执行 Jar 就行了。

2. 操作基础

当你会构建一个应用程序了,接下来就是一些基础操作,你可能不知道的基础操作。为什么使用 IDE?不就是因为想提高效率么?很多有用的特性都不知道,怎么提高效率?

在相同内容后生成光标,一个一个选择 :

具体什么意思可以看下面这个动图就行了,需要配合快捷键使用,可以在相同的关键字后面生成光标,这样删除、修改添加新的代码不就方便了吗?

  • Windows:Alt + J

  • Mac: Ctrl + G

在所有的相同的内容后添加光标,一步到位:

使用快捷键就能在所有的 word 后生成光标

  • Windows:Ctrl + Shift + Alt + J

  • Mac: Ctrl + Command + G

数列光标:

方法:alt + 按住鼠标左键拖动就能达到下面动图的效果了,效率 max!

行尾添加光标

alt + 按住鼠标左键拖动,从左侧拖动到右侧。

在指定位置添加光标操作

格式批量调整

将上访左侧的代码批量变为右侧代码

ctrl + alt + enter 将光标移动到当前行的上一行

批量添加 Swagger 属性注释

将上图左侧只有注释的类,添加上 swagger 信息

在多个相同结构 Json 中提取某字段信息

提取左侧 Json 中所有的 role 字段

3. IDEA 常用快捷键

上面介绍了一些配合鼠标使用的快捷键,还有一些常用快捷键。

方法参数提示
ctrl + p

非常实用的快捷键, 有的时候我们自己写的方法, 或者在看一些源码时, 都非常有用

文本大小写转换

ctrl + shift + U

折叠代码/展开代码

ctrl + - / ctrl + +

全局查找文本

ctrl + shift + F

快速查找和打开最近使用过的文件码

ctrl + E

自动代码片

ctrl + j

实现接口方法

ctrl + i

查看当前类的子类

ctrl + h

将当前行和下一行进行合并

ctrl + shfit + j

将光标跳到当前行的上一行

有时候在写完一行代码的时候需要添加注释, 或者为类属性添加注释的时候需要跳到当前行的上一行, 这个快捷键就非常方便

ctrl + alt + enter

idea git 提交

ctrl + k

删除当前行

ctrl + y

重写 或者 实现接口或父类方法

ctrl + o

显示类之间的关系

ctrl + alt + u

删除类中没有用到的 package

ctrl + alt + o

进入设置界面

ctrl + alt + s

在当前光标在的这样一行的下一行添加一行

ctrl + shfit + enter

弹出, 当前类中的方法集合

ctrl + F12

最常用的快捷键之一, 快速的查找方法

添加书签

ctrl + F11

搜索文件

ctrl + shift + n

搜索类合

ctrl + n

最常用的快捷键之一, 项目慢慢的变大, 文件越来越多, 每次用鼠标去找 就太低效了

快速生成 try, if 等语句

alt + shift + t

当你试用了之后, 你会爱上这个快捷键的

抽取局部变量

ctrl + alt + v

将当前选中的代码抽取为一个局部变量

进入到实现子类中

ctrl + alt + b

在使用mvc框架的时候, 往往我们只有一个接口的实例 这个快捷键可以直接到实现类中

格式化代码

让代码变得优美, 是每个程序员都应该注意的事, 方便自己和他人阅读, 利人利己

idea 多光标选择

按下滚轮上下拖动鼠标即可

ctrl + alt + L

idea 批量修改相同内容

ctrl + alt + shift + j

有的时候数据需要批量处理, 比如, 正常来说我们的实体类, 在使用mybatis 等逆向工程进行生成的时候, 一般属性是有注释的, 但是在针对如果我们使用了swagger 等插件需要来显示传递实体所代表的含义的时候, 就需要我们自己一个个的去写, 就会显得异常麻烦

运行当前类

ctrl + shift + F10

在写一些测试代码的时候 这个快捷键就显得特别方便

从多项目中启动一个 debug 模式

alt + shfit + F9

在微服务中 多个工程在一个项目中的时候, 这个方法就比较的好用, 这样就不用自己一个一个的去点省去很多没必要的操作

从多项目中启动一个 正常模式

alt + shfit + F10

重新编译当前项目

ctrl + shift + F9

当你发现有的问题 特别的奇怪, 命名表面上没问题, 但就是项目运行不了的时候, 重新编译一下获取就好了

查看当前类在哪些地方被使用过

快速的查看选中类, 选中方法的定义

有的时候我们不想进入方法内部, 或者进入类的内部查看细节, 想要在外面就探查清楚, 就可以使用此种方法

ctrl + shift + i

比较强大的几个快捷键之一 Ctrl + ~ (感叹号旁边的按键)

共有五种可供选择的操作

Switch Code Formatter (切换代码格式化程序)

1. Color Scheme (配色方案)

可以设置一些常用的配色, 字体样式, 可以一键切换

2. Code Style Scheme

3. Keymap (快捷键列表)

4. View Mode (显示模式)

5. Look and Feel (设置软件主题)

idea 调出版本控制操作

alt + ~

4. IDEA常用设置

IDEA 以新窗口的形式打开多个项目

File - Settings - Appearance & Behavior - System Settings

修改 IDEA 默认编码 -> UTF-8

File - Settings - Editor - File Encodings

设置统一编译器和编译版本

File - Setting - Build - Compiler - Java Compiler

设置类注释

File - Editor- File and Code Templates

$$end$$ 可以设置光标结束的位置

自动导包

File - Editor- General - Auto Import

内存使用量展示

由于日常开发时都是在公司的办公电脑上进行的,所以内存总是不够用,但是又不清楚 IDEA 具体实时的占用了多少内存。这个时候对于一些内存并不是太够的开发人员来说能看到实时的内存使用量还是比较好的

File - Settings - Appearance & Behavior

开启悬浮提示

有时候在看代码的时候,不清楚一个类具体是干什么的,就会点进去看这个类的注释,但是强大的 IDEA 是支持不用点进去就可以看到注释的以及类的相关信息的。

File - Settings - Editor - General

Ctrl+鼠标滚轴修改字体大小

IDEA 也支持向浏览器那样按住 Ctrl+鼠标滚轴来改变编辑区的字体的大小

File-->Settings-->Editor-->General。

显示多行 Tab

当我们打开的标签页多了的时候,默认的会隐藏在右侧,当我们需要的时候在右侧找到后再打开。IDEA 是支持多行显示的,这样在大屏幕的显示器上也不用总去点击右侧的去找刚才打开过的文件了

File - Settings - Editor - General - Editor Tabs

设置字体, 行距 让代码看着更舒服

File - Settings - Editor - Font

IDEA GIT 配置

File - Settings - Version Control - Git

IDEA MAVEN 配置

File - Settings - Build - Build Tools - Maven

maven 阿里镜像配置

 

<mirror>
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

自动编译

具体步骤:顶部工具栏 File ->Other Settings -> Default Settings -> Auto Import

说明:开启自动编译之后,结合Ctrl+Shift+F9 会有热更新效果。

具体步骤:敲击 Ctrl + Shift + Alt + / 然后双击Shift搜索进入Registry ,找到compiler.automake.allow.when.app.running ,然后勾选上。

最后 如果想知道SpringBoot如何具体实现热部署的请点击SpringBoot+IDEA实现热部署教程:

https://www.jianshu.com/p/f658fed35786

取消大小写敏感

具体步骤:

File | Settings | Editor | General | Code Completion Case | Sensitive Completion = None

取消大小敏感,在编写代码的时候,代码的自动提示将更加全面和丰富。

调整字体类型和字体大小

默认的白色背景和细小的字体会影响大家的编码体验,这里特意提供了调整代码窗的快捷配置。打开配置,搜索Font,然后再Font可以调整字体类型,Size可以调整字体大小,如图:

将快捷键设置为跟Eclipse一样

很多人可能并不习惯IDEA的快捷键,为了方便,这里我们将快捷键设置为跟 Eclipse一样。

具体步骤: File -> Settings -> Keymap - > 选择Eclipse .

从Eclipse转过来的小伙伴 可以放心使用

打开常用工具栏

具体步骤:顶部导航栏 - View -> 勾选 Toolbar & Tool Buttons

5. IDEA 常用插件

AlibabaCloudToolkit

这个插件更加适用于小型项目,或者在测试环境开发。生产环境 个人感觉不太适用。

个人经常会有这样的需求,每次自己更新完测试环境之后, 就需要 Maven 打包clean install, 然后copy jar 包, 利用ftp工具上传jar包到测试服务器, 然后kill 服务, 在启动服务 java -jar , 有时更新频繁 这就是一件非常麻烦的事

Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,您可以将本地应用一键部署到云端(ECS、EDAS 和 Kubernetes 等)和任意服务器;并且它还内置了 Arthas 程序诊断、Dubbo工具Terminal Shell 终端和 MySQL 执行器等工具。

官方链接:https://www.aliyun.com/product/cloudtoolkit

简单的说, 安装了这个插件之后,Idea 就具备了一些 Jenkins 的自动部署的功能

1 安装

在 Idea 工具中 Plugins 直接搜索安装

2 使用

在安装完成之后, 在工具栏中就会出现阿里云的按钮, 点击按钮

然后点击 Deploy to Host, 然后下方就会出现添加主机页面

点击 Add Host

以我自己的博客为例, 输入完配置之后, 点击 Test Connection, 出现 Succeeded, 点击 add, 代表添加成功

然后再点击 Deploy to Host

点击Runidea 便会, 先使用maven打包, 后发送到服务器的指定位置

后续还可以 监听启动日志, 很简单, 就是 Advanced 里面, 大家看看就知道了,
后续有时间再完善笔记吧

IDEA 插件 Git Flow

插件作用:集成 Git Flow 让我们更加专注在 开发 这件事上。

Git Flow:

https://medium.com/@rafavinnce/gitflow-branch-guide-8a523360c053

安装

使用

最开始还没有初始化的时候,点击右下脚 GitFlow init

直接 默认 设置就好,点击 Ok 之后,就可以开始使用了。

按照最规范的流程走,可以避免在未来某个阶段掉坑里。

Git 版本管理规范:

master:永远处于production-ready状态

  • 主分支,产品的功能全部实现后,最终在master分支对外发布;

  • 只读分支,只能从release或hotfix分支合并,不能修改;

  • 所有在master分支的推送应该做标签记录,方便追溯。

develop:最新的下次发布的开发状态

  • 主开发分支,基于master分支克隆,发布到下一个release;

  • 只读分支,feature功能分支完成,合并到develop(不推送);

  • develop拉取release分支,提测;

  • release/hotfix分支上线完毕,合并到develop并推送。

feature:开发新功能都从develop分支出来,完成后merge回develop

  • 功能开发分支,基于develop分支克隆,用于新需求的开发;

  • 功能开发完毕后合并到develop分支(未正式上线之前不能推送到远程中央仓库)

  • feature可以同时存在多个,用于团队多功能同步开发,属于临时分支,开发完毕后可以删除。

release:准备要release的版本,只修bug。从develop出来,完成后merge回master和develop

  • 测试分支,feature分支合并到develop分支之后,从develop分支克隆;

  • 只要用于提交给测试人员进行功能测试,测试过程中如果发现BUG在release分支修复,修复完成上线后合并到

  • develop/master分支并推送完成,做标签记录;

  • 临时分支,上线后可删除。

hotfix:等不及release版本就必须马上修复master上线。从master出来,完成后merge回master和develop

  • 补丁分支,基于master分支克隆,主要用于对线上的版本进行BUG修复;

  • 修复完毕后合并到develop/master分支并推送,做标签记录;

  • 所有hotfix分支的修改会进入到下一个release;

  • 临时分支,补丁修复上线后可以删除;

IDEA 插件 PlantUML

1. 背景

之前介绍过 使用 Vscode 画 UML,实际上 idea 中也有类似的插件 可以画 UML 图。

PlantUML 语法:https://plantuml.com/zh/component-diagram

安装插件安装地址:

https://plugins.jetbrains.com/plugin/7017-plantuml-integration

在安装完官方的插件之后,还需要额外安装一个 graphviz ,不然有的复杂的用例图就没办法展示了。

graphviz:https://graphviz.org/download/

2. windows 安装

choco install graphviz

使用

新建文件 - PlantUML File - 选择想要创建的类型

流程图

流程图 CODE

 用例图

用例图 Code

 

@startuml
left to right direction

actor 普通 as User
actor 审核 as Aduitor
actor 编辑 as Editor
actor 营销 as Marketing
actor 运营 as Operator
actor 管理员 as Admin

Admin --|> User

rectangle 社区 {
  User -- (查看文章)
  User -- (发布文章/帖子)

(帖子管理) <|-- (置顶)
  (帖子管理) <|-- (审核)
  (帖子管理) <|-- (推荐)
  (帖子管理) <|-- (删除)

(社区运营) <|-- (帖子管理)
   Operator -- (社区运营)
   Aduitor -- (社区运营)
   Editor -- (社区运营)
   Marketing -- (社区运营)

(App 配置) <|-- (商品图片配置)
  (App 配置) <|-- (启动页配置)
  (App 配置) <|-- (活动 Banner)
  (App 配置) <|-- (互动 Banner)
  (App 配置) <|-- (商城配置)
  (App 配置) <|-- (功能配置)
  (App 配置) <|-- (产品配置)
  (App 配置) <|-- (系统配置)
  (App 配置) <|-- (新人礼包)
  (App 配置) <|-- (个人中心)
  (App 配置) <|-- (渠道配置)
  Admin -- (App 配置)
}
@enduml

类图

彩虹括号

IntelliJ IDEA 实用操作教程相关推荐

  1. 大学计算机基础实用教程重点知识,大学计算机基础实用操作教程

    <高等学校计算机应用规划教材:大学计算机基础实用操作教程>紧抓基础操作,突出重点,遵循教学规律.对于计算机实际操作过程的细节不求面面俱到,但对其中典型的功能都做了比较详细的讲解.此外,&l ...

  2. IntelliJ IDEA 实用安装教程

    IntelliJ IDEA IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境.IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手.代码自动提示.重构. ...

  3. 本地共享映射文件夹进行删除操作_从集群建立到航测建模CC(Smart3D)实用操作教程...

    一.添加影像 1. 影像筛选,剔除无用影像.(如起飞落地影像与天空影像) 2. 点击影像---添加影像添加整个目录 注:相机参数一样,将全部影响放到一个文件夹即可. 变为 二.添加控制点 1. 点击  ...

  4. intellij idea 实用快捷键

    创建时间: 2017-11-21,最后一次更新时间:2017-11-30,intellij idea 版本: ultimate 2017.1 记录 windows 下 intellij idea 实用 ...

  5. Java语言最新实用案例教程_Java 语言实用案例教程

    基本信息 书名:Java 语言实用案例教程 出版价格:48元 作者:常玉慧, 王秀梅 出版社:科学出版社 出版日期:2016-10-1 ISBN:9787030497383 字数:387000 页码: ...

  6. IntelliJ IDEA开发入门教程

    IntelliJ IDEA开发入门教程 本系列教程从 IntelliJ IDEA 的安装.卸载.软件设置.项目配置等各个方面进行讲解.通过本系列教程的学习,也希望你能爱上 IntelliJ IDEA, ...

  7. 计算机excel操作教程,Excel操作教程 -电脑资料

    Excel是一个全能的电子表格,它功能强大.操作方面,除了可以快速地生成.格式化各种表格外,还可以对表格中的数据完成很多数据库的功能,本人在使用Excel过程中,学到了一些非常实用的技巧,相信掌握这些 ...

  8. Oracle数据库中的级联查询、级联删除、级联更新操作教程

    这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询.级联删除.级联更新 ...

  9. 历史气象数据网站及操作教程

    查询下载历史气象数据实用网站分享及操作教程: 1.中国气象科普 2.羲和能源大数据 3.中国气象局 4.中国国家气候中心 5. USGS Earth Explorer(美国地质调查局) 6. NOAA ...

最新文章

  1. React子组件给父组件传值, 父组件引用子组件并给子组件传值
  2. 英语口语 week14 Friday
  3. paypal创建订单后怎么获得id_PayPal开放加密数字货币买卖 2021年将支持2600万家商户购物...
  4. linux docker安装_Linux上安装docker的完美教程
  5. html图片自动切换的幻灯片效果的,js带点自动图片轮播幻灯片特效代码分享
  6. ce修改服务器的数据库,数据库服务器的调优步骤
  7. matlab 上穿,Matlab混入模式(Mixin)
  8. error This module isn‘t specified in a package.json file.
  9. ffmpeg转MP4 moov头在前命令
  10. JAVA容器-自问自答学HashMap
  11. C语言之-fPIC编译与代码位置无关.a/.so库(二)
  12. 东芝笔记本linux系统安装驱动,最详实解决方案 笔记本安装驱动指南!
  13. 单片机PWM波(AT89C51、ADC0808)
  14. struct termios
  15. oracle dba_hist_sql,从dba_hist_sqlstat视图中查找过去时段最占用资源的会话
  16. php excel引入tp,TP 引入phpExcel
  17. 次梯度(subgradient)方法
  18. C++面向对象程序设计:地铁自动售票系统
  19. 基于多相滤波器的数字信道化算法详解(Python, Verilog代码已开源)
  20. 安卓 类微信界面实现

热门文章

  1. 测试用例,必须这么写....
  2. upstream demo
  3. 利用Future接口实现异步线程同步回滚
  4. Tomcat配置JVM内存
  5. Halcon对彩色图像进行背景差法分割图像
  6. 在Mac OS上搭建本地服务器
  7. cvf 打 jar包1
  8. 电脑无法启动 please press DEL or F2 enter UEFI BIOS setting
  9. prism-发布订阅
  10. 扫地机器人测评云鲸_云鲸扫地机器人好不好?看深度测评为你答疑解惑