一文告诉你,Intellij IDEA神器隐藏的11种实用小技巧!

news2025/1/8 12:42:02

el/2022/10/4 6:58:50

点击上方“程序员大咖”,选择“置顶公众号”

关键时刻,第一时间送达!640?640?wx_fmt=gif

640

Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。

本文主要介绍一些你可能不知道的但是又实用的小技巧。

1、我最爱的【演出模式】

我们可以使用【Presentation Mode】,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的coding。

可以使用Alt+V快捷键,弹出View视图,然后选择Enter Presentation Mode。效果如下: 

640

这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用CTRL+E弹出最近使用的文件。又或者使用CTRL+N和CTRL+SHIFT+N定位文件。

如何退出这个模式呢?

很简单,使用ALT+V弹出view视图,然后选择Exit Presentation Mode 即可。但是我强烈建议你不要这么做,因为你是可以在Enter Presentation Mode模式下在IDEA里面做任何事情的。当然前提是,你对IDEA足够熟练。

2、神奇的Inject language

如果你使用IDEA在编写JSON字符串的时候,然后要一个一个去转义双引号的话,就实在太不应该了,又烦又容易出错。在IDEA可以使用Inject language帮我们自动转义双引号。 

640

先将焦点定位到双引号里面,使用alt+enter快捷键弹出inject language视图,并选中 Inject language or reference。 

640

选择后,切记,要直接按下enter回车键,才能弹出inject language列表。在列表中选择 json组件。 

640

选择完后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用alt+enter就可以看到 

640

选中Edit JSON Fragment并回车,就可以看到编辑JSON文件的视图了。

 640

可以看到IDEA确实帮我们自动转义双引号了。如果要退出编辑JSON信息的视图,只需要使用ctrl+F4快捷键即可。

Inject language可以支持的语言和操作多到你难以想象,读者可以自行研究。

3、使用快捷键移动分割线

假设有下面的场景,某个类的名字在project视图里被挡住了某一部分。 

640

你想完整的看到类的名字,该怎么做。一般都是使用鼠标来移动分割线,但是这样子效率太低了。可以使用alt+1把鼠标焦点定位到project视图里,然后直接使用ctrl+shift+左右箭头来移动分割线。

4、ctrl+shift+enter不只是用来行尾加分号的

ctrl+shift+enter其实是表示为您收尾的意思,不只是用来给代码加分号的。比如说:

 640

这段代码,我们还需要为if语句加上大括号才能编译通过,这个时候你直接输入ctrl+shift+enter,IDEA会自动帮你收尾,加上大括号的。

5、不要动不动就使用IDEA的重构功能

IDEA的重构功能非常强大,但是也有时候,在单个类里面,如果只是想批量修改某个文本,大可不必使用到重构的功能。比如说: 

640

上面的代码中,有5个地方用到了rabbitTemplate文本,如何批量修改呢? 首先是使用ctrl+w选中rabbitTemplate这个文本,然后依次使用5次alt+j快捷键,逐个选中,这样五个文本就都被选中并且高亮起来了,这个时候就可以直接批量修改了。 

640

6、去掉导航栏

去掉导航栏,因为平时用的不多。 

640

可以把红色的导航栏去掉,让IDEA显得更加干净整洁一些。使用alt+v,然后去掉Navigation bar即可。去掉这个导航栏后,如果你偶尔还是要用的,直接用alt+home就可以临时把导航栏显示出来。 

640

如果想让这个临时的导航栏消失的话,直接使用esc快捷键即可。

7、把鼠标定位到project视图里

当工程里的包和类非常多的时候,有时候我们想知道当前类在project视图里是处在哪个位置。 

640

上面图中的DemoIDEA里,你如何知道它是在spring-cloud-config工程里的哪个位置呢? 可以先使用alt+F1,弹出Select in视图,然后选择Project View中的Project,回车,就可以立刻定位到类的位置了。

640

那如何从project跳回代码里呢?可以直接使用esc退出project视图,或者直接使用F4,跳到代码里。

8、强大的symbol

