提高开发效率,从这些小技巧开始——5个让你爱上IDEA的增加体验小技巧
前言
如果你是一名Java开发人员,那么你一定会使用IntelliJ IDEA这个IDE。IntelliJ IDEA作为目前最受欢迎的Java IDE之一,已经成为了众多Java开发人员必备的工具之一。但是,你是否知道如何利用IDEA中的一些小技巧来提高你的开发效率和体验呢?在本文中,我们将介绍一些让你爱上IntelliJ IDEA的增加体验小技巧,希望对你的开发工作有所帮助。
1. 使用快捷键
IntelliJ IDEA中拥有大量的快捷键,这些快捷键可以帮助我们快速地完成各种操作。比如,你可以使用Ctrl+Shift+N来快速打开任何文件,使用Ctrl+W来逐级选中代码块,使用Ctrl+Alt+L来格式化代码等等。当然,如果你的手指不够灵活,也可以在设置中自定义快捷键。
更多常用快捷键见文末附录一
2. 使用插件
IntelliJ IDEA的插件非常丰富,可以满足不同的需求。比如,你可以使用Lombok插件来省略一些冗余代码,使用SonarLint插件来找到潜在的代码问题等等。在插件市场中,你可以根据自己的需求找到合适的插件来提高开发效率。
更多常用快捷键见文末附录二
3. 使用自动补全
IntelliJ IDEA的自动补全功能非常强大,可以自动提示代码,甚至可以根据我们的输入进行智能推断。比如,你可以通过Ctrl+Space来手动触发自动补全,或者在设置中调整自动补全的行为。这样可以大大提高开发效率,并防止一些低级错误。
4. 使用调试工具
IntelliJ IDEA的调试工具非常强大,可以帮助我们快速定位代码问题。比如,你可以设置断点、单步执行、查看变量等等。利用调试工具可以极大地提高开发效率和代码质量,避免不必要的bug。
5. 使用模板
IntelliJ IDEA提供了许多模板,可以帮助我们快速生成一些常见的代码片段。比如,你可以通过Ctrl+Alt+T来快速生成try-catch代码块,或者通过Ctrl+J来生成一些常见的Java代码。如果你在代码片段上花费了很多时间,那么使用模板来减少代码量是明智的选择。
除了以上技巧,还有一些高级的用法可以大大提高你的开发效率。IntelliJ IDEA不仅是一个IDE,它还有许多强大的工具可以帮助我们更好地完成Java开发工作。希望这些小技巧能够帮助你在开发中更加得心应手。
附录一:快捷键
以下是IntelliJ IDEA最常用的20个快捷键:
- Ctrl + Shift + N:快速打开任何文件。
- Ctrl + W:逐级选中代码块。
- Ctrl + D:复制当前行或选定内容。
- Ctrl + Y:删除当前行或选定内容。
- Ctrl + X:剪切当前行或选定内容。
- Ctrl + Alt + T:弹出surround菜单。
- Ctrl + Space:手动触发自动补全。
- Ctrl + P:显示方法的参数信息。
- Ctrl + F:在当前文件中查找文本。
- Ctrl + Shift + F:在整个项目中查找文本。
- Ctrl + Shift + A:查找动作。
- Ctrl + Alt + V:将表达式赋值给变量。
- Ctrl + Alt + L:格式化代码。
- Ctrl + Alt + O:优化导入。
- Ctrl + Alt + I:自动缩进。
- Ctrl + Alt + T:生成try-catch代码块。
- Ctrl + J:生成一些常见的Java代码。
- Ctrl + E:最近打开的文件列表。
- Ctrl + N:快速打开任何类。
- Ctrl + B:跳转到声明处或者实现处。
以上快捷键可以大大提高开发效率。更多快捷键可以在IntelliJ IDEA的设置中进行查看和自定义。[官方文档]
附录二:插件
正在为您搜索:idea、插件、常用、前10
以下是IntelliJ IDEA最常用的10个插件:
-
Lombok Plugin:自动生成Java类中的getter、setter方法、构造方法等,可以极大地减少代码量。
[1] -
SonarLint:帮助发现并解决代码中的潜在问题,提高代码质量。
[2] -
Git Integration:集成Git版本控制功能,方便代码管理和协作开发。
[3] -
Markdown Navigator:支持Markdown文件的查看和编辑,提高文档编写效率。
[4] -
String Manipulation:提供了丰富的字符串操作功能,包括大小写转换、特殊字符转义等。
[5] -
Rainbow Brackets:让各种括号以不同颜色显示,方便区分嵌套层次。
[6] -
BashSupport:提供对Shell脚本的支持,包括语法高亮、代码提示、调试等。
[7] -
CodeGlance:在编辑器右侧显示代码的缩略图,方便快速导航和查看代码结构。
[8] -
Key Promoter X:在你使用鼠标完成操作时提示相关快捷键,帮助学习并形成良好的快捷键习惯。
[9] -
Ideolog:为IDE日志添加彩色高亮、过滤和搜索等功能,方便快速定位和排查问题。
[10]
以上插件可以极大地提高开发效率,并且都可以在IntelliJ IDEA的插件市场中免费下载和使用。更多插件可以根据自己的需求进行搜索和安装。
相关文章:
提高开发效率,从这些小技巧开始——5个让你爱上IDEA的增加体验小技巧
前言 如果你是一名Java开发人员,那么你一定会使用IntelliJ IDEA这个IDE。IntelliJ IDEA作为目前最受欢迎的Java IDE之一,已经成为了众多Java开发人员必备的工具之一。但是,你是否知道如何利用IDEA中的一些小技巧来提高你的开发效率和体验呢&a…...
Python基础合集 练习22 (错误与异常处理语句2)
‘’’ try: 语句块 except: 语句块2 else ‘’’ class Mobe1(): def init(self) -> None: pass def mob1(self):while True:try:num int(input(请输入一个数: ))result 50 / numprint(result)print(50/{0}{1}.format(num, result))except (ZeroDivisionError, ValueEr…...
ELK -- kibana 用nginx代理后无法访问
背景: 本地搭建好elk后,一切正常,后面改成用nginx代理kibana的5601端口,发现代理后无法正常访问(未代理的地址可正常访问),花了很多时间去查问题,报错基本都是http://ip:port/spaces…...
什么是分布式事务
目录 分布式事务基础 事务 本地事务 分布式事务 分布式事务的场景 分布式事务解决方案 全局事务 优点 缺点 可靠消息服务 第一步 :消息由系统A投递到中间件 超时访问机制 最大努力通知 第一步:消息由系统A投递到中间件 第二步:消息…...
在 Python 中将整数转换为罗马数字
罗马数字使用以下七个符号书写。 Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000这些符号用于表示数以千计的数字。 罗马写20,可以用两个X拼成XX。 但是 XXXX 不…...
HashTable,Properties,TreeSet源码分析
目录 HashTable基本介绍 Hashtable和HashMap对比 Properties Properties基本介绍 应该如何选择集合 TreeSet源码分析 HashTable基本介绍 1)存放的元素是键值对:即K-V 2)hashtable的键和值都不能为null,否则会抛出NullPointerException 3)hashTab…...
多维图像去噪方法研究
一、背景介绍 由于传感器技术的快速发展,高光谱(HS)遥感(RS)成像为飞机等数据采集设备远距离观测和分析地球表面提供了大量的空间和光谱信息,航天器和卫星。 HS RS 技术的最新进展甚至革命为实现各种应用的…...
托福口语考察内容和形式
首先我们来简单介绍一下托福口语考试的构成和task1的任务形式。 目录 TOEFL Speaking Test Format Independent Task 1 Task 1 Test Format Task 1 Testing Interface(考试界面) Task 1 Question Type...
【地铁上的设计模式】--结构型模式:代理模式
什么是代理模式 代理模式是一种结构型设计模式,通过代理对象控制对原始对象的访问。代理对象充当客户端和实际对象之间的中介,隐藏了实际对象的复杂性,并提供了一些额外的控制。 在软件系统中,代理模式可以有多种应用。例如&…...
Oracle 体系结构
文章目录 Oracle体系结构Oracle的内存结构Oracle的进程结构服务器进程后台进程可选后台进程 物理存储结构逻辑存储结构 概念: Oracle server由Oracle instance和Oracle database组成,Oracle instance由后台进程和共享内存组成,Oracle的实例包…...
java手写日历系统(亲测)
package com.test.test02;import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Scanner;public class Test08 {//这是一个main方法,是程序的入口public static void main(String[] args) {//录入日期的StringScanner sc new Scanner…...
35-40的技术人员为什么会被“不友好”,请你们自身反思-拒做职场的“嗯嗯”怪
35-40真的是IT人员的一道坎吗? IT技术做不到35-40,可是我身边有大量35-40事业发达、职业发展更好的朋友。同时,我身边也有大量35-40被“毕业”的人更多。 本人经过7年来先后带队过3个大型研发团队,最少的也有60-70号人。最多的达到…...
工地烟火AI监控识别分析系统 yolov7
工地烟火AI监控识别分析系统通过yolov7网络模型技术,工地烟火AI监控识别分析系统对工地或者厂区现场监控区域内的烟火进行实时分析报警。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和从边缘到云端的 GPU 设备…...
MATLAB算法实战应用案例精讲-【人工智能】对比学习(概念篇)(补充篇)
目录 前言 几个高频面试题目 基于对比学习(ContrastiveLearning)的文本表示模型【为什么】能学到文本【相似】度? 为什么对比学习能学到很好的语义相似度? 那么如何评价这个表示空间的质量呢? 知识储备 监督学习和非监督学习 算法原理…...
代码随想录算法训练营第三十一天 | 贪心1,想不到怎么找局部最优就做不出来
贪心算法理论基础 代码随想录 (programmercarl.com) 贪心算法理论基础!_哔哩哔哩_bilibili 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额ÿ…...
【SVN】版本控制管理的文件(夹)如何重命名
目录 一、前言二、操作步骤1. 使用SVN重命名(SVN rename)2. 输入新名称3. 确定重命名4. 立刻进行一次提交(commit)5. 补充 三、可能遇到的问题1. 情况一2. 情况二3. 情况三 一、前言 如果只是在本地的文件系统中修改SVN中的文件&a…...
必须包含数字,字母组合的密码正则表达式
输入要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在2-64位之间。 ^(?![0-9]$)(?![a-zA-Z]$)[0-9A-Za-z]{2,64}$ 分开来注释一下: ^ 匹配一行的开头位置 (?![0-9]$) 预测该位置后面不全是数字 (?![a-zA-Z]$) 预…...
JavaScript:栈和对列
文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣(LeetCode)思路 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣…...
[数据库系统] 一、创建表以及使用主键约束(educoder)
1.任务:在数据库中创建一个表。 2.需要掌握: 如何在指定数据库中创建表。 知识点:如何在指定数据库中创建表。 我们先来了解一下在数据库中创建表的规则: CREATE TABLE 表名(字段名,数据类型,字段名,数据类型,.....) 例如&…...
《走进对象村4》之面向对象的第一大特性——封装
文章目录 🚀文章导读1、封装的概念2、访问限定修饰符3、如何进行封装4、封装的优点: 🚀文章导读 在本篇文章中,将详细的对封装进行总结,文章仅仅是个人的一些理解,如果有错误的地方,还望指出看完…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
