在inelliJ

时间:2017-09-02 10:24:36

标签: java intellij-idea intellij-idea2017

我当前的系统(MacOS 10.10.5)配置为:

IntelliJ IDEA 2017.2.2
#Built on 9August,2017

java version "9"
Java(TM) SE Runtime Environment (build 9+181)

每次我开始处理一个项目(目前是1.8.0_65)并使用

编写一个类
List<String> example = new ArrayList<>(); 

=&GT;如果我点击List =&gt;的自动建议提示导入类

引入的默认导入语句是

import com.sun.tools.javac.util.List;

虽然我希望它是:

import java.util.List;

我有什么配置可以解决,或者这是我正在使用的组合中的一些错误?想了解哪些设置优先于sun包上的java包?

注意 :已经完成了Any way (or shortcut) to auto import the classes in IntelliJ IDEA like in Eclipse?的回答,但是当我输入List时我获得的选项不包括在我的案例中来自java.util

编辑 java.util.List的导入不会丢失,我可以手动导入。

2 个答案:

答案 0 :(得分:11)

我遇到了类似的问题,stages { stage('Test') { when { // Some expression that states "not master" } steps { sh "mvn -B clean verify" } } stage('Test-and-Deploy') { when { branch 'master' } steps { sh "mvn -B deploy" } } } 没有出现在完成列表中。事实证明我已经以某种方式将其添加到导入和完成排除列表中。在某些时候,我的手指必须在快速动作弹出中滑动。

也许同样的事情发生在你身上。打开“设置”对话框,然后在此处找到您的方式:

Settings > Editor > General > Auto Import

然后,查找此排除导入列表:

Exclude from Import and Completion

查看该列表中是否显示java.util.Arrays,如果是,请将其删除。

排除java.util.List后,java.util.List可能是类路径中唯一的其他com.sun.tools.javac.util.List类型。如果你有&#34;动态添加明确的导入&#34;启用选项后,IntelliJ会在不询问的情况下导入List类。

答案 1 :(得分:1)

我不认为有这样的选择可以选择一个包而不是另一个包来导入类。

相反,您可以从自动导入中排除com.sun.tools.javac.util.List。为此,请在Class to Import窗口中点击右侧的箭头,然后点击Exclude com.sun... from auto-importexclude auto-import popup

之后,java.util.List应该是导入的第一选择。如果以后需要删除一些排除的导入,您可以转到偏好设置> 编辑> 常规> 自动导入找到他们。