如果你是开发 Java Web 项目最好的方案是 8G 内存或是以上,硬盘能再用上固态是最好的,因为 IntelliJ IDEA 有大量的缓存、索引文件,把 IntelliJ IDEA 的缓存、索引文件放在固态上,IntelliJ IDEA 流畅度也会加快很多。
IntelliJ IDEA 相关核心文件和目录介绍
安装目录介绍
- IntelliJ IDEA 的安装目录并不复杂,上图为最常改动的 bin 目录,经常会改动的文件或是必须介绍就是如图红色框中的几个。
- idea.exe 文件是 IntelliJ IDEA 32 位的可行执行文件,IntelliJ IDEA 安装完默认发送到桌面的也就是这个执行文件的快捷方式。
- idea.exe.vmoptions 文件是 IntelliJ IDEA 32 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。
- idea64.exe 文件是 IntelliJ IDEA 64 位的可行执行文件,要求必须电脑上装有 JDK 64 位版本。64 位的系统也是建议使用该文件。
- idea64.exe.vmoptions 文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。
- idea.properties 文件是 IntelliJ IDEA 的一些属性配置文件,具体配置修改会下面进行专门讲解。
设置目录介绍
- 在安装完成之后,会自动在个人目录下生成设置目录,IntelliJ IDEA 的设置目录命名是统一的、有规律:.IntelliJ IDEA14。其中 14 表示大版本号,如果你电脑上还同时装有 13 的版本,那则还应该会有一个:.IntelliJ IDEA13 的设置目录,其他版本道理一样。
- 对于这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你再生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
- config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。也是我个人认为最重要的目录,没有之一。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。
- system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但是也是最不可或缺目录之一。
配置文件常见修改内容说明
- 上图是 64 位可执行文件的 JVM 配置文件内容,如果你是 32 位的系统你应该修改的是idea.exe.vmoptions 文件里面的内容,但是由于 32 位系统内存一般都是 2G 左右的,所以也没有多大空间可以调整,所以一般无需调整的。
- 修改的原则主要是根据自己机器的内存情况来判断的,建议 8G 以下的机子或是静态页面开发者都是无需修改的。如果你是开发大型项目、Java 项目或是 Android 项目,并且内存大于 8G,建议进行修改,常修改的就是下面 4 个参数,我这里主要以我的机子会例进行建议,每个人机子情况不一,这里也只是做一个引子,最好的调整方式是你可以根据 jconsole 这类工具进行观察后个性化调整。
- -Xms128m,16 G 内存的机器可尝试设置为 -Xms512m
- -Xmx750m,16 G 内存的机器可尝试设置为 -Xmx1500m
- -XX:MaxPermSize=350m,16G 内存的机器可尝试设置为 -XX:MaxPermSize=500m
- -XX:ReservedCodeCacheSize=225m,16G 内存的机器可尝试设置为
- -XX:ReservedCodeCacheSize=500m
- 上图是 IntelliJ IDEA 一些属性配置,没有 32 位和 64 位之分,修改原则主要根据个人对 IntelliJ IDEA 的个性化配置情况来分析。常修改的就是下面 4 个参数:idea.config.path=${user.home}/.IntelliJIdea/config,该属性主要用于指向 IntelliJ IDEA 的个性化配置目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。
- idea.system.path=${user.home}/.IntelliJIdea/system,该属性主要用于指向 IntelliJ IDEA 的系统文件目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。如果你的项目很多,则该目录会很大,如果你的 C 盘空间不够的时候,还是建议把该目录转移到其他盘符下。
- idea.max.intellisense.filesize=2500,该属性主要用于提高在编辑大文件时候的代码帮助。IntelliJ IDEA 在编辑大文件的时候还是很容易卡顿的。
- idea.cycle.buffer.size=1024,该属性主要用于控制控制台输出缓存。有遇到一些项目开启很多输出,控制台很快就被刷满了没办法再自动输出后面内容,这种项目建议增大该值或是直接禁用掉,禁用语句 idea.cycle.buffer.size=disabled。
设置目录进行多台设置同步化处理
- 上图是我的个性化配置目录,我是存放在 F 盘,同时该目录也是在 360 同步盘中。这样做主要是为了让我的多台设置可以同时使用一个个性化配置,保证个人开发习惯,额外作用就是在服务器上一个备份作用。
- 设置方式很简单,修改 idea.properties 属性文件中的 idea.config.path 值,我的机器为:idea.config.path=F:/360SycDir/idea_config/config
重点说明:IntelliJ IDEA 是没有类似 Eclipse 的工作空间的概念(Workspaces
),最大单元就是Project
。如果你同时观察多个项目的情况,IntelliJ IDEA 提供的解决方案是打开多个项目实例,你可以理解为开多个项目窗口。
对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引过程中可能必须会卡顿,所以强烈建议创建索引过程最好不要动项目。
需要修改 IntelliJ IDEA的主题以及主题字体:
File -- Settings -- Appearance & Behavior -- Appearance
需要修改 IntelliJ IDEA的代码编辑字体:
File -- Settings -- Editor -- Colors & Fonts -- Font
- 如上图标注 1 所示,默认 IntelliJ IDEA 是不能直接在默认的代码模板上修改字体的,需要先 Save As 一份出来,然后才可以修改。这种设计在 IntelliJ IDEA 其他很多设置也是如此的,所以如果你还看到类似有Copy、Save As 这类选项的按钮就要想到是此设计思想。
- 如上图标注 2 所示,勾选的 Show only monospaced fonts 表示筛选显示系统上的等宽字体。由于 Windows 系统上等宽字体并不多,勾选此选项出现的下拉字体可选择就很少。取消勾选之后,就可以显示系统上所有已安装的字体。
- 如上图标注 3 所示,其中编码字体有第一字体(Primary font) 和 第二字体(Secondary font)之分。当有些字符在第一字体支持不了的时候,会去使用第二字体进行支持。
- 我个人习惯上:英文字体使用 Monaco,由于此字体不支持中文,所以我把这个设置为第一字体,第二字体使用 Yahei Consolas Hybrid 进行支持,该字体含有中文。这两个字体都不是系统自带的,需要自行下载安装。
- 如果你的第一字体不包含中文的话,第二字体包含中文,那在有些地方也还是会出现 口口口口口 这类问题,比如 Ctrl + Shift + N 进行查找文件的时候,如果你输入中文也会变成 口口口口口 ,我个人文件名为中文的不多,所以就容忍了这种情况。如果你不愿意容忍这种情况,那还是回到最开始的要求:第一字体包含中文。
- 需要修改 IntelliJ IDEA的控制台输出字体:
File -- Settings -- Editor -- Colors & Fonts -- Console Font
-
有很多 IntelliJ IDEA 新人在做输出的时候出现乱码原因就是因为没有在这里进行设置。
需要修改 IntelliJ IDEA的编辑区主题:
File -- Settings -- Editor -- Colors & Fonts
需要修改 IntelliJ IDEA的编辑区主题细节:
File -- Settings -- Editor -- Colors & Fonts -- General
- 上图标注 1 为可修改的通用细节内容
- 上图标注 2 为可修改属性,其中并不是每个细节都可以修改所有属性的。比如细节:Default text 是可以勾选 Bold,而 Caret row 则是无法勾选 Bold,因为只有文本才有加粗的属性需求。
- 上图标注 3 为修改后的预览区,预览区是实时动态展示的。
- 在 General 区,我常修改的有:
- Default text,指的是默认代码文本,我一般会修改其 Background 属性。
- Caret row,指的是光标所在行,我一般会修改其 Background 属性。
- Vertical indent guide,指的是垂直缩进线,我一般会修改其 Foreground 属性。
- Identifier under caret,指的是光标所在位置的相同标识符呈现什么效果,我一般会修改其Background 属性。
- Text search result,指的是在查找模式下,匹配字符的样式,我一般会修改其 Background 属性。
需要修改 IntelliJ IDEA的文件编码:
File -- Settings -- Editor -- File Encodings
- 上图标注 1 所示,IDE 的编码默认是 UTF-8,Project Encoding 虽然默认是 GBK,但是一般我都建议修改为 UTF-8。
- 上图标注 2 所示,IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion,
- 上图标注 3 所示,对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
- 上图标注 4 所示,IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要 Convert 编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。
由于编码问题引起的编译错误
- 报错:
找不到符号
、未结束的字符串文字
等的解决办法:
- 由于 UTF-8 编码文件有分
有BOM
和无BOM
之分,默认情况下 IntelliJ IDEA 使用的编译器是javac
,而此编译只能编译无BOM
的文件,有很多 Eclipse 用户在使用 IntelliJ IDEA 开发 Eclipse 项目的时候常常会遇到此问题。主要是因为 Eclipse 的编译器是Eclipse
,此编译器支持有BOM
的文件编译。顾,解决办法是对于此文件进行 BOM 去除。 - 批量去除 BOM,你可以 Google:
批量去除 BOM
、批量转换无 BOM
等关键字。 - 除了通过去除 BOM 还有设置 IntelliJ IDEA 的编译器为
Eclipse
,但是一般不建议这样做。 - 如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是
UTF-8
,报错文件编码也是是UTF-8
无 BOM
的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在:/
项目目录/.idea/encodings.xml
。如果你会修改此文件可以进行修改,如果不会,那就删除掉.idea
整个目录,重启 IntelliJ IDEA 重新配置这个项目即可。