硬核资源!阿里内部强推IntelliJ IDEA 中的常用配置,还不赶紧收藏
ztj100 2024-11-01 15:00 17 浏览 0 评论
上一篇分享的是《从零开始构建 springboot 项目》,这篇给大家分享《IntelliJ IDEA 中的常用配置》。
一、概述
毋庸置疑 IntelliJ IDEA 已经成为 Java 开发最好用的开发工具,这篇文章主要记录自己使用 idea 开发过程中的一些常用配置,主要是根据自己的开发习惯进行的配置,记录这篇文章的目的是为了便于自己查询配置,并且希望对看这篇文章的小伙伴提供一些参考。
说明:我这里使用的 idea版本是 IntelliJ IDEA 2021.1.1 (Ultimate Edition),不同的版本配置稍有不同,可以根据自己使用的具体版本进行更改。
二、idea 常用配置
这里就不介绍 idea 的下载或者激活的方法了,百度一下你就知道。这里对 idea 的设置原则是尽量保持默认设置,除了自己需要的设置,其他设置一律保持默认,个人觉得 idea 只是一个开发工具,怎么用的顺手怎么设置,但是要以提高自己的开发效率为目的。
1、设置 idea 的主题颜色
点击 File --> Settings --> Appearance --> Theme
个人喜欢白色的主题颜色,可以根据自己的喜好选择对应的颜色,如下图所示:
2、设置字体大小和字符编码
- 设置字体大小
点击 File --> Settings --> Editor --> Font
字体大小根据个人电脑的屏幕进行设置,我这里设置的大小是:18。 - 设置文件编码
点击 File --> Settings --> Editor --> File Encodings
从上图可以看到配置编码的地方有4个:
1、Global Encoding:UTF-8
2、Project Encoding: UTF-8
3、File/Directory Encoding: UTF-8
4、Properties files Encoding:UTF-8
前三个是配置项目中文件的编码,不包括 properties 配置文件,这三个选项存在优先级,高优先级的覆盖低优先级的,也就是说如果文件有指定编码就使用指定的编码,如果没有指定,则使用父目录或者项目的编码。
可以看到File/Directory Encoding中配置了整个项目的根目录为UTF-8。
一般这三个配置我们一般都不用管,idea会自动配置File/Directory Encoding: UTF-8。
另外就是 properties 文件的单独配置,默认情况下跟随系统。
Transparent native-to-ascii conversion 这个选项是否勾选,官方文档说明如下图:
idea 官方文档说明地址:https://www.jetbrains.com/hel...
Transparent native-to-ascii conversion 直接翻译过来就是透明的将本地编码转换成 ascii 编码,从官方文档的说明好像没有看懂,查阅一些资料解释说明如下:
idea项目的 properties 文件编码默认跟随系统,windows 下为 gbk,但是 java 程序读取 properties 时以 UTF-8 格式读取,编码不兼容呈现出乱码,所以将 properties 文件改为 UTF-8 编码即可解决问题。 另一种解决方案是使用 native-to-ascii 功能,将输入的字符转换为 unico 码表中的码位,或者说 unico 值,例如 \u0041 表示英文字母 a。这些 unico 值均为 ascii 码表中的字符,因为 ascii 部分的字符编码在 gbk 和 unico 中是兼容的,所以即使 properties 文件是 gbk 编码的,java 程序也能正确地读取出这些 unico 值,并找到对应字符。 最简单的理解方式: 汉字字符转换成 unico 码位存储到 gbk 编码的文件中, java 再通过这些码位找到对应的汉字字符,从而解决编码兼容问题。
一般情况下我们需要同时设置文件编码为UTF-8并勾选复选框,或者设置文件编码为ISO-8859-1也是可以的。
3、设置自定义注释模板
定义类注释模板
点击 File --> Settings --> Editor --> File and Code Templates
选择 Class 查看如下图所示:
下图中的 File Header 就是对应上图中的 #parse("File Header.java"),默认情况下没有内容,下图是自定义的模板内容:
自定义模板内容如下:
/**
* ${describe}
*
* @name ${NAME}
* @author ${USER}
* @date ${YEAR}-${MONTH}-${DAY} ${TIME}
*/
上面的模板保存之后,创建一个新的 Java 文件,就会在文件头部显示注释信息,如下图所示:
这里的 @name 和 @date 被 idea 标注为黄色,显示警告信息为 Wrong tag ,也就是说 idea 不能识别这个标签,对于有强迫症的开发者来说,不能容忍这种提示标记,如何消除这个标记呢?可以根据提示点击 Add date to custom tags,之后这个黄色的标记就没有了,idea 将这个自定义的标签添加到了 Java doc 的自定义标签中,我们有自定义的标签也可以添加到这里,用逗号分隔,如下图所示:
定义方法注释模板
点击 File --> Settings --> Editor --> Live Templates
idea 默认提供了非常多的快捷方式,比如在程序中输入 sout ,实际上会输出 System.out.println(),使用这些快捷方式能够极大地提高我们的开发效率,具体使用可以查看快捷方式的具体实现,如下图所示:
接下来介绍自定义方法的注释模板
模板内容 Template text 如下所示:
**
*
* @author $user$
* @date $date$ $time$
$params$
* @return $return$
*/
方法注释模板的可应用范围选择 Java 如下图所示:
模板中的变量定义如下图所示:
其中 params 变量的 groovy 脚本的内容如下所示:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(i == 0) result += '* @param ' + params[i] + ' ' + ((i < params.size() - 1) ? '\\n' : '');else result += ' * @param ' + params[i] + ' ' + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters())
按照上面的步骤配置完成之后,就可以在方法上面输入 add 关键字,就会出现提示,效果如下图:
生成的方法注释效果如下图:
4、idea 安装常用插件
idea 常用插件说明:
- GenerateAllSetter: 一键生成 getter/setter (选择创建的对象 -> alt + enter -> Generate all setter with no default value)。
- GenerateSerialVersionUID: 一键生成序列化 ID
- JRebel: 热部署
- Lombok: 提供非常丰富的注解,简化 getter/setter。
- POJO to JSON: 一键复制实体类为 Json 格式(对实体类右键 -> POJO to Json )。
- Easy code : 基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml),只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置,支持同时生成生成多张表的代码,每张表有独立的配置信息,完全的个性化定义,规则由你设置。
- Kubernetes:k8s 的插件,在编写 yaml 文件时有检查和提示,非常方便。
- 以上就是《IntelliJ IDEA 常用配置》的分享。
- 也欢迎大家交流探讨,该文章若有不正确的地方,希望大家多多包涵。
- 创作不易,你们的支持就是我最大的动力,如果对大家有帮忙给个赞哦~~~
相关推荐
- 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)