Idea 多光标操作

操作基础

在相同内容后生成光标,一个一个选择
在所有的相同的内容后添加光标,一步到位
数列光标,鼠标拖动
行位光标
在指定位置添加光标

格式批量调整

将左侧的格式转换为右侧的格式
ctrl + alt + enter 将光标移动到当前行的上一行

批量添加 Swagger 属性注释

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

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

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

Debug

移动/ 复制断点

删除断点

配置断点属性

在我们进行调试的时候,很多时候其实并不需要所有断点发生情况都触发,我们需要有条件的触发,这个时候我们就可以为这个断点本生设置条件,只有在条件范围内触发后 在触发断点。

无阻塞断点

这个应该大部分同步不知道

调试窗口介绍

调试工具窗口为每个会话显示以下选项卡:

  • Frames:使您可以在线程的调用堆栈中导航。
  • Variables:列出当前上下文中可用的变量,并让您分析和修改程序状态。
  • Watches:让您管理手表。默认情况下,监视显示在“变量”选项卡上,以更有效地利用屏幕空间。如果您有很多手表,请考虑在单独的标签中查看它们。
  • Console:显示程序输出。
    对于本地会话,该选项卡的作用与您在未连接调试器的情况下运行该程序的作用相同。唯一的区别是调试器输出(例如,来自断点的日志消息)已添加到控制台。
    当您附加到进程时,程序输出不会重定向,并且调试器控制台中仅显示调试器输出。
  • Threads:显示活动线程列表,并允许您在它们之间切换。在此选项卡中,您可以以文本格式导出线程信息。
  • Memory:提供有关堆上当前可用对象的信息,并允许您监视和分析它们的生存期。
  • Overhead:允许您监视特定调试器功能消耗的资源并优化调试器性能。

idea 快捷键

方法参数提示

ctrl + p

折叠代码

ctrl + -

全局查找文本

ctrl + shift + F

最近修改的代码

ctrl + E

自动代码片

ctrl + j

实现接口方法

ctrl + i

查看当前类的子类

ctrl + h

删除当前行

ctrl + y

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

ctrl + o

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

ctrl + shfit + j

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

ctrl + alt + enter

显示类之间的关系

ctrl + alt + u

删除类中没有用到的package

ctrl + alt + o

进入设置界面

ctrl + alt + s

在当前光标在的这样一行的下一行添加一行, 并自动添加括号, 标点符号等

ctrl + shfit +enter

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

在做javaweb的时候, 一个controller 方法太多, 不好查找, 这个方法就派上用场了, 一般的controller的方法名增删查改, 就能很快定位到代码的位置

ctrl + F12

添加书签

ctrl + f11

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

ctrl + ~

共有五种可供选择的操作

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

可以在eclipse和idea的代码格式化之间快速转换

Color Scheme (配色方案) (ctrl + ~ 选择 Color Scheme)

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

Keymap (快捷键列表) (ctrl + ~ 选择 Keymap)

我们的同事有的喜欢在idea上用eclipse的快捷键, 有时候帮忙调试程序的时候, 就有点恼火了,对于用习惯了idea快捷键的人, 是真的用不习惯eclipse的快捷键, 这个时候Keymap就排上用场了

idea 提供了10多种快捷键的可选择的模式, 任我们随意切换, 这样就可以在帮同事调试代码时临时调整快捷键, 调试完毕后在切换回去

View Mode (显示模式) (ctrl + ~ 选择 View Mode)

可以屏蔽其他内容, 只显示类中的相关代码, 让你专注编程

搜索文件

ctrl + shift + n

搜索类合

ctrl + n

抽取局部变量

ctrl + alt + v

进入到实现子类中

ctrl + alt + b

格式化代码

ctrl + alt + L

idea 多光标的使用

  • 按下滚轮上下拖动鼠标即可
  • 在相同的元素后面添加光标 alt + j
  • 选中内容 按 ctrl + shift + alt + j 统一修改相同的内容

选中当前单词(非常好用)

ctrl + w

alt + 左右箭头

在窗口之间移动

运行当前类

ctrl + shift + F10

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

alt + shfit + F9

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

