idea高效实用优化技巧

news2024/9/20 6:31:49

文章目录

  • IDEA介绍
  • 配置优化
  • 注释模板
  • 快捷键
  • 硬件升级

IDEA介绍

IDEA,全称IntelliJ IDEA,是Java语言的集成开发环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的。
IntelliJ IDEA 主要用于支持Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和Web 应用的开发。
IDEA的下载地址:(官网)
https://www.jetbrains.com/idea/download/#section=windows
IDEA不是免费的,这和Eclipse有很大区别。
IDEA分为两个版本,旗舰版(Ultimate)和社区版(Community)

安装目录结构
bin:容器,执行文件和启动参数等
help:快捷键文档和其他帮助文档
jre64:64 位java 运行环境
lib:idea 依赖的类库
license:各插件许可
plugin:插件

exe安装版设置目录结构
在这里插入图片描述

对于这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动IntelliJ IDEA 会再自动帮你再生成一个全新的默认配置,所以很多时候如果你把IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
这与Eclipse的配置目录不同!
其中,config目录:
config目录是IntelliJ IDEA 个性化配置目录,或者说是整个IDE 设置目录。也是我个人认为最重要的目录,没有之一,安装新版本的IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的tasks 记录等等个性化的设置。
在这里插入图片描述

其中,system目录:
system目录是IntelliJ IDEA 系统文件目录,是IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但是也是最不可或缺目录之一。

zip免安装版设置目录结构
在这里插入图片描述
在这里插入图片描述

配置优化

进入这里对新建项目进行配置,后面新建项目就用这里的默认配置在这里插入图片描述

设置项目文件编码
为了防止乱码建议所有编码都改成UTF-8
在这里插入图片描述

说明:Transparent native-to-ascii conversion主要用于转换ascii,一般都要勾选,不然Properties 文件中的注释显示的都不会是中文。
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。
其中,
①Reload表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
②Convert表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
③含有中文的代码文件,Convert之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
在这里插入图片描述
设置显示行号和方法间的分隔符
默认IntelliJ IDEA 是没有勾选Show line numbers 显示行数的,但是我建议一般这个要勾选上。
默认IntelliJ IDEA 是没有勾选Show method separators 显示方法线的,这种线有助于我们区分开方法,所以也是建议勾选上的。

自动换行
在这里插入图片描述
手动编译
如果开启自动编译,会比较占用资源。我们还可以每次在运行之前,点击按钮,实现代码编译。
在 IntelliJ IDEA 里,编译方式一共有三种:

ReCompile ‘XxxYyy.java’:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
Rebuild Project:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
Build Project / Module:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。

提高编译内存
在这里插入图片描述

jvm参数设置
在这里插入图片描述

16G内存最佳配置
-server
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=“”
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

注释模板

类注释
打开 IDEA 的 Settings,点击 Editor–>File and Code Templates,点击右边 File 选项卡下面的Class,在其中添加图中红框内的内容:
/**

  • @author jitwxs
  • @date Y E A R 年 {YEAR}年 YEAR{MONTH}月${DAY}日 ${TIME}
    */

方法注释
首先在 Settings 中点击 Editor–>Live Templates。
点击最右边的 +,首先选择 2. Template Group… 来创建一个模板分组:
在弹出的对话框中填写分组名,我这里叫做 userDefine:
然后选中刚刚创建的模板分组 userDefine,然后点击 +,选择 1. Live Template:
此时就会创建了一个空的模板,我们修改该模板的 Abbreviation、Description 和 Template text。需要注意的是,Abbreviation 必须为 *,最后检查下 Expand with 的值是否为 Enter 键。
上图中· Template text 内容如下,请直接复制进去,需要注意首行没有 /,且 * 是顶格的。
*
*

  • @author jitwxs
  • @date d a t e date date t i m e time time p a r a m param param r e t u r n return return
    */
    注意到右下角的 No applicable contexts yet 了吗,这说明此时这个模板还没有指定应用的语言:
    点击 Define,在弹框中勾选Java,表示将该模板应用于所有的 Java 类型文件。

快捷键

