「硬核干货」总结IDEA开发的26个常用设置

前言
程序员对待IDE都是虔诚的,经常因为谁是最好的IDE而在江湖上掀起波澜,曾经我也是。

后来我遇到了IDEA,从此是它,余生都是它。
IDEA 毫无疑问是目前最强大的Java开发工具了,但是大部分的人并没有将它用到极致,很多实用的配置,插件,小技巧被忽视。就像JDK8的新特性一样,你知道它在且坚持不用,但是只要用过一次就知道什么是真滴香。

以下所有常见配置的思维导图,内容丰富,思维导图配合 Ctrl+F 搜索食用风味儿更佳。
先赞后看,养成习惯
IDEA 软件设置Settings页面
Settings是对软件本身的一些属性进行配置,例如字体 主题 背景图 插件等。
如何打开Settings设置页面

Settings设置页面结构详解

结构
- Appearance & Behavior 外观和行为
- Keymap 快捷键
- Editor 编辑器设置
- Plugins 插件
- Version Control 版本控制
- Build,Execution,Deployment 构建,执行,部署
- Languages & Frameworks 语言和框架
- Tools 工具集
IDEA 常见的xx个设置
绝大部分的设置都包含效果示意图,文章结构:设置方法-->效果示意图
Appearance & Behavior 外观和行为
设置主题

目前我的IDEA中有两套主题:Darcula, IntelliJ。
- Darcula 就是神秘的黑色主题,我偏爱黑色
- IntelliJ 白色主题
设置菜单字体

Keymap 快捷键
设置为Eclipse快捷键的键位
如果对 Eclipse 难以忘怀可以使用其键位,这种操作我也不推荐,感觉别扭。

修改快捷键
不要一次性修改大量的快捷键

- Add keyboard Shortcut 添加键盘快捷键 实际上就是修改当前的键位
- Add Mouse Shortcut 增加鼠标捷径
- Add Abbreviation
- Remove Ctrl+Alt+Shift+S 移除改快捷键
查看快捷键的功能
通过快捷键 查找快捷键的功能,例如:你不知道 Ctrl+F什么意思 可以通过该功能进行搜索

Editor 编辑器设置
Editor 中的设置可以说是最高频使用的设置了,编辑区的字体,自动导包,注释生成等等
什么是Editor编辑器呢?就是写代码的区域
Editor-General
设置鼠标滚轮滚动修改字体大小

设置成功之后,就可以通过 Ctrl+滚轮 实现代码字体大小的调节了
设置鼠标悬浮提示

悬停提示是一个非常有用的功能,效果如下

设置自动导包

- Add unambiguous imports on the fly:自动导入不明确的结构
- Optimize imports on the fly:自动帮我们优化导入的包
设置显示行号和方法间的分隔符

效果如下

忽略大小写提示
- Ctrl + Alt + S 打开设置界面(或者从菜单File - settings 进来)
- 在搜索框输入Completion定位到Code Completion功能项
- 在右侧配置界面选中All letters
- 在右侧配置界面把Match case(匹配大小写)前面的√去掉,

- IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。
- 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer, IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuffer 就可以进行代码提示和补充。
设置取消单行显示标签页(Tabs)的操作
什么是单行显示
如何设置为多行?

效果如下

Editor-Font
修改当前主题代码编辑区的字体

默认字体、字体大小、字体行间距,都可以单独设置
Editor-Color Scheme
修改当前主题控制台输出的字体

修改代码中注释的字体颜色

Editor-Code Style
设置超过指定 import 个数,改为*

Editor-File and Code Template
修改类头的文档注释信息

效果如下

Editor – File Encodings
设置项目文件编码

Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选, 不然 Properties 文件中的注释显示的都不会是中文。
设置当前源文件的编码


对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中 文,则会弹出如上的操作选择。其中:
- Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文 件,旧编码是什么依旧还是什么。
- Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件, 新编码是什么则是什么。
- 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请 做好备份,不然可能出现转换过程变成乱码,无法还原。
Build、Execution、Deployment
设置自动编译
其他
设置为省电模式

如上图所示,IntelliJ IDEA 有一种叫做 省电模式 的状态,开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。
设置代码分屏展示

效果如下

还可以添加分屏快捷键

背景图设置
- 在idea中 双击shift 出现搜索框 输入: Set Background Image 单击 Set Background Image

2.选择要添加的图片的路径,设置透明度,点击OK 就可以查看效果了

效果如下

IDEA 当前项目结构设置 Project Structure
项目结构配置就是关于当前模块的配置,只对当前模块生效,例如Jar包,包结构,源码文件夹,输出路径,依赖和项目构建信息。
如何打开 Project Structure 页面

Project Structure 页面结构讲解

project
image.png
Modules
可以查看每一个子模块的信息