alt + shfit + F10

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

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

ctrl + shift + i

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

ctrl + ~

共有五种可供选择的操作

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

1. Color Scheme (配色方案)

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

2. Code Style Scheme

3. Keymap (快捷键列表)

4. View Mode (显示模式)

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

IDEA 版本控制篇 GIT (不一样的操作方式)

查看每一行代码的条件人, 提交时间(大部分人不知道)

选择后入下图所示

鼠标移动上去还能看到提交详细信息

克隆远程代码

git clone origin url

常规操作

装逼操作

拉取远程代码

git pull

快捷方式

ctrl + t

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

git commit -m ‘message’

将本地库 提交到远程库

git push

快捷键

ctrl + shift + k

alt + 1 + 8

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

以下提供几种快捷方式

ctrl + shift + `

alt + ~ + 7

查看当前打开类 历史记录

alt + ~ + 4

查看项目工程历史记录

选中工程后

alt + ~ + 4

或 alt + 9 切换到 Version Control 面板 选择log

idea 内置ssh远程工具

平常在开发的时候, 避免不了需要远程服务器操作, 平常我们可能会使用 `xshell` 等连接工具, 但是其实 `idea`也内置了这样的功能

上图中展示的是IDEA中两个非常棒的内置功能,可以在Tools -> Start SSH session中开启远程服务器的终端,在IDEA下方可以执行远程指令;也可以在Tools -> Deployment ->Browse Remote Host中展开如图右侧的结构,可视化地浏览服务器上的文件列表,检查应用是否部署成功。

这功能真的超方便

IDEA 常用设置

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

File – Settings – Appearance & Behavior – System Settings

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

File – Settings – Editor – File Encodings

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

File – Setting – Build – Compiler – Java Compiler

0x04 设置类注释

File – Editor- File and Code Templates

/**
* @Package ${PACKAGE_NAME}
* @author atom.hu
* @date ${DATE} ${TIME}
* @version V1.0
*/

0x05 自动导包

File – Editor- General – Auto Import

0x06 内存使用量展示

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

0x07 开启悬浮提示

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

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

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

0x09 显示多行Tab

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

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

File – Settings – Editor – Font

0x0B IDEA GIT 配置

File – Settings – Version Control – Git

0X0C IDEA MAVEN 配置

File – Settings – Build – Build Tools – Maven

idea 插件

Alibaba Cloud Toolkit

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

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

官网链接

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

0x01 安装

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

0x02 使用

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

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

点击 Add Host

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

然后再点击 Deploy to Host

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

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

阿里巴巴编码规范

Alibaba Java Coding Guidelines 

翻译插件

Translation

mybatis 插件

Free Mybatis plugin

Lombok 插件

IntelliJ Lombok plugin

Lombok pom.xml 文件配置

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>

GenAllSetter 特性

在Java方法中, 根据 new 关键词, 为Java Bean 生成所有Setter方法。

按GenAllSetter键两次, 会为Setter方法生成默认值。

GenDaoCode

一键生成 dao xml service

CodeGlance

在右侧生成代码地图

RestfulToolkit

RequestMapping搜索神器

加入这个插件之后, 在做java搜索的时候就方便很多了

 ctrl + alt + n 或者 ctrl + \

就能很快等位到接口了, 调试和查找问题都会方便很多

Grep Console

高亮log不同级别日志,看日志的时候一目了然。

MyBatis Log Plugin

把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。

Save action + google java format 自动格式化代码

时间宝贵, 就不需要在重复的工作上浪费时间, 每次都要通过 ctrl + alt + o 来移除jar包, 每次都要通过 ctrl + alt + L 来格式化 代码, 太麻烦, 有没有好的解决办法呢, 我想要在我保存的时候就自动帮我格式化代码, 自动帮我去除没有用的jar 包

安装上面的两个插件, 并分别修改设置如下

修改 google java format 设置

修改Save Action 插件设置

点击Ok 

查看效果, 随意输入, 不论格式有多乱, 在最后, 都会帮你还原, 而且去除没有使用的导入

Jsp 文件自动格式化

来源:https://www.zhihu.com/question/300830746/answer/672248406