半步多 玄玉V笔记

idea配置小结

2016-04-20
玄玉

本文所列配置项,已适配:ideaIC-2023.3.6
idea历史版本下载:http://www.jetbrains.com/idea/download/other.html

快捷键

快捷键 用途 备注
Alt + 回车 自动补全  
Ctrl + Alt + 方向键左 返回上一个方法  
Ctrl + Alt + H 查询某方法被其它地方调用 另外:Alt + F7 也挺好用
键入 main 再按 Ctrl+J 键 快速输入main函数 或者:键入 psvm 再按 Tab 键
键入 sout 再按 Tab 键 快速输入System.out.println 对应Eclipse中的syso

橘黄色图标插件

idea.2016.3 开始,文件夹图标全部换成了暴丑的蓝色

可以用这个插件:Idea 2016.2 Icon Pack,回到原来的橘黄色图标

另外:2019.3.2 中该插件无效(2018.3.6 没问题),此时可以用这个插件:Legacy Icon Pack for 2018.2+

首次运行前的配置

idea.properties

idea.config.path=D:/Develop/JetBrains/xuanyuData/ideaic/config
idea.system.path=D:/Develop/JetBrains/xuanyuData/ideaic/system
idea.plugins.path=${idea.config.path}/plugins
idea.log.path=${idea.system.path}/log
# 编辑大文件时idea容易卡顿:可适当提高该属性值
idea.max.intellisense.filesize=2500
# 禁用控制台输出缓存:大项目开启很多输出时,控制台会很快刷满,导致不能自动输出后面的日志
# 这时可以禁用该值或增大其配置
idea.cycle.buffer.size=disabled

64.exe.vmoptions

-Xms3072m
-Xmx3072m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=100
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:+IgnoreUnrecognizedVMOptions
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend
-ea
-Dsun.io.useCanonCaches=false
-Dsun.java2d.metal=true
-Djbr.catch.SIGABRT=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off

全局配置

在欢迎界面,点击左侧 Customize,再点击 All settings,开始下列配置

项目参数及JDK

# 注:新版idea要在配置完全局参数,并打开一个工程后,才能配置以下项

# 设置JDK
Structure for New Projects---Project Settings---Project---设置JDK

# 控制台彩色输出:适合 SpringBoot 那种 main() 方法启动的(Maven启动与之类似,也是右上角配置JVM参数)
Run Configuration Templates for New Projects---Application---VM options: -Dspring.output.ansi.enabled=ALWAYS

# 应用启动参数短命令行
Run Configuration Templates for New Projects---Application---Shorten command line---JAR manifest

# 打开内存使用状态
新版:主界面双击Shift,在弹出的搜索栏输入Show memory indicator,再启用即可
旧版:settings---Appearance & Behavior---Appearance---Show memory indicator

外观及行为配置

# 黑色主题及避免中文乱码(此处若选 Yahei Consolas Hybrid,会使得配置窗口很难看,非常难看)
settings---Appearance & Behavior---Appearance---Theme---默认即可
# 新版:2023.3.6版就用默认的 Dark,Use custom font,Inter,Size=13 就挺好的
# 旧版:Darcula,Use custom font,Microsoft YaHei UI,Size=12

# 隐藏工具栏快捷键下划线
settings---Appearance & Behavior---Appearance---UI Options---不勾选Enable mnemonics in menu

# 应用空闲时自动保存文件
settings---Appearance & Behavior---System Settings---Autosave---勾选Save files if the IDE is idle for 15 seconds

# 不发送统计文件给JetBrains & 取消自动更新 
settings---Appearance & Behavior---System Settings---Data Sharing 和 Updates

编辑器之通用配置

# 自动移除UnuseImport
settings---Editor---General---Auto Import---勾选Add unambiguous...fly 以及 Optimize imports...fly

# 显示行号
settings---Editor---General---Appearance---勾选Show line numbers

# 取消面包屑导航(即打开 HTML/XML 文件时隐藏 html/header/script 等标签)
settings---Editor---General---Breadcrumbs---不勾选Show breadcrumbs

