IDEA使用教程 安装教程

news2024/9/21 14:35:55

16. Codota 插件

Codota 插件可以根据使用频率优先显示较常用的类和方法。然而,是否使用该插件取决于个人的偏好。有时工具只能作为参考,仍然需要依靠个人记忆来确保准确性。

17. 快速查看类和字段的注释

按下 F2 键可以快速查看某个类或字段的文档注释。这是一个非常有用的小技巧。不仅在 IntelliJ IDEA 中可以实现这个功能,其他 IDE 通常也可以快速查看文档注释内容。这也是为什么阿里编码规范中明确要求实体类字段要使用文档注释而不是双斜杠 // 注释的原因。我记得刚开始看到这个规范时也很困惑,特意去百度搜索,有人说这只是个习惯问题,显然这并不令人信服。直到发现可以通过按下 F2 快速查看文档注释后,我恍然大悟!

18. 括号颜色区分

使用 "Rainbow Brackets" 插件可以使成对的括号使用不同的颜色进行区分。

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

按照以下步骤可以将不同的微服务项目添加到同一个启动窗口:

  1. 打开 "View" 菜单。

  2. 选择 "Tool Windows"。

  3. 选择 "Services"。

  4. 点击 "Add Services"。

20. IntelliJ IDEA 全局设置(打开新窗口的设置)

例如,当我们打开新窗口时,Maven 配置会恢复,这时需要修改打开新窗口的设置以达到全局的效果。在较低版本的 IntelliJ IDEA 中,全局设置可以在 "File" 菜单下找到,例如在 IntelliJ IDEA 2018 中,可以在 "Other Settings" 中进行设置。

21. Java Mapper 层代码文件和 Mapper.xml 文件相互跳转

使用 "Free MyBatis" 插件可以实现 Mapper 层代码文件和 Mapper.xml 文件之间的相互跳转。只需点击绿色箭头,即可快速跳转,非常方便。

22. 设置 IntelliJ IDEA 背景图片

使用 "BackgroundImage" 插件可以设置喜欢的图片作为 IntelliJ IDEA 的背景图,让编辑环境更加个性化。

23. Maven Tree(查看 Maven Jar 包依赖关系、解决依赖冲突)

当使用 mvn dependency:tree 命令查看 Maven Jar 包依赖关系时,结果通常以文本形式展示,不太方便查看。为了更好地解决依赖冲突,我们可以将输出结果复制到文本编辑器中手动搜索依赖链路。

另外,我们还可以在 IntelliJ IDEA 的右上角点击 "Show Dependencies" 按钮,以图片形式展示依赖关系。在图片中,按住 Ctrl 键并滚动鼠标滚轮可以进行放大。这对于排除依赖冲突(冲突时会标红)和查看 Jar 包来源非常有用。

如果您在 IntelliJ IDEA 中看不到 "Show Dependencies" 按钮,请点击设置菜单,并勾选相应选项以显示该按钮。

24. 快捷键切换回上一个点击开的 Tab

当我们打开了多个 Tab 时,想要快速回到上一个点击开的 Tab 可能很困难。为了解决这个问题,可以使用快捷键 Alt + ←(对应 Eclipse 快捷键,对于 IntelliJ IDEA 默认的快捷键需要自测)。如果在后面的 Tab 编辑了内容,可能需要多按几次。同样,Alt + → 可以切换到下一个点击开的 Tab。这个快捷键的常见应用场景包括在 Debug 时发生类跳转,以及在其他类中使用快捷键创建方法。

即使两个 Tab 不相邻,也可以使用该快捷键切换回去。

25. IntelliJ IDEA 自带的 SSH 连接工具

IntelliJ IDEA 自带了一个 SSH 连接工具,可以方便地进行 SSH 连接操作。类似的,IntelliJ IDEA 还有自带的数据库连接工具,但是视图界面不如 Navicat 等专业工具,所以很多人选择使用专业工具。

使用 IntelliJ IDEA 自带的 SSH 连接工具的步骤如下:

  1. 配置账号和密码。

  2. 开启 SSH 会话。

26. 代码调用链路图插件

使用 "SequenceDiagram" 插件可以生成代码的调用链路图。这是对第13点的上位替代方案。IntelliJ IDEA 自带的快捷键可以查看代码调用,但以菜单形式展示,不够直观。如果是自己写的代码或者是规范的代码,使用自带的功能就足够了。但如果是复杂的源码或者不规范的代码,使用 "SequenceDiagram" 插件会更加直观。

在要查看的 Java 文件上右键点击,选择 "Sequence Diagram",即可生成相应的调用链路图。

效果示例:

[示例图片]

27. 获取当前线程的 Dump

