IDEA非常重要的一些设置项 →一连串问题差点让我重新用回Eclipse
ztj100 2024-11-01 15:00 12 浏览 0 评论
开心一刻
建筑行业内,我看过的最凶残笑话(IT行业内好一致!)
上联:一天晚上两个甲方三更半夜四处催图只好周五加班到周六早上七点画好八点传完九点上床睡觉十分痛苦
下联:十点才过九分甲方八个短信七个电话居然要六处调整加五张图纸四小是交三个文本两天周末只睡一个小时
横批:用原来的
内心的独白
写作背景
2017 从 eclipse 换到 IDEA,适应了一段时间,后面一直用 IDEA 2018 版,使用期间偶尔出现一些小问题,但不多,没太注意
最近换了电脑,开发环境得重新搭,顺便把 IDEA 更新下。本来打算用 2020 版的,可网上对 2020 版的评论一直比较差,所以我就放弃做勇士了,用的是 2019.3.5 版本
切了版本后,使用期间陆陆续续暴露了不少问题,有些问题还花了不少时间来处理,期间甚至有了放弃 IDEA,重新投保 Eclipse 的想法,但是后面冷静一想,Eclipse 几年没用,都忘完了,重新捡起来的成本可能更高,所以痛定思痛,决定将 IDEA 的这些比较常用的设置全部整理一下,方便以后自己查阅,也方便遇到同样问题的小伙伴进行问题排查与处理
需要大家注意是,楼主用的是 IDEA 2019.3.5 版本,可能和大家的版本不同,版本不同,配置项会有细微的区别,大家不要完全一致的去对比
全局设置与当前设置
其实 IDEA 安装完成的时候就提示我们进行全局设置,但是往往被我们忽略了
当我们打开工程后,往往设置的是当前工程的设置,而不是全局设置,所以当我们用新窗口打开新的工程时,发现新窗口的设置都是默认的,而不是我们之前设置的,这就有点不爽了
那如果我们在 IDEA 安装的时候没有进行全局设置,还能进行全局设置吗? 答案是肯定的,可以在 IDEA 窗口进行当前设置和全局设置,如下图
Settings 表示的是当前设置,Other Settings 表示的是全局设置;不同的 IDEA 版本,Other Settings 代表的都是全局设置(未来不一定,但是历史是这样),只是 Other Settings 下内容可能会有所不同
如果既进行了 Settings 设置,又设置了 Other Setting, 那么当前工程生效的是 Settings 中的设置
后续讲到的一些设置若非特殊说明都是在全局设置下进行,主要是为了强调下全局设置的重要性(可能只是楼主后知后觉,汗...)
必定修改
Project SDK
配置成我们安装的 JDK,目前用的比较多的是 1.8 版本; 配置如下
项目文件编码
工程编码我需要统一,基本统一成 UTF-8,设置如下
都选择 UTF-8
如果不选择 UTF-8,可能会编译不报错,但是启动时却报错:Error:(15,31) java: 找不到符号
自动编译
默认情况下,自动编译是关闭的,我们可以按下图进行开启
将复选框勾上则开启自动编译,但后面有说明:非 running 或 debugging 时才生效
智能导包
效果就是,当我们输入 List,能够自动导入 java.util.List ,设置如下
两个复选框都需要勾上
信号显示
显示代码行号,配合日志能快速地定位到出问题的代码,设置如下(这个只能在 Settings 中进行设置)
需要将复选框勾上;勾选上之后,每一行代码前就会有行号显示,如下所示
制表符设置
主要时考虑到不同的编辑器对 Tab 的处理不同,所以统一成 4 个空格来处理
复选框不要勾
maven 设置
IDEA 自带 maven,但往往需要修改成我们自己的 maven,我们的 maven 有很多自定义的配置,如私有仓库等
配置如下
标记的地方替换成我们自己的 maven, 至于 Local repository,会自动加载 maven settings.xml 中的仓库地址,一般不用覆盖修改
构建/运行操作委托给 maven
默认情况下对项目的构建和运行是 IDEA 自己负责的,这样就可能导致构建和运行时无法找到 maven 仓库中的相关 jar 包,从而出现:Error:(6, 34) java: 程序员xxx不存在 的错误
进行如下配置,将构建/运行操作委托给 maven,这样依赖的 jar 包都能正确找到
复选框勾上即可
推荐修改
多行显示文件 Tab
默认情况下多行 Tab 是单行显示的,效果如下
所有打开的文件 Tab 显示在一行,显示不下的收缩起来(越久未被操作的文件越容易被收缩);文件多了收缩起来,还是不太方便文件的切换操作,推荐多行显示,配置如下(只能在 Settings 下设置)
复选框不要勾上,设置了后效果如下
这样文件切换起来更方便
取消 import xxx.*
当我们 Java 类中导入的某个包下类超过指定个数,就会换成用 * 号来代替,例如:import java.utils.*;
* 代表的是导入包下所有类,不够直观,也没必要,需要什么就导入什么是最好的
Class count to use import with '*' 表示的是:导入了同个包下多少的类,就将这些导入替换成 *, 默认是 5。Names count to use static import with '*' 则表示的是:静态导入了同个类中多少的静态常量,就将这些导入替换成 *, 默认是 3,我们将这两个值配置大一些,那么就不会 import * 了
类注释模板
阿里规约中有这么一条,类必须加注释,并且必须要有 author类注释还是很有必要的,可以追溯到人,便于业务的沟通,配置如下
想加什么参数就加什么;设置好后,我们新建一个类,就会自动带上注释,如下所示
可能修改
maven Ignored files
Settings 下有这么个设置
理论上来讲,这个列表中的复选框都不能勾选(默认也都不会勾选),如果勾选了,那么就被勾选了的 pom.xml 对应的工程就不会被当作 maven 工程,后果可想而知:不是 maven 工程就会有依赖找不到的问题,项目就会启动失败
楼主不知道怎么回事就勾上了其中一个,出现如下症状
maven 工具窗口下该 maven 工程显示成了灰色,特别与众不同;然后启动该工程的时候,提示各种依赖都找不到,真是毙了狗
Method Breakpoints
正常情况来说,我们是不会直接在方法名上打断点的,断点往往是打在方法体上的某一行上,但是楼主不知道怎么回事就打了,导致以 debug 方式启动不了工程,并提示:Method breakpoints may dramatically slow down debugging
打开 Breakpoints 面板看看(快捷键:Ctrl+Shift+F8 )
一个断点打在了 UserService 接口中的方法上,一个接口打在了实现类 UserServiceImpl 的方法名上
一般而言不会出现这种情况,就怕大家像楼主一样不小心,在方法名上打了断点,并导致项目 debug 不起来,知道如何处理就好
逐个选中,remove 就好,如下图所示
总结
1、遇到问题,不能立马想到去怎么处理的,尽快利用网络去查,千万不要一头扎进自我认为中去,太费时了,最后还得求助于网络
网络搜索的话,关键字非常重要,描述的越清楚,命中率越高;如果确实不好描述,那就多换关键字去查
2、有些配置是需要勾选复选框,有些是不能勾选,大家要看清楚了
3、文中的 IDEA 配置修改分了三种:必须、推荐、可能,只囊括了一部分,有些未考虑到的欢迎大家补充
可能级别中的问题基本都是误操作,大家留个印象就好,万一碰到了知道怎么处理
4、要学会多总结,包括各个方面的总结,这样我们才能越来越强大!
相关推荐
- Whoosh,纯python编写轻量级搜索工具
-
引言在许多应用程序中,搜索功能是至关重要的。Whoosh是一个纯Python编写的轻量级搜索引擎库,可以帮助我们快速构建搜索功能。无论是在网站、博客还是本地应用程序中,Whoosh都能提供高效的全文搜...
- 如何用Python实现二分搜索算法(python二分法查找代码)
-
如何用Python实现二分搜索算法二分搜索(BinarySearch)是一种高效的查找算法,适用于在有序数组中快速定位目标值。其核心思想是通过不断缩小搜索范围,每次将问题规模减半,时间复杂度为(O...
- 路径扫描 -- dirsearch(路径查找器怎么使用)
-
外表干净是尊重别人,内心干净是尊重自己,干净,在今天这个时代,应该是一种极高的赞美和珍贵。。。----网易云热评一、软件介绍Dirsearch是一种命令行工具,可以强制获取web服务器中的目录和文件...
- 78行Python代码帮你复现微信撤回消息!
-
来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。...
- 从零开始学习 Python!2《进阶知识》 Python进阶之路
-
欢迎来到Python学习的进阶篇章!如果你说已经掌握了基础语法,那么这篇就是你开启高手之路的大门。我们将一起探讨面向对象编程...
- 白帽黑客如何通过dirsearch脚本工具扫描和收集网站敏感文件
-
一、背景介绍...
- Python之txt数据预定替换word预定义定位标记生成word报告(四)
-
续接Python之txt数据预定替换word预定义定位标记生成word报告(一)https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=748...
- Python——字符串和正则表达式中的反斜杠('\')问题详解
-
在本篇文章里小编给大家整理的是关于Python字符串和正则表达式中的反斜杠('\')问题以及相关知识点,有需要的朋友们可以学习下。在Python普通字符串中在Python中,我们用'\'来转义某些普通...
- Python re模块:正则表达式综合指南
-
Python...
- python之re模块(python re模块sub)
-
re模块一.re模块的介绍1.什么是正则表达式"定义:正则表达式是一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来过滤的逻辑。(也是一种文本模式;)2、正则表达式可以帮助我们...
- MySQL、PostgreSQL、SQL Server 数据库导入导出实操全解
-
在数字化时代,数据是关键资产,数据库的导入导出操作则是连接数据与应用场景的桥梁。以下是常见数据库导入导出的实用方法及代码,包含更多细节和特殊情况处理,助你应对各种实际场景。一、MySQL数据库...
- Zabbix监控系统系列之六:监控 mysql
-
zabbix监控mysql1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是...
- mysql系列之一文详解Navicat工具的使用(二)
-
本章内容是系列内容的第二部分,主要介绍Navicat工具的使用。若查看第一部分请见:...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Whoosh,纯python编写轻量级搜索工具
- 如何用Python实现二分搜索算法(python二分法查找代码)
- 路径扫描 -- dirsearch(路径查找器怎么使用)
- 78行Python代码帮你复现微信撤回消息!
- 从零开始学习 Python!2《进阶知识》 Python进阶之路
- 白帽黑客如何通过dirsearch脚本工具扫描和收集网站敏感文件
- Python之txt数据预定替换word预定义定位标记生成word报告(四)
- 假期苦短,我用Python!这有个自动回复拜年信息的小程序
- Python——字符串和正则表达式中的反斜杠('\')问题详解
- Python re模块:正则表达式综合指南
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- node卸载 (33)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- exceptionininitializererror (33)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)