如何解决IntelliJ Idea重构时识别非项目文件的问题?
我之前碰到过几乎一模一样的糟心问题,折腾了好一阵才找到几个可行的解决方向,你可以挨个试试:
检查SDK的源码路径配置:有时候IDE会误把系统JDK的源码或者全局SDK里的无关目录当成项目关联内容。你可以打开
File > Project Structure > SDKs,切换到Sourcepath标签页,看看是不是列了不该有的路径。如果有,选中那些无关路径点右侧减号删掉,保存配置后重启IDE试试。清理IDE缓存并重启:IntelliJ的缓存偶尔会抽风导致识别混乱。试试
File > Invalidate Caches...,选择Invalidate and Restart,等IDE重启完成后再执行重构操作,很多奇怪的识别问题都能这么解决。调整重构的作用范围:执行重命名重构时,弹出的对话框里有个
Scope选项,默认可能是Project and Libraries。你可以把它改成Project Files,或者自定义一个只包含你项目文件的范围,这样IDE就不会扫描外部的只读代码了。检查模块依赖与排除设置:去
File > Project Structure > Modules,选中你的项目模块,看Dependencies标签页有没有不必要的外部库依赖;再切换到Sources标签页,确认那些无关的文件夹已经被标记为Excluded。如果之前添加排除没生效,试试先把它们从内容根目录移除,再重新添加排除。关闭外部库的自动索引:打开
Settings > Build, Execution, Deployment > Compiler > Excludes,把那些引发问题的外部库目录添加到排除列表,让IDE不再对它们进行索引和扫描,从根源上避免被纳入重构范围。
这些方法应该能帮你彻底摆脱那个烦人的Non-Project Access对话框,毕竟从根源上让IDE忽略那些无关代码,比纠结对话框的选项有用多了。
内容的提问来源于stack exchange,提问作者Dan M.




