IDEA技巧汇总:这30个强大的功能,总有一个你能用上!

news2024/11/28 20:44:55

目录

    • 查看代码历史版本
    • 调整idea的虚拟内存:
    • idea设置成eclipse的快捷键
    • 设置提示词忽略大小写
    • 关闭代码检查
    • 设置文档注释模板
    • 显示方法分隔符
    • 设置多行tab
      • tab过多会自动关闭
    • 快速匹配方法的大括号位置
    • 代码结尾补全
    • 模糊搜索方法
    • 预览某个类的代码
    • 查看方法在哪里被调用
    • 代码模板(代码快捷键)
    • 自动导包、自动移除没用的包
    • 手动导包 :alt+enter 手动移除未使用包: crtl+alt+o
    • codota插件:可以优先显示使用频率较高的类、方法
    • 快速查看类、字段的注释
    • 括号颜色区分
    • 微服务项目中 将不同项目添加到同一个启动窗口
    • idea全局设置 (打开新窗口的设置)
    • java mapper层代码文件和mapper.xml文件相互跳转
    • 设置idea背景图片
    • maven tree (查看maven jar包依赖关系)
    • 快捷键切换回上一个点击开的tab
    • idea自带的ssh连接工具
    • 代码调用链路图插件
    • 获取当前线程dump
    • idea同个项目不同端口多开

查看代码历史版本

鼠标在需要查看的java类 右键 找到Local History >> Show History 点开即可看到历史版本,常用于自己忘记代码改了哪些内容 或需要恢复至某个版本 (注意 只能看近期修改 太久了也是看不到的)
在这里插入图片描述

调整idea的虚拟内存:

尽管本质都是去改变 .vmoptions配置文件,但推荐使用Change Memory Settings去调整,选择Edit Custom VM Options 或者在本地磁盘目录更改,通过某些方法破解的idea 很可能造成idea打不开的情况
在这里插入图片描述

idea设置成eclipse的快捷键

这对eclipse转idea的开发人员来说 非常友好,这样不需要记两套快捷键
在这里插入图片描述

设置提示词忽略大小写

把这个勾去掉,(有的idea版本是选择选项 选择none即可),例如String 输入string 、String 都可以提示
在这里插入图片描述

关闭代码检查

与eclipse类似,idea也可以自己关闭代码检查 减少资源使用,但不推荐全部关闭,(是大佬当我没说),把我们项目中不会使用到的关闭就好了
在这里插入图片描述

设置文档注释模板

文档注释快捷键及模板

https://blog.csdn.net/qq_36268103/article/details/108027486

显示方法分隔符

方便查看方法与方法之间的间隔,在代码不规范的项目中 很好用
在这里插入图片描述

设置多行tab

idea默认是选择显示单行的,我们把这个去掉,就可以显示多行tab了,在打开tab过多时的场景非常方便!
在这里插入图片描述

tab过多会自动关闭

settings - editor - General - Editor tabs - tab limit 数值设大就好了

快速匹配方法的大括号位置

ctrl+[ ctrl+] 可以快速跳转到方法大括号的起止位置,配合方法分隔符使用,不怕找不到方法在哪儿分割了

代码结尾补全

例如一行代码补全分号,或者是if(xxx) 补全大括号,按ctrl+shift+enter 无需切换鼠标光标,大幅度提升了编码效率
在这里插入图片描述

模糊搜索方法

例如People类里面的test方法,按ctrl+shift+alt+n 输入Peo.te 就可以查到该方法了,如果觉得这个快捷键难记 也可以按ctrl+shift+r (查找某个文件名的快捷键 下图中的Files),再手动选择Symbols
在这里插入图片描述

预览某个类的代码

例如我们在test类中,有句代码:People p = new People(); 我们想稍微查看一下People这个类,但是tab已经够多了,ctrl+alt+b会打开新的标签,标签多了就混乱了,尤其一堆命名类似的tab,这时候我们可以按ctrl+shift+i 实现预览功能,不占tab
在这里插入图片描述