在断点调试的时候,可以通过点击调试工具栏中的相机图标来获取当前线程的 Dump 信息。这个功能可以通过线程名来分析当前是哪个线程在执行,对于多线程环境下的代码运行分析很有帮助。

例如,当使用 run() 方法执行时,可以看到是通过 main 主线程执行的。这只是方法调用,并没有启动新的线程。当我们将 run() 方法改成 start() 方法时,可以看到是 thread0 线程执行的。

28. IntelliJ IDEA 同一项目不同端口多开

这是一个非常实用的功能,可以用于模拟集群测试负载均衡。在开发阶段,如果需要让别人直接连接自己的本地进行测试,也非常方便。如果想要在调试时打断点,又不影响其他人,那么多开的功能就发挥作用了。

有一种方法是勾选 "Allow parallel run"(不同版本的 IntelliJ IDEA 名称可能不一样),但在某些情况下,会同时在相同的端口上启动多个实例,可能是版本或操作问题。这里介绍另一种有效的方法:在 VM options 中添加 -Dserver.port=8993,其中 8993 是与 application.yml 配置中的 port 不同的另一个端口,以实现不同端口的多开效果。

29. 给代码添加书签

可以给代码添加书签,以便快速定位和访问特定的代码块。右键点击代码区域,选择 "Add Bookmark" 即可完成书签添加。

可以在左下角的 "Favorites" 中找到 "Bookmarks",右键点击书签可以进行重命名。

看到这里,大家应该明白书签的一个使用场景就是源码阅读。

30. 单词翻译插件

使用 "Translation" 插件可以进行单词翻译。在插件市场中搜索 "translation" 并下载安目前默认的是谷歌引擎(不知道后续作者会不会改) ,但是谷歌翻译已经在大陆停用了 所以我们要手动设置一下, 设置路径为Tools - Translation - 翻译引擎

使用方法: 选中我们需要翻译的单词,鼠标右键 选中Translate

效果如图:

31. 查看字节码

当需要深入分析问题并查看字节码层面时,这通常意味着面对一些 Java 中的复杂问题。例如,在之前提到的博客中,涉及到将函数(function)转换为 String 格式的问题,只有通过查看字节码才能理解其原理,源代码是无法直接得知的。

在 IntelliJ IDEA 中,我们可以通过以下步骤来查看字节码:选择一个 Java 类,然后依次点击 "View" --> "Show Bytecode"(适用于 IntelliJ IDEA 2021.1 及更高版本)。请注意,对于较旧的 IntelliJ IDEA 版本,可能没有此功能。但是,无论如何,我会尽力帮助您。

32. Maven Helper 插件解决依赖冲突

在第23点中,提到了使用 "mvn dependency:tree" 命令来分析 Maven 依赖冲突。然而,后来发现 Maven Helper 插件也能很好地解决这个问题,而且它似乎更加方便易用(虽然我个人更倾向于使用 "mvn dependency:tree")。

首先,我们需要安装 Maven Helper 插件。然后,打开项目的 pom.xml 文件,在底部会出现一个名为 "Dependency Analyzer" 的选项。点击它。

在点击后,我们会看到列出了存在冲突的依赖包。

让我们以 commons-logging 依赖为例进行分析。点击 commons-logging,在右侧会列出引入了 commons-logging 的这些依赖项。

现在,我们只需右键单击右侧依赖项位置,即可查看冲突的版本信息。

IDEA安装教程

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

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

相关文章

编译运行Secure Value Recovery Service v2

下载项目 git clone https://github.com/signalapp/SecureValueRecovery2.git编译 make dockersh报错 修改Dockerfile ARG PROTOC_GEN_GO_GITREV6875c3d7242d1a3db910ce8a504f124cb840c23a RUN go env -w GOPROXYhttps://goproxy.cn,direct RUN go install google.golang.org/p…

阿里云轻量应用服务器和云服务器的区别

阿里云服务器ECS和轻量应用服务器有什么区别?云服务器ECS是明星级云服务器,轻量应用服务器可以理解为简化版的云服务器ECS,轻量适用于单机应用,云服务器ECS适用于集群类高可用高容灾应用,阿里云百科来详细说下阿里云轻…

MachineLearningWu_10_NeuralNetwork

x.1 课程目录 为了开始我们的学习,我们会先列出我们的课程目录,诸如以下, x.2 NN的发展 NN一开始是为了模仿人类大脑,但随着时间的演进,逐渐被使用在各种应用之中, 深度学习DL为何最近几年突飞猛进呢&…

IDEA使用插件绘制UML类图+PlantUML语法讲解

安装 IDEA安装插件 安装完插件记得重启一下IDEA 安装Graphviz(亲测win11可以使用) 安装完插件之后,还需要安装Graphviz才可以渲染图形。 Graphviz安装包下载地址 安装过程很简单,直接双击或者管理员身份运行即可,注…

