IDEA乱码问题
转为IDEA后,被这个乱码问题困扰了两天,最终解决了,写个文总结下。
我们的项目全部使用UTF-8,先出现的问题是新建文件不是UTF-8,先修改如下配置后正常
File->settings->Editor->File Encoding
将Project Encoding、IDE Encoding都改为UTF-8后,新建文件就是UTF-8了,文件编码可以在状态栏看到。如果以前用其他编码编写的代码会出现乱码,写个程序转下就好。
但改完后,控制台显示依旧是乱码,尝试修改编译器配置,如下:
Settings->Build,Execution,Deployment->Compiler->Additional build process VM options:
增加了-Dfile.encoding=UTF-8,仍然无效。
然后尝试在Maven选项中增加-Dfile.encoding=UTF-8,仍然无效。
后查到关于Idea testng单元测试乱码的解决,还可以更改idea的启动VM参数:
IEDA安装目录\bin 下编辑idea.exe.vmoptions,增加一行-Dfile.encoding=UTF-8,依旧无效。
网上搜了很多资料,还是改上面那些东西,没啥新发现。
突然看到前文中的为-Dfile.encoding=UTF8,UTF-8编码实际写的UTF8,中间没有短横杠,赶紧修改,重启IDEA,控制台终于显示正常。
但执行下面两行后,输出都为UTF-8带短横杆的,对idea.exe.vmoptions里为何不识别带横杠的UTF-8很费解
System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));
IDEA特殊字符不可见问题
某次将某些代码临时拷贝到mac自带便签工具,拷贝回来后,代码突然报错,由于中间还编辑了一些其他代码,仔细检查后并未发现语法错误,但IDEA一直提示unexpected token。
怀疑是不可见字符引起,于是把代码发送至同事windows系统下的eclipse下,不可见字符终于显现出来真身了,一个方框,里面一个问号。
解决方法:plugin中可以搜到一个插件Zero width characters locator ,不过安装后依旧不能让不可见字符显现。
临时解决办法:侧边栏滚动条 的语法检查错误提示浮动窗口里,可以查看到哪有不可见字符,按指示删除即可。
IDEA缓存问题
有时IDEA运行过久、项目开过多、手动添加修改一些配置,新导入的或者更换过依赖的项目会出现jdk不识别、maven的pom.xml检查多遍是正确的,但是仍然有些类无法被识别等错误。
这时候可能是IDEA缓存出现问题,可以强制删除缓存,点击如下选项:
File->Invalidate Caches/Restart...
#源码文件语法错误不提示,编译后才提示语法错误
需要打开自动编译选项,具体位置:
File->Other Settings->Default Settings->
Build,Execution,Deployment->Compiler->勾选 Make project automatically
还有两种情况也不会提示语法错误:
Power Save Mode打开时,即使设置了以上选项;
打开项目过多,机器编译速度较慢,导致还没有编译到相应文件时,便运行程序,也不会自动提示。
git或svn等源码控制软件,更新源码后,同文件内容不同步,仍然为旧内容
IDEA运行一段时间后,如果机器内存较小,运行缓慢,或者打开项目过多,会出现以上情况。
可以手动同步下磁盘文件,选项在
File->Synchronize
点击后,强制同步磁盘文件
其他常用信息
idea日志位置:菜单Help->show log in explorer(finder),打开的文件夹中idea.log即是
|