查看方法在哪里被调用

ctrl+alt+h 可以清楚看到方法在哪些地方被调用;在知道这个快捷键之前,都是ctrl+h(idea默认 ctrl+shift+f)搜索,肉眼找的…
在这里插入图片描述

代码模板(代码快捷键)

例如 : eclipse 中的syso是打印控制台输出 ,但是idea默认是sout , 如果非要改成syso 可以在Postfix Completion里面设置,类似的 fori等都是在里面设置
在这里插入图片描述

自动导包、自动移除没用的包

在这里插入图片描述

手动导包 :alt+enter 手动移除未使用包: crtl+alt+o

codota插件:可以优先显示使用频率较高的类、方法
快速查看类、字段的注释

手动导包 :alt+enter 手动移除未使用包: crtl+alt+o

codota插件:可以优先显示使用频率较高的类、方法

这个根据个人是否要使用 有的时候工具只能作参考,自己记忆才能保证准确
在这里插入图片描述

快速查看类、字段的注释

这是一个很有用的小技巧 按F2可以快速查看某个类或某个字段的文档注释 ;基于这点 其它IDE应该也是可以快速查看文档注释内容 不仅仅是idea特性,这也是为什么阿里编码规范里面会明确声明实体类字段需要用文档注释 而不能使用双斜杠// 注释 ,还记得刚看到这个规范的时候 很不理解 特地去百度 看到有人说就是个习惯问题 很显然不能说服人,直到发现F2可以快速查看之后 恍然大悟!
在这里插入图片描述
在这里插入图片描述

括号颜色区分

Rainbow Brackets 插件 成对的括号用相同的颜色表示出来了
在这里插入图片描述

微服务项目中 将不同项目添加到同一个启动窗口

在这里插入图片描述
步骤:View ——>Tool Windows ——> services ——>add services
在这里插入图片描述

idea全局设置 (打开新窗口的设置)

例如我们打开新窗口时,maven配置会恢复 这时就需要对打开新窗口的设置进行修改 达到一个全局的目的。
在这里插入图片描述
在低版本idea中 也是在File下 例如idea2018是叫other settings

java mapper层代码文件和mapper.xml文件相互跳转

Free MyBatis plugin 插件

点击绿色箭头可以直接跳转 非常方便

设置idea背景图片

BackgroundImage插件

设置喜欢的图片作为背景图
在这里插入图片描述

maven tree (查看maven jar包依赖关系)

如果是使用 mvn dependency:tree 命令 , 结果是下图这样 很不方便查看
在这里插入图片描述
我们可以在idea右上角点击这个ShowDependencies按钮 以图片形式展示出来 图片按住ctrl和鼠标滑轮 可以放大,这个在排除依赖冲突 查看jar包来源时 非常好用
在这里插入图片描述
有的时候 可能莫名其妙看不到这个图标 ,我们可以点一下设置
在这里插入图片描述
把这个勾上,它就能显示了,等显示后,再把这个勾去掉
在这里插入图片描述

快捷键切换回上一个点击开的tab

当我们打开了多个tab的时候 , 想要快速回到上一个点击的tab中 有的时候肉眼很难找

我们可以用快捷键 alt + ← 键 (eclipse版快捷键 idea默认快捷键需要自测) ,有的时候我们在后面tab编辑了内容 按一次可能不够 需要在多按几次 ,相应的 alt + → 切换到下一个点击的tab

常见应用场景:debug发生类跳转时 、利用快捷键在其它类中创建方法时

即使两个tab不相邻 也可以切换回去
在这里插入图片描述

idea自带的ssh连接工具

类似的idea还有自带的数据库连接工具 但是视图界面并不如Navicat 所以很多人都不选择用
  • 第一步:配置账号密码
    在这里插入图片描述
  • 第二步:开启ssh会话
    在这里插入图片描述

代码调用链路图插件

SequenceDiagram 插件

