IDEA非常重要的一些设置项 →一连串问题差点让我重新用回Eclipse
ztj100 2024-11-01 15:00 14 浏览 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、要学会多总结,包括各个方面的总结,这样我们才能越来越强大!
相关推荐
- Vue 技术栈(全家桶)(vue technology)
-
Vue技术栈(全家桶)尚硅谷前端研究院第1章:Vue核心Vue简介官网英文官网:https://vuejs.org/中文官网:https://cn.vuejs.org/...
- vue 基础- nextTick 的使用场景(vue的nexttick这个方法有什么用)
-
前言《vue基础》系列是再次回炉vue记的笔记,除了官网那部分知识点外,还会加入自己的一些理解。(里面会有部分和官网相同的文案,有经验的同学择感兴趣的阅读)在开发时,是不是遇到过这样的场景,响应...
- vue3 组件初始化流程(vue组件初始化顺序)
-
学习完成响应式系统后,咋们来看看vue3组件的初始化流程既然是看vue组件的初始化流程,咋们先来创建基本的代码,跑跑流程(在app.vue中写入以下内容,来跑流程)...
- vue3优雅的设置element-plus的table自动滚动到底部
-
场景我是需要在table最后添加一行数据,然后把滚动条滚动到最后。查网上的解决方案都是读取html结构,暴力的去获取,虽能解决问题,但是不喜欢这种打补丁的解决方案,我想着官方应该有相关的定义,于是就去...
- Vue3为什么推荐使用ref而不是reactive
-
为什么推荐使用ref而不是reactivereactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代optionapi的data的替...
- 9、echarts 在 vue 中怎么引用?(必会)
-
首先我们初始化一个vue项目,执行vueinitwebpackechart,接着我们进入初始化的项目下。安装echarts,npminstallecharts-S//或...
- 无所不能,将 Vue 渲染到嵌入式液晶屏
-
该文章转载自公众号@前端时刻,https://mp.weixin.qq.com/s/WDHW36zhfNFVFVv4jO2vrA前言...
- vue-element-admin 增删改查(五)(vue-element-admin怎么用)
-
此篇幅比较长,涉及到的小知识点也比较多,一定要耐心看完,记住学东西没有耐心可不行!!!一、添加和修改注:添加和编辑用到了同一个组件,也就是此篇文章你能学会如何封装组件及引用组件;第二能学会async和...
- 最全的 Vue 面试题+详解答案(vue面试题知识点大全)
-
前言本文整理了...
- 基于 vue3.0 桌面端朋友圈/登录验证+60s倒计时
-
今天给大家分享的是Vue3聊天实例中的朋友圈的实现及登录验证和倒计时操作。先上效果图这个是最新开发的vue3.x网页端聊天项目中的朋友圈模块。用到了ElementPlus...
- 不来看看这些 VUE 的生命周期钩子函数?| 原力计划
-
作者|huangfuyk责编|王晓曼出品|CSDN博客VUE的生命周期钩子函数:就是指在一个组件从创建到销毁的过程自动执行的函数,包含组件的变化。可以分为:创建、挂载、更新、销毁四个模块...
- Vue3.5正式上线,父传子props用法更丝滑简洁
-
前言Vue3.5在2024-09-03正式上线,目前在Vue官网显最新版本已经是Vue3.5,其中主要包含了几个小改动,我留意到日常最常用的改动就是props了,肯定是用Vue3的人必用的,所以针对性...
- Vue 3 生命周期完整指南(vue生命周期及使用)
-
Vue2和Vue3中的生命周期钩子的工作方式非常相似,我们仍然可以访问相同的钩子,也希望将它们能用于相同的场景。...
- 救命!这 10 个 Vue3 技巧藏太深了!性能翻倍 + 摸鱼神器全揭秘
-
前端打工人集合!是不是经常遇到这些崩溃瞬间:Vue3项目越写越卡,组件通信像走迷宫,复杂逻辑写得脑壳疼?别慌!作为在一线摸爬滚打多年的老前端,今天直接甩出10个超实用的Vue3实战技巧,手把...
- 怎么在 vue 中使用 form 清除校验状态?
-
在Vue中使用表单验证时,经常需要清除表单的校验状态。下面我将介绍一些方法来清除表单的校验状态。1.使用this.$refs...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Vue 技术栈(全家桶)(vue technology)
- vue 基础- nextTick 的使用场景(vue的nexttick这个方法有什么用)
- vue3 组件初始化流程(vue组件初始化顺序)
- vue3优雅的设置element-plus的table自动滚动到底部
- Vue3为什么推荐使用ref而不是reactive
- 9、echarts 在 vue 中怎么引用?(必会)
- 无所不能,将 Vue 渲染到嵌入式液晶屏
- vue-element-admin 增删改查(五)(vue-element-admin怎么用)
- 最全的 Vue 面试题+详解答案(vue面试题知识点大全)
- 基于 vue3.0 桌面端朋友圈/登录验证+60s倒计时
- 标签列表
-
- 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)