# 代码提示不区分大小写
settings---Editor---General---Code Completion---不勾选Match case

# 设定折叠或展开的代码类型(勾选则表示该类型代码在文件被打开时默认是被折叠显示的)
settings---Editor---General---Code Folding---勾选Inner classes、Anonymous classes

# Tab上移除文件后缀
settings---Editor---General---Editor Tabs---不勾选Show file extension

# Tab上星号标识编辑过且未保存的文件
settings---Editor---General---Editor Tabs---勾选Mark modified (*)

# Tab上移除文件上的叉
settings---Editor---General---Editor Tabs---Close button position---None

# Tab上打开文件的最多数
settings---Editor---General---Editor Tabs--Closing Policy---Tab limit---8

编辑器之代码字体

推荐 idea 自带的 JetBrains Mono 字体,这也是一款真等宽的字体

以前用的是网上推荐的 Yahei Consolas Hybrid 字体(实际它不是真等宽字体),下载地址如下

https://gitee.com/a42/YaHei-Consolas-Hybrid-1.12

https://github.com/GitHubNull/YaHei-Consolas-Hybrid-1.12

常规的两种安装方法是:双击 ttf 文件再点击安装按钮,或把 ttf 文件拷贝到 C:\Windows\Fonts\ 目录

但新版 Win10 有一个特性:默认安装字体只是给当前用户安装的,而 2018.3 无法良好的适配该特性,导致获取不到新安装字体

解决办法就是:右键 ttf 文件,选择为所有用户安装即可

再回到 idea 配置:settings---Editor---Font---Yahei Consolas Hybrid,Size=14,Line height=1.2

编辑器之代码风格

# 控制台字号(先拷贝一份 Scheme 的 Darcula 配置,新命名为 Darcula_Xuanyu)
settings---Editor---Color Scheme---Console Font---Use console font instead of the default---Size=12

# 文件换行符使用Unix格式(先拷贝一份 Scheme 的 Default 配置,新命名为 Default_Xuanyu)
settings---Editor---Colors Style---Line separator---Unix and macOS (\n)

# import每个类而非整个包(当import某个包下的类超过这里设置的个数时,就会换成星号来代替,比如import java.util.*)
settings---Editor---Colors Style---Java---Imports---Class count to use import with *---64

# 通过快捷键注释时,双斜杠位置为:与代码对齐(默认在行首),且注释的双斜线与注释内容之间有且仅有一个空格
settings---Editor---Colors Style---Java---Code Generation---不勾选Line comment at first column,勾选Add a space at comment start

编辑器之关闭检查

先拷贝一份 Profile 的 Default 配置,新命名为 Default_Xuanyu

注意:不同的 idea 版本下的 Inspections 配置均有不同,以下只是概述其意

# DefaultFileTemplate
settings---Editor---Inspections---General---不勾选Default File Template Usage

# 方法参数是相同值
settings---Editor---Inspections---Java---Declaration redundancy---不勾选Actual method parameter is the same constant

# 取消注释内容中含有代码的提示
settings---Editor---Inspections---Java---Code maturity---不勾选Commented out code

# Return value of the method is never used
settings---Editor---Inspections---Java---Declaration redundancy---不勾选Method can be void

# neverused
settings---Editor---Inspections---Java---Declaration redundancy---不勾选Unused declaration

# lamba转化(这里我还是用的默认勾选)
settings---Editor---Inspections---Java---Java language level migration aids---Java 8---Anonymous type can be replaced with lambda

# @create@author@see(前者针对@create@author,后者针对@see)
settings---Editor---Inspections---Java---Javadoc---不勾选Declaration has Javadoc problems和Declaration has problems in Javadoc references

# 方法和类同名
settings---Editor---Inspections---Java---Naming conventions---Method---不勾选Method name same as class name

# 未处理方法返回值(比如java.io.File.delete())
settings---Editor---Inspections---Java---Probable bugs---不勾选Result of method call ignored