常用快捷键
功能 快捷键
1.执行(run) alt+r
2.提示补全(Class Name Completion) alt+/
3.单选注释 ctrl + /
4.多行注释 ctrl + shift + /
5.向下复制一行(Duplicate Lines) ctrl+alt+down
6.删除一行或选中行(delete line) ctrl+d
7.向下移动行(move statement down) alt+down
8.向上移动行(move statement up) alt+up
9.向下开始新的一行(start new line) shift+enter
10.向上开始新的一行(Start New Line before current) ctrl+shift+enter
11.如何查看源码(class) ctrl + 选中指定的结构或ctrl + shift + t
12.万能解错/生成返回值变量 alt + enter
13.退回到前一个编辑的页面(back) alt + left
14.进入到下一个编辑的页面(针对于上面那条来说的) (forward) alt + right
15.查看类继承关系(type hierarchy) F4
16.格式化代码(reformat code) ctrl+shift+F
17.提示方法参数类型(Parameter Info) ctrl+alt+/
18.复制代码 ctrl + c
19.撤销 ctrl + z
20.反撤销 ctrl + y
21.剪切 ctrl + x
22.粘贴 ctrl + v
23.保存 ctrl + s
24.全选 ctrl + a
25.选中数行,整体往后移动 tab
26.选中数行,整体往前移动 shift + tab
27.查看类的结构:类似于eclipse的outline ctrl+o
28.修改变量名与方法名(rename) alt+shift+r
29.大写转小写/小写转大写(toggle case) ctrl+shift+y
30.生成构造/get/set/toString alt +shift + s
31.查看文档说明(quick documentation) F2
32.收起所有的方法(collapse all) alt + shift + c
33.打开所有方法(expand all) alt+shift+x
34.打开代码所在硬盘文件夹(show in explorer) ctrl+shift+x
35.生成try-catch等(surround with) alt+shift+z
36.局部变量抽取为成员变量(introduce field) alt+shift+F
37.查找/替换(当前) ctrl+f
38.查找(全局) ctrl+h
39.查找文件 double Shift
40.重写父类方法(Override Method) ctrl+shift+o
41.抽取方法(Extract Method) alt+shift+m
42.打开Module setting窗口(Recently Changed Files) ctrl+E
43.关闭当前打开的代码栏(close) ctrl + w
44.关闭打开的所有代码栏(close all) ctrl + shift + w
45.快速搜索类中的错误(next highlighted error) ctrl + shift + Q
46.选择要粘贴的内容(Show in Explorer) ctrl+shift+V
47.查找方法在哪里被调用(Call Hierarchy) ctrl+shift+H
48.查看方法的多层重写结构(method hierarchy) ctrl+alt+h
七 关于模板
7.1 sout : System.out.println() 快捷输出
类似的:
soutp=System.out.println("方法形参名= " + 形参名);
soutv=System.out.println("变量名= " + 变量);
soutm=System.out.println(“当前类名.当前方法”);
“abc”.sout => System.out.println(“abc”);
7.2 list.for : 可生成集合list的for循环
List list = new ArrayList();
输入: list.for 即可输出
for(String s:list){
}
7.3 psvm : 可生成main方法

7.4 fori : 可生成for循环
类似的:
iter:生成增强for循环
itar:生成普通for循环

硬件升级

IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用Eclipse / MyEclipse,想通过IntelliJ IDEA 来解决计算机的卡、慢等问题基本不可能,本质上需要对自己的硬件设备进行升级
建议配置:内存16G或以上,最好有块固态硬盘,将IDEA安装在固态硬盘上,这样流畅度会加快很多

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

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

相关文章

gdb使用简介

目录 编译时,加入-g选项 不加-g选项,将不能加断点 加入-g选项,才能加断点 run与start start run break continue 编译时,加入-g选项 不加-g选项,将不能加断点 加入-g选项,才能加断点 run与start …

经典的 海量数据面试题 —— 送你一套僻邪剑谱~

目录 前言 一、哈希切割 题目一 解法一:哈希切割 二、位图的应用 题目一: 解法一:哈希切割 解法二:双位图 解法三:单位图(进阶版) 题目二 解法一:哈希切割 解法二&#xff…

ChatGPT踩坑(too many signups from the same IP)

ChatGPT踩坑 首先是去OpenAI的官网注册,点击API 进去注册一个账号 然后就会发现注册不成功,继续尝试就会出现下面的情况 后来我发现比较靠谱的方法是,通过google账号注册(或许微软账号也行),后面会有一步让…

python经典刷题-关于文件、日期的题

目录标题1,统计目录下所有文件大小-os的使用2,按文件后缀整理文件夹3,递归搜索目录找出最大文件4,计算不同课程的最高分最低分--分组处理5,实现不同文件的关联6,批量txt文件的合并7,统计每个兴趣…

植物神经紊乱在心脑血管方面可能出现哪些症状

大家好,当植物神经的失衡涉及心脑血管的时候,可能会出现哪些症状表现? 植物神经紊乱为什么会涉及心脑血管? 你们知道吗?植物神经紊乱的实质,是由于体内庞大的神经系统的失衡导致的。而植物神经,…

javaEE 初阶 — 网络通信基础