如果你依稀记得某个方法名字几个字母,想在IDEA里面找出来,可以怎么做呢? 直接使用ctrl+shift+alt+n,使用symbol来查找即可。 比如说: 

640

你想找到checkUser方法。直接输入user即可。 

640

如果你记得某个业务类里面有某个方法,那也可以使用首字母找到类,然后加个.,再输入方法名字也是可以的。 

640

9、如何找目录

使用ctrl+shift+n后,使用/,然后输入目录名字即可。

640

10、自动生成not null判断语句

自动生成not null这种if判断,在IDEA里有很多种办法,其中一种办法你可能没想到。

 640

当我们使用rabbitTemplate. 后,直接输入notnull并回车,IDEA就好自动生成if判断了。

 640

11、按照模板找内容

这个也是我非常喜欢的一个功能,可以根据模板来找到与模板匹配的代码块。比如说:

想在整个工程里面找到所有的try catch语句,但是catch语句里面没有做异常处理的。

catch语句里没有处理异常,是极其危险的。我们可以IDEA里面方便找到所有这样的代码。 

640

首先使用ctrl+shift+A快捷键弹出action框,然后输入Search Struct。

640

选择Search Structurally后,回车,跳转到模板视图。 

640

点击Existing Templates按钮,选择try模板。为了能找出catch里面没有处理异常的代码块,我们需要配置一下CatchStatement的Maximum count的值,将其设置为1。

点击Edit Variables按钮,在界面修改Maximum count的值。 

640

最后点击find按钮,就可以找出catch里面没有处理异常的代码了。 

640

640.jpeg

  • 作者:Sam哥哥聊技术

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

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

相关文章

【uniapp】uniapp打包H5(网页端):