# serialVersionUID(然后回到类文件中,光标放到类名上,Alt+Enter就会提示生成serialVersionUID)
settings---Editor---Inspections---Java---Serialization issues---勾选Serializable class without serialVersionUID
settings---Editor---Inspections---JVM languages---勾选Non-serializable class with serialVersionUID

# 关闭Maven-jar包最新版检查
settings---Editor---Inspections---Package Search---全部不勾选

# 关闭语法拼写检查
settings---Editor---Inspections---Proofreading---全部不勾选

# properties的属性未使用
settings---Editor---Inspections---Properties Files---不勾选Unused Property

编辑器之注释模板

这是设置文件头注释(创建新文件时的)

settings—Editor—File and Code Templates—Includes—File Header—编辑为如下

/**
 * Created by 玄玉<https://www.xuanyuv.com/> on ${DATE} ${TIME}.
 */

同样道理,也可以配置:创建枚举类时,默认的类内容

settings—Editor—File and Code Templates—Files—Enum—编辑为如下

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public enum ${NAME} {
    ${NAME}_1 (1, "枚举值01"),
    ${NAME}_2 (2, "枚举值02");

    private final int code;
    private final String msg;

    ${NAME}(int code, String msg){
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
    
    public static String getMsgByCode(int code){
        for(${NAME} obj : values()){
            if(obj.getCode() == code){
                return obj.getMsg();
            }
        }
        throw new IllegalArgumentException("无法识别的Code=[" + code + "]");
    }
}

接下来是自定义方法上的注释

settings—Editor—Live Templates—右上角 + 选择 Template Group—输入模板组名:XuanyuGroup

再点击 XuanyuGroup—右上角 + 加号选择 Live Template—设置自定义的触发注释输出的字母

然后在最下方的 No applicable contexts. Define 处选择模板适用范围(截图中我勾选的是 Java 范围)

接下来填写自定义的注释内容,如截图所示(我设置的就是输入 c ,然后按 Tab 键,就会生成方法注释)

其中时间位置可以用 $date$ 或者 $time$ 占位,并点击 Edit variables 按钮,然后在下拉框选择 date()time()

/**
 *
 * Comment by 玄玉<https://www.xuanyuv.com/> on $date$ $time$.
 */

编辑器之其它

# 资源文件的中文显示
settings---Editor---File Encodings---Global Encoding---UTF-8
settings---Editor---File Encodings---Project Encoding---UTF-8
settings---Editor---File Encodings---Default encoding for properties files---UTF-8
settings---Editor---File Encodings---Transparent native-to-ascii conversion

# 隐藏文件和文件夹
settings---Editor---File Types---Ignore files and folders---target;.gradle;*.iml;*.idea;

# 版本控制下文件变化的显示(调整文件夹显示颜色,配置在Version Control---File Status Color)
新版:settings---Version Control---Confirmation---勾选Highlight directories that contain modified files in the Project tree
旧版:settings---Version Control---勾选Show directories with changed descendants

# Markdown文件默认以编辑模式打开
settings---Languages & Frameworks---Markdown---Default layout---Editor

快捷键

先拷贝一份 keymap 的 Windows 配置,新命名为 Windows_Xuanyu

# 修改代码提示快捷键
settings---keymap---搜索框输入basic(idea默认的是Ctrl+空格,和我们输入法冲突)---Ctrl+B

# 设置全屏模式快捷键(即工具类 View 菜单下面的 Enter Full Screen)
settings---keymap---搜索框输入full screen(搜索到的是Toggle Full Screen mode)---F11

# 修改文件关闭快捷键
settings---keymap---快捷键搜索Ctrl+F4(搜索到的是Window--Editor Tabs--Close)---Ctrl+W

# 修改类方法列表快捷键
settings---keymap---快捷键搜索Ctrl+F12(搜索到的是Main menu--Navigate--File Structure)---Ctrl+O

Maven

settings---Build,Execution,Deployment---Build Tools---Maven---勾选Print exception stack traces,并选择本机Maven及本地仓库
settings---Build,Execution,Deployment---Build Tools---Maven---Importing---Automatically download---勾选Sources和Annotations
settings---Build,Execution,Deployment---Build Tools---Maven---Importing---JDK for importer---选择本机安装的1.8
settings---Build,Execution,Deployment---Build Tools---Maven---Runner---JRE---选择本机安装的1.8

settings---Build,Execution,Deployment---Compiler---Build project automatically

settings---Build,Execution,Deployment---Compiler---Shared build process heap size(Mbytes)---1024

datagrip的几个配置

数据库工具,常见的有 Heidisql、DBeaver、JookDB、Navicat,其实 JetBrains 家的 DataGrip 也挺好用

此处已适配:DataGrip-2021.2.2(2021.2.3版本起,要求登录JetBrains帐号,故无限试用插件也失效了)

idea.properties

idea.config.path=D:/Develop/JetBrains/xuanyuData/datagrip/config
idea.system.path=D:/Develop/JetBrains/xuanyuData/datagrip/system
idea.plugins.path=${idea.config.path}/plugins
idea.log.path=${idea.system.path}/log
idea.max.intellisense.filesize=2500
idea.cycle.buffer.size=disabled

64.exe.vmoptions

-XX:ReservedCodeCacheSize=512m
-Xmx1024m
-Xms1024m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=100
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off

快捷键等常见用法

快捷键 用途 备注
Ctrl + F5 刷新数据  
Ctrl + / 注释SQL 或者:Ctrl + Shift + /
Ctrl + Enter 执行SQL 未选中SQL的情况下,会弹框询问你执行哪条SQL
Ctrl + B 快速查看表结构 左侧表列表中,选中表,按下此组合键
Ctrl + Q 以纵向列的方式查看数据信息 选中此行,就会显示此行所有的字段值
Ctrl + N 快速导航到指定的表、视图、函数等 跟 idea 一样
Shift + Shift 可以搜索任何想搜索的内容 跟 idea 一样
# 结果集中设置字段值为NULL
在查询出来的结果集中,字段上右键,Set NULL,即可

# 查看本地历史SQL
查询控制台上,右键,Local History,Show History

# 关键字导航
查询控制台上,鼠标放到表名上(也可以是字段名或函数名),按下 Ctrl,再点击鼠标左键,就会立即定位到具体表上

# 多窗口查看结果
若希望查询在新的 tab 中展示,而保留当前查询出来的结果集,那么点击现有结果集上方的 Pin Tab(像针的图标)即可

常用配置

在欢迎界面,点击左侧 Customize,再点击 All settings,开始下列配置

注:有的配置可参考上方 idea 配置,故不再重复列出

# 执行光标所在的语句(此时SQL须以分号结尾,除非手动选中整个SQL,那时就会直接执行选中的SQL)
settings----Database---General---Execute---When inside statement execute---Smallest statement

# 设置SQL方言(创建个项目,进去后,才会显示该配置)
settings----Database---SQL Dialects---Global 和 Project 级别的都设置成 MySQL

# 其实 datagrip 也有工作空间和项目的概念(欢迎屏幕上能看见,默认个人目录),可通过下面配置来自定义
settings---Appearancd & Behavior---System Settings---Default project directory

# 消除绿框(默认在手写SQL时,会有一个绿框跟随着)
settings---Editor---Code Scheme---Database---Console---Statement to execucte---取消勾选Effects

# 关键词大写
settings---Editor---Code Style---SQL---General---Case选项卡---Word Case---Keywords---To Upper

# 连接数据库失败(serverTimezone改成上海,还能避免SQL查询出的时间比真实落库时间早 8 个小时的问题)
标题栏---File---Data Sources...---Drivers---MySQL---设置本地 jar 及 serverTimezone=Asia/Shanghai

# 表名后面显示注释
标题栏---View---Appearance---Details in Tree View

字符集连接问题

当数据库服务端设置为 UTF8MB4 后

datagrip 在操作数据库时,可能会提示下面信息:

llegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation ‘=’

解决办法就是在数据库连接 URL 上增加:connectionCollation=utf8mb4_general_ci


Content