IDEA的一些坑(持续更新)

1 篇文章 0 订阅

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运行按钮代码或调试按钮点击后无响应,变为灰色,不能恢复,重启后依旧,无法执行任何代码

第一次出现此问题,清缓存重启恢复了。
但第二次出现这个问题,尝试了包括重启,清缓存重启,还原代码,均不能解决问题。
又尝试了以下链接的各种方法
https://zhuanlan.zhihu.com/p/75231714
https://blog.csdn.net/u013862444/article/details/77833452
http://cn.voidcc.com/question/p-vusfldio-sw.html
依旧无效
查看idea日志,又无任何报错,最终,新建一个项目,又能正常使用了,尝试把项目代码重新导入,恢复。
此问题很大可能为IDEA自身bug,由于没有报错日志,很难排查到具体原因,发生条件也很随机。

IDEA滚动条跳动,无法往下拉

最初搜到这种方式https://www.iteye.com/blog/hualong-2114381,提到屏幕取词软件兼容性问题,但本机有安装有道词典,但没有打开,也未后台运行,直接删除后,还是没有恢复,重启ide后恢复。

IDEA配置spring mvc web项目问题

maven多模块,spring mvc maven项目不能正确识别为web项目,导致使用本地tomcat启动后web项目也不能正常使用。
可能的原因:
webroot默认目录和实际webroot地址不一致,导致idea不识别
解决方案
在File-ProjectStructure-Facets里添加Web,手动选择web.xml和webroot的位置,但某些情况下idea内置tomcat识别还是有问题,所以建议引入jetty或tomcat jar包,手动指定相关配置,直接启动,这样可以不依赖idea

<!-- jetty -->
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-webapp</artifactId>
</dependency>

<!-- tomcat -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-logging-juli</artifactId>
</dependency>

查看字节码

View -> Show Bytecode

配置External tools

Settings -> Tools -> 打开的窗口点 +
Name 随意,如javap
Program 填 javap.exe 绝对路径
Arguments 填 -v $FileClass$
Working directory 填 $OutputPath$
使用时在文件点右键 External tools ,选javap(name)

某些文件夹看不到

项目重复导入可能会导致部分文件夹看不到,可以在ProjectStructure/modules/项目模块/sources中,具体参考 https://www.cnblogs.com/lwl80/p/13562891.html

其他常用信息

idea日志位置:菜单Help->show log in explorer(finder),打开的文件夹中idea.log即是

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值