文章目录 一、设置appid:二、设置router:三、打包:【1】[CLI 发行uni-app到H5:https://hx.dcloud.net.cn/cli/publish-h5](https://hx.dcloud.net.cn/cli/publish-h5)【2】HBuilderX 四、最终效果: 一、设置appid&…

W5100S-EVB-PICO 做TCP Server进行回环测试(六)

前言 上一章我们用W5100S-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试,那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么?什么是TCP Server?能干什么? TCP (Transmission Control Protocol) 是一种面向连…

芯片常见测试手段:CP测试和FT测试

参考链接: 芯片测试的术语解释(FT、CP),持续更新...._ft测试_染不尽的流年的博客-CSDN博客 如何区分芯片cp测试和ft测试 (baidu.com) 芯片常见测试手段:CP测试和FT测试 - 测量仪表 - 电子发烧友网 芯片测试是极其重要…

2023年加湿器市场数据分析(天猫数据分析怎么做)

随着人们生活水平提高、空调广泛使用,导致皮肤紧绷、口舌干燥、咳嗽感冒等空调病的滋生。可以看出,空气湿度与人体健康以及日常生活有着密切的联系。而加湿器作为室内空气湿度控制的重要工具,在近年来受到了越来越多的重视。根据鲸参谋电商数…

pytest 常用命令参数

-x 用例一旦失败或错误时就立即停止执行 共两条用例,运行第一条报错失败或报错,第二条就不会执行 pytest -vs -x test_pytest_study.py::TestCommon1 共2条用例,当执行到第一条失败时候,第二条不执行 --maxfailnum …

快速入门:【c# 之 Winform开发】

C#基础 面向对象(OOP) c语言是面向过程。 c是面向过程面向对象。 c#是纯粹的面向对象: 核心思想是以人的思维习惯来分析和解决问题。万物皆对象。 面向对象开发步骤: 分析对象 特征行为关系(对象关系/类关系) 写代码: 特征–>成员变量 方法–>成员方法 实例化–具体对…

26.配电网规划——考虑潮流约束的配电网规划

MATLAB代码直达:26.多时段-考虑潮流约束的配电网规划 clc;clear;close all; %% 导入数据 load(data.mat); MGpowerxlsread(MG1-3.xlsx); % 微电网的日负荷曲线 nt3 ; % 变压所个数 Sn25; % 变电所容量 MVA G…

第二、三章 线性表、栈、队列和数组

一、数据结构定义 线性表 顺序存储(顺序表就是将线性表中的元素按照某种逻辑顺序,依次存储到从指定位置开始的一块连续的存储空间,重点是连续的存储空间。与数组非常接近) 静态分配(数组的大小和空间固定&#xff0c…

【IDEA问题】下载不了源代码

引出问题 最近不知道怎么打开 IDEA,本想查看源代码,然后点击下载源码,总是报找不到此对象的源代码。百度找了半天,GPT问了半天还是解决不了,直到遇到了这篇:idea中无法下载源码问题解决,终于得…

wms仓储管理系统是什么,wms仓储管理系统有什么用

阅读本文,您可以了解:1、wms仓储管理系统是什么;2、wms仓储管理系统有什么用 一、wms仓储管理系统是什么 WMS是Warehouse Management System(仓储管理系统)的缩写。它是一种用于优化和管理仓库操作的软件系统。WMS帮…

液压机行业分析报告:市场规模调查及行业发展趋势

液压机是一种以液体为工作介质,根据帕斯卡原理制成的用于传递能量以实现各种工艺的机器。液压机一般由本机(主机)、动力系统及液压控制系统三部分组成。 液压机应用领域 【汽车】液压机被汽车和卡车零件制造商用于原始设备和售后市场产品。…

小白到运维工程师自学之路 第七十二集 (半自动yum安装k8s集群)

一、准备环境 修改主机名 hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2 bashvim /etc/hosts 192.168.77.14 k8s-master 192.168.77.15 k8s-node1 192.168.77.16 k8s-node2 下载阿里源 wget -O /etc/yum…

Typora缩小行间距

Typora确实是个好工具,但行间距太宽,写东西写起来太难受,作为已经深度使用两天的大神(小白)终于找到了正确的打开方式,以下: Ⅰ.ShiftEnter # 不太推荐,不符合日常习惯,效果约等于单回车 Ⅱ.直…

QProgressDialog进度条类

QProgressDialog 常用API简单的使用 QProgressDialog类是QDialog的子类, 通过这个类我们可以得到一个带进度条的对话框窗口 常用API // 构造函数 /* 参数:- labelText: 对话框中显示的提示信息- cancelButtonText: 取消按钮上显示的文本信息- minimum: 进度条最小值- maximum…

Mysql整理

一、基础概念 1. 索引 之前的文章已经写过了,比较细 数据库索引含义,类别,用法,创建方式_表结构加树形id和索引是为什么_马丁•路德•王的博客-CSDN博客 简单概括就是在表的某个列或者多个列或者联合表的时候加个索引,类似图书馆书本的索引编号&…

lwip使用收发线程和不使用收发线程差异

使用收发线程的方式相对于不使用收发线程的方式,效率可能会稍低一些,这取决于具体的应用场景和实现方式。 lwIP(轻量级IP协议栈)是一个针对嵌入式系统的开源TCP/IP协议栈。它可以在单个线程中运行,也可以在多个线程中…

强大的AI语言模型

1.kameAI 点我 1️⃣可以绘图 2️⃣对接4.0 3️⃣具有长篇写作

UG NX二次开发(C#)-CAM自定义铣加工的出口环境

文章目录 1、前言2、自定义铣削加工操作3、出错原因4、解决方案4.1 MILL_USER的用户参数4.2 采用自定义铣削的方式生成自定义的dll4.2 配置加工的出口环境4.3 调用dll5、结论1、前言 作为一款大型的CAD/CAM软件, UG NX为我们提供了丰富的加工模板,通过加工模板能直接用于生成…

欧拉降幂问题

题目连接 D-幂运算_2023河南萌新联赛第(四)场:河南大学 (nowcoder.com) djz的数学题 (nowcoder.com) 欧拉降幂 当 b 过大时,快速幂的时间复杂度超过题目要求时,考虑欧拉降幂。 (c)是 欧拉函数…

C 语言的文件,流, 键盘输入, 重定向

文章目录 The End of File重定向 redirection输入重定向输出重定向组合重定向 A file is an area of memory in which information is stored. Normally, a file is kept in some sort of permanent memory, such as a hard disk, USB flash drive, or optical disc, such as a…