这其实是本文第13点的上位替代方案,idea自带的快捷键查看代码调用,只是已菜单形式展示,不太直观,如果是自己写的代码或比较规范的代码,那用自带的也就无所谓,如果是比较复杂的源码或不规范的代码,那使用 SequenceDiagram 会直观特别多。
在这里插入图片描述
在要查看的java文件鼠标右键,点击 Sequence Diagram
在这里插入图片描述
效果示例:
在这里插入图片描述

获取当前线程dump

在断点调试的时候,我们可以通过点击下图红色箭头指向的相机图标,获取当前线程的dump信息。

这个功能有什么用呢?我们可以通过线程名,分析当前是哪个线程执行的,在多线程环境下对代码运行分析起到辅助作用。

比如下图1, run()方法是通过main主线程执行的,只是方法调用,并没有启动多线程(这是我们熟知结论的实践证明)
在这里插入图片描述
当我们把run方法改成start()方法时,可以看到是线程thread0执行的。
在这里插入图片描述

idea同个项目不同端口多开

这是个非常实用的功能,可以模拟集群 测试负载均衡。

此外 在开发阶段也是非常好用,开发过程中,让别人直接连自己本地测试 是不是非常方便?

那自己又想打断点调试 会影响别人 怎么办呢 ?这个时候多开的作用就体现出来了!

网上很多方法提到勾选 Allow parallel run (不同版本idea 名称不一样) ,我也亲眼见过有老师是可以多开启动的, 但我本地启动发现每次都会同时同端口启动多个,不知道是版本问题还是操作问题,这里我用的是另一种有效的方法:

在 VM options 加上

# 8993是区别于 application.yml 配置中 port 的另一个端口  , 达到不同端口多开的效果
-Dserver.port=8993

来源:https://blog.csdn.net/qq_36268103/article/details/109216520

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个简单的网页制作期末作业,学生个人html静态网页制作成品代码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

12月13日:跟着猫叔写代码,fastadmin中Api相关只是