文章目录1. IP 地址2. 端口号3. 认识协议4. 协议分层4.1 分层的作用4.2 OSI七层模型4.3 TCP/IP五层(或四层)模型4.4 网络数据传输的基本流程4.4.1 发送方4.4.2 接收方1. IP 地址 IP地址主要用于标识网络主机、其他网络设备(如路由器&#xff…

PowerSNMP for .NET 6.1.0.0 Crack

关于适用于 .NET 的 PowerSNMP 创建自定义 SNMP 管理器、陷阱和代理应用程序以监视和控制网络设备。 PowerSNMP for .NET 包括简单网络管理协议 (SNMP) 组件,可无缝集成线程通信、安全和编码/解码,因此您可以快速开发自定义 SNMP 应用程序。该开发工具需…

HW_DIMM分类与比较

DIMM 分类参考链接 UDIMM UDIMM is also known as unbuffered DIMM, that is, unbuffered dual in-line memory module. The application of this memory module means that the address and control signals can directly reach the DRAM chip on the server DIMM without g…

[hive]维度模型分类:星型模型,雪花模型,星座模型|范式

一、维度模型分类:星型模型,雪花模型,星座模型1、星型模型星型模型中只有一张事实表,以及0张或多张维度表,事实与纬度表通过主键外键相关联,维度之间不存在关联关系,当所有纬度都关联到事实表时,整个图形非常像一种星型…

ESP32设备驱动-MPU-9250 3轴陀螺仪/加速度计/磁力计驱动

MPU-9250 3轴陀螺仪/加速度计/磁力计驱动 1、MPU9250介绍 MPU-9250 是面向智能手机、平板电脑、可穿戴传感器和其他消费市场的第二代 9 轴运动处理单元™(Motion Processing Unit™)。 MPU-9250 采用 3x3x1mm QFN 封装,是世界上最小的 9 轴运动跟踪设备,采用了最新的 Inven…

钢结构之槽钢及角钢

槽钢 槽钢是截面为凹槽形的长条钢材,截面形状为槽形的型钢。 槽钢的基本介绍 槽钢属建造用和机械用碳素结构钢,是复杂断面的型钢钢材,其断面形状为凹槽形。槽钢主要用于建筑结构、幕墙工程、机械设备和车辆制造等。在使用中要求其具有较好的…

没有选品经验的电商卖家该在TikTok上卖什么商品?超店有数来帮你

TikTok近年来增速迅猛,凭借巨大的流量频频登榜多国APP下载榜首,而其电商业务同样处于快速增长状态。2022上半年,TikTok电商的GMV已超10亿美元;2022年全年,TikTok Shop在东南亚GMV增长逾三倍,达到44亿美元。…

【SpringBoot2】SpringBoot中配置文件详解

SpringBoot使用一个全局的配置文件,配置文件名是固定的,支持两种格式 1、两种格式(properties,yml) application.properties application.yml 由此可以看出 application.yml 文件格式的内容更为简洁,清晰…

SpringAMQP - 发布订阅模式

目录 发布订阅介绍 FanoutExchange简介 FanoutExchange案例 常见小问题 DirectExchange简介 DirectExchange案例 常见小问题 TopicExchange简介 TopicExchange案例 发布订阅介绍 发布(Publish)、订阅(Subscribe)发布订阅…

Python【xpath】基础上

xpath解析: 最常用且最便捷高效的一种解析方式。通用性- xpath 解析原理:- 1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中环境安装:- cmd 输入 pip install lxml- 如何实例化一个etree 对象- 1.将本地的html&#xff…

从管易云到MySQL通过接口配置打通数据

数据源平台:管易云管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌,先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站建设等产品和服务,涵盖电商业务全流程。写入目标:MySQLmysql是一个关系数据库管理系统(RDBMS&…

SpringBoot的自动配置

参考视频:每一帧都是干货!15分钟的视频花2小时看 一、配置类(Configuration Class) 广义的配置类:被注解Component直接或间接修饰的某个类,即我们常说的Spring组件,其中包括了Configuration类…

类加载器与双亲委派

-----摘自 周志明 《深入理解Java虚拟机》类加载器Java虚拟机设计团队有意把类加载阶段中的“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器…

R语言多元数据统计分析在生态环境中的实践应用

生态环境领域研究中常常面对众多的不同类型的数据或变量,当要同时分析多个因变量(y)时需要用到多元统计分析(multivariate statistical analysis)。多元统计分析内容丰富,应用广泛,是非常重要和…

管易云与网易互客对接集成发货单=>编辑订单

对接源平台:管易云管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌,先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站建设等产品和服务,涵盖电商业务全流程。对接目标系统:网易互客网易互客是一款智能化的客户关系管理工具。可以…