高性能内存对象缓存 Memcached

高性能内存对象缓存 Memcached Memcached 概述 一套开源的高性能分布式内存对象缓存系统 所有的数据都存储在内存中 支持任意存储类型的数据 提高网站的访问速度 Memcached 是典型的 C/S 架构,因此需要安装 Memcached 服务端与 Memcached API 客户端。 数据存…

实验三(OSPF)7 8

解题思路: 先配置好路由的环回及规划好IP地址,确保正确; (由于r8模拟为运营商,因此r1,r2,r3各写一条缺省指向r8 并测试) hub-spoke网络结构,需要在r1-r2-r3建立隧道0配置MGRE-多点通用路由协…

FreeRTOS ~(七)互斥量 ~ (3/3)互斥量的缺陷和递归锁

前情提要 FreeRTOS ~(四)同步互斥与通信 ~ (2/3)互斥的缺陷 FreeRTOS ~(五)队列的常规使用 ~ (2/5)队列解决互斥缺陷 FreeRTOS ~(六)信号量 ~ (2/…

超详细 | 遗传-粒子群自适应优化算法及其实现(Matlab)

作者在前面的文章中介绍了两种经典的优化算法——遗传算法(GA)和粒子群算法(PSO),这些智能优化算法解决问题的方式和角度各不相同,都有各自的适用域和局限性,对智能优化算法自身做的改进在算法性能方面得到了一定程度的提升,但算法…

前端如何实现面向对象

交流所记: 面向对象的三要素: 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类或者对象隐藏信息继承:它可以使用现有类的所有功能,并在无…

链上衍生品协议 ProsperEx:探索 RWA 叙事,打造 DeFi 变异黑马

“ProsperEx 本身背靠着具备潜力的链上衍生品赛道,同时也是 RWA 领域早期的布局者之一,其有望成为 Web2 世界与 Web3 世界的早期连接点,并具备广泛且规模性捕获用户的能力。” 从2020年DeFi之夏链上世界迎来了爆发后,链上衍生品赛…

SQL21 浙江大学用户题目回答情况

解法一:left JOIN select t1.device_id,question_id,result from question_practice_detail t1 left JOIN user_profile t2 on t1.device_id t2.device_id where university 浙江大学解法二:子查询 select device_id, question_id, result from question_practice_detail …

Android 性能优化系列:启动优化进阶

文章目录 启动速度优化的本质因素CPU 层面进行速度优化减少程序的指令数降低时钟周期时间降低每条指令的平均时间周期 缓存层面进行速度优化缓存的读写速度缓存的命中率 任务调度层面进行速度优化通过实时进程和普通进程了解任务调度机制原理进程生命周期 CPU 优化合理使用线程…

day67_mybatisplus

今日内容 零、 复习昨日 零、 复习昨日 一、MybatisPlus快速入门 [MyBatis-Plus](简介 | MyBatis-Plus (baomidou.com))(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 官方…

InnoDB: Waiting for page_cleaner to finish flushing of buffer pool 解决方案

这个是因为linux系统时间,Mysql数据库时间,Mysql日志时间出现不一致导致的。 1、date -R 查询linux系统时间 中国标准时区东八区时区 2、mysql数据库的时间 3、在mysql的配置文件里面,定义好时间,时区一致。 问题解决。

前端Vue自定义商品评价页面单选多选标签tags组件单选多选按钮选择器picker组件

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

群晖折腾记5—docker安装emby开启核显

硬解的前提条件 Emby为正版 带核显的白裙或者已经被正确驱动的黑裙 开心版本不在讨论范围之内 需要的目录有/config /mnt/share1 /mnt/share2,自己创建对应的目录即可 打开ssh sudo -i输入下面命令首先判断群晖是否有核显驱动,白裙使用有带核显cpu的可…

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题

由于一段时间没有使用Selenium,当再次使用时发现之前写的Selenium元素定位的代码运行之后会报错,发现是Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变,当然如果没有更新过或是下载…

VS2022 Fortran调用lapack 64位库

首先,可以在官网下载以下lib 下载64位的,然后就是添加文件所在的文件夹,以及添加lib,就可以直接使用lapack中的函数,但是现在Oneapi中集成了lapack库,所以可以直接调用,如下所示。 1. 首先&…

MongoDB 事务与数据落盘

文章目录 概要一、持久性1.1、journal log刷盘机制1.2、数据刷盘机制1.3、复制集下的写安全机制 二、隔离性总结 概要 MongoDB并不像MySQL一样天然支持多文档事务,其演变过程如下: MongoDB4.0之前只支持单文档事务,在单个文档上支持ACID原子…