如何防止IntelliJ删除导入语句

时间:2019-01-03 21:22:40

标签: java intellij-idea

我正在修斯坦福大学算法课程(通过Coursera)。本课程将IntelliJ用作编程环境,并为此课程构建了一些库。特别是,它使用一些StdOut和StdIn库来处理标准输出和输入。

如果我只是编写我的代码并尝试通过终端进行编译,它将抛出错误

  

错误:找不到符号;符号:变量StdOut。

我发现可以通过添加导入语句来解决该问题:

import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

但是,IntelliJ会在我添加它们后立即删除它们。但是,如果我再次编译,它会编译而没有错误,因此IntelliJ似乎正在导入这些库,然后删除语句。

问题是,如果我关闭并重新打开项目,然后再次编译,它将再次给我丢失的符号错误,这迫使我重新编写导入语句。

我的问题是,我不喜欢每次关闭和打开项目时都重新编写这些语句的想法,我只想让IntelliJ停止弄乱我的代码并将语句留在那里。由于我只是一个初学者,所以我想集中精力学习算法,而不是与IntelliJ功能对抗。因此,我可以完全禁用任何类型的自动导入,并且可以手动处理所有导入。

我去了设置/编辑器/常规/自动导入,基本上禁用了所有内容,但是IntelliJ仍然删除了我的导入语句。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

实际上并没有删除您的导入语句,只是folding。换句话说,它只是不显示导入语句所在的行,主要是为了提高可读性。 您可以通过以下方式禁用此行为: 禁用以下内容:

Settings -> Editor -> General -> Code Folding -> Imports

但是,如果intelliJ确实删除了这些行,请禁用以下内容:

Settings -> Editor -> General -> Auto Import -> Optimize imports on the fly