Artifacts
IDEA带包配置,有时候用IDEA打的包有问题,部署到Tomcat中跑不起来,可以再打包一次。

Facets
当前项目配置文件的相关信息
修改IDEA默认设置

总结
以上就是我总结的IDEA开发常见的所有配置,如果本文对你有帮助,不要忘了收藏点赞支持一些。
关于IDEA的插件和一些使用技巧,请持续关注。

「硬核干货」总结IDEA开发的26个常用设置的更多相关文章
- 硬核干货 | C++后台开发学习路线
2020秋招提前批 C/C++相关开发 拿到腾讯.华为等offer 学习路线及时间安排 推荐时间为4个月,包括四部分:语言,计算机基础知识,项目基础知识,项目实践. 语言 推荐学习1个月 学习方针:视 ...
- [IOT] 自制蓝牙工牌办公室定位系统 (一)—— 阿里物联网平台概览及打通端到云(硬核·干货)
目录:老少皆宜.超长干货文警告 1.快速入门创建产品 -- 小白,打包带走去吹牛 2.代码分析 -- 老炮,快速了解能用上 2.1 从start.sh分析开发环境如何自动构建 2.2 从sample. ...
- 校招必看硬核干货:C++怎么学才能进大厂
目录 关于小猿 如何找资料 自我定位 岗位需求 学习路线及时间安排 资料获取方式 C++语言在历史舞台上出现了不短的时间,虽然一直面临着Python,Go等新语言的挑战,但它在基础架构和大型软件上的优 ...
- MySQL硬核干货:从磁盘读取数据页到缓冲池时,免费链表有什么用?
1.数据库启动的时候,是如何初始化Buffer Pool的? 现在我们已经搞明白一件事儿了,那就是数据库的Buffer Pool到底长成个什么样,大家想必都是理解了 其实说白了,里面就是会包含很多个缓 ...
- 万字硬核干货!6大技巧,极速提升kubectl的生产力!
明晚8:30,k3s实战课程开启!将由Rancher研发总监带你畅游k3s与边缘AI的奇妙世界.课程内容完全由实际使用场景中总结而来,别错过啦~!访问以下链接即可传送到课程现场: http://z-m ...
- 5000+字硬核干货!Redis 分布式集群部署实战
原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key ...
- 硬核干货:5W字17张高清图理解同步器框架AbstractQueuedSynchronizer
前提 并发编程大师Doug Lea在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynchro ...
- 硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理
前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章.之前在分析扩展线程池实现可回调的Future时候曾经提到并发 ...
- 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
随机推荐
- react与redux的一点心得(理解能力有限,蜗牛进度)
Redux是一款状态管理库,并且提供了react-redux库来与React亲密配合, 但是总是傻傻分不清楚这2者提供的API和相应的关系.这篇文章就来理一理. 如果要用一句话来概括Redux,那么可 ...
- 通过例子学习C++(三)最大公约数,并知其然
本文是通过例子学习C++的第三篇,通过这个例子可以快速入门c++相关的语法. 题目要求:输入两个整数,求其大公约数. 解答方法一:两个数的最大公约数,是这两个数中的小数,或者是这2个数的公约数中的最大 ...
- 「newbee-mall新蜂商城开源啦」1000 Star Get !仓库Star数破千!记录一下
新蜂商城已经开源了 3 个多月左右的时间,在 2019 年的年末,仓库的 Star 数量冲破了 1000,整理本篇文章的时间是 2020 年 1 月 12 日,目前的 Star 数量是 1180 左右 ...
- JS获取时间戳的几种方法与区别
var today = new Date() Date.now()) Date.parse(today) today.valueOf()) today.getTime() 可以看出,第二种是精确到秒的 ...
- .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器
本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器 在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...
- Qt Installer Framework翻译(3-5)
指定设置选项 设置页面使用户可以指定代理设置或安装附加组件. 用户在简介页面上点击"设置"来指定设置选项. 指定代理设置 默认情况下,安装程序使用系统代理设置.用户可以选择不使用或 ...
- 分布式唯一ID自增(雪花算法)
public class IdWorker { // ==============================Fields===================================== ...
- 8、python运算符
前言:本文主要介绍python中经常使用的6种运算符,分别是算术运算符.比较运算符.赋值运算符.逻辑运算符.身份运算符和成员运算符. (因为用法比较简单,这里只做介绍,有兴趣的可以自己敲代码运行一下) ...
- Mac 查看端口占用情况及杀死进程
查看端口占用情况命令 sudo lsof -i :9000 冒号后面就是你需要查看的端口号. TheEternityZhang-MacBook:project zhtony$ sudo lsof -i ...
- 微服务的多数据源配置: step 1
spring boot + mybatis: 实现的功能点: 多数据源 jdbc: spring.datasource.test1.url = jdbc:mysql://localhost:3306/ ...