Api权限管理 api常用返回信息实例 api获取所有方法,都在common目录下cotroller文件夹中Api.php中 /*** 需要登录的接口**/public function test2(){//$this->success(返回成功, [action > test2]);//判断当前用户是否登录//$this->success(返回成功, $t…

1. Python_Django项目之大型电商项目介绍

1.开发项目目的 联系已掌握的知识点发现新的知识点掌握开发技巧掌握项目结构增加项目经验 2.所用技术 语言:Python3(Django4)数据库:MySQLweb服务器:Nginxuwsgi开发环境:VScode、linux 3.功能介绍 商品…

动态规划——背包问题(3)

文章目录求解最佳方案数例题思路代码混合背包问题例题思路代码有依赖的背包问题例题思路代码考察思维的一些背包题目机器分配金明的预算方案货币系统能量石总结求解最佳方案数 例题 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#…

springboot前后端交互(小白教学)

在上次前后端交互,我们使用的是最基本的HTMLServlet的组合,比较基础,今天我们来讲一讲HtmlSpringboot框架,前后端交互实现更为简便,大大降低了我们开发人员在代码上面所花费的时间,那今天让我们一探究竟吧。…

1998-2014年工企污染数据库

1998-2014年工企污染匹配数据库 1、时间区间为:1998-2014年 2、部分指标: 工业总产值(现价)(万元)、工业用水总量(吨)、煤炭消费总量(吨)、其中:新鲜水量(吨&#xff…

是谁实现了 Pod 的多副本管理?

目录一、前言二、案例分析三、案例总结一、前言 在 K8s 中 Pod 是由 Controller 来管理的,Controller 定义了 Pod 的部署 spec,如 Pod 的副本数、运行的 Node 等。不同的业务场景 Controller 是不同的。K8s 提供了多种 Controller,如常见的 …

POCV/SOCV 、LVF

1.POCV与OCV、AOCV 为了模拟片上PVT的差异带来的影响,最早提出了OCV(On Chip Variation)给每个cell都设置一个固定的derate值,来覆盖最悲观的情况,但是随着工艺发展,设计规模增大,OCV过度的悲观…

Docker之Nacos的持久化和集群部署

目录 一、外网单节点部署 1.docker mysql:5.7的持久化存储及远程连接 1.下拉镜像 2.在宿主机中相关目录,用于挂载容器的相关数据 3.创建mysql5.7容器 4.修改mysql允许Navicat远程连接 5.创建数据库nacos_config,并进行初始化 ​编辑 2. nacos-d…

DNS解析过程以及基本原理

目录 1.什么是 DNS 2.分布式、层次数据库 A.什么是分布式? B.什么是层次? D.什么是根 DNS 服务器 E.顶级域 DNS 服务器 F.权威 DNS 服务器 3.本地 DNS 服务器 4.递归查询、迭代查询 A.图解DNS解析过程 B.解析过程当中的递归解析和迭代解析 5…

STM8开发实例-IAR开发环境搭建

IAR开发环境搭建 IAR Embedded Workbench for STM8 是一个集成开发环境,具有高度优化的 C/C++ 编译器和全面的 C-SPY 调试器。 它为 STM8A、STM8L、STM8S、STM8T、STNRG 和 STLUX 系列中的器件提供全面支持。 1、IAR下载并安装 IAR Embedded Workbench For STM8官方下载地址…

3U 轨道交通车载工业级M12 PoE交换机,防护等级IP66

支持软硬件定制服务的轨道交通工业交换机 支持双电源冗余 支持Bypass 专门为轨道交通应用设计和制造的以太网数据通信设备 根据IEC61375-2-5和IEC61375-2-3协议实现的列车级骨干以太网核心设备 支持中国铁路 产品认证 XM-5145工业交换机是专为轨道交通、船载、车载等恶劣环…

非零基础自学Golang 第2章 安装和运行Go 2.1 GOROOT和GOPATH 2.2 在Windows 下安装Go

非零基础自学Golang 文章目录非零基础自学Golang第2章 安装和运行Go2.1 GOROOT和GOPATH2.2 在Windows 下安装Go第2章 安装和运行Go Go的安装主要分为两种方式:安装包安装和源代码安装: 安装包安装:即已编译好的可直接运行的程序&#xff0c…

145.如何评价个性化推荐系统的效果-2

145.1 E值 E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式: b越大,表示查准率的权重越大。 145.2 平均正确率(Average Precision) 平均正确率表示不同查全率的点…

【Effective Objective - C】—— 读书笔记(三)

【Effective Objective - C】—— 读书笔记(三) 文章目录【Effective Objective - C】—— 读书笔记(三)15.用前缀避免命名空间冲突要点:16.提供“全能初始化方法”要点17.实现description方法debugDescription&#x…

2023年Python、Golang、Java、C++如何选择?

前言 我们都有知道,开发后台语言可选择的方向会很多,比如,Java,go,Python,C/C,PHP,NodeJs…等很多,那么他们都有什么的样的优势?如果学习一门后端语言,又该如何选择呢? …

DolphinScheduler 快速构建 Hugging Face 文本分类工作流,基于工作流的机器学习训练部署太强了!...

点亮 ⭐️ Star 照亮开源之路https://github.com/apache/dolphinscheduler01.摘要Hugging Face transformers 是一个用于构建、训练和部署最先进的NLP 模型的开源项目。本文介绍如何基于DolphinScheduler和Hugging Face transformers来构建可复用的高效文本分类的工作流&#…

第36篇 网络(六)UDP

导语 这一节讲述UDP编程的知识。UDP(UserDatagram Protocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。对于UDP我们不再进行过多介绍,如果你对UDP不是很了解,而且不知道它有什么用…

web网页设计期末课程大作业——电影介绍5页HTML+CSS制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

深入理解计算机系统——第十一章 Network Programming

深入理解计算机系统——第十一章 Network Programming11.1 The Client-Server Programming Model11.2 Networks11.3 The Global IP Internet11.3.1 IP Addresses11.3.2 Internet Domain Names11.3.3 Internet Connections11.4 The Sockets Interface11.4.1 Socket Address Stru…