2017-09-02 32 views
3

我現在的系統(MacOS的10.10.5)的配置是:默認進口太陽而不是Java包inelliJ

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<>(); 

=>如果我點擊自動提示尖端List =>導入類

介紹默認import語句是

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

,而我希望它是:

import java.util.List; 

有沒有辦法,我可以糾正或者這是我使用的是組合了一些bug任何配置?想知道java軟件包中的設置優先於sun包嗎?

:走過了Any way (or shortcut) to auto import the classes in IntelliJ IDEA like in Eclipse?的答案,但是當我鍵入List不包括java.util在我的案件之一,我得到的選項了。

編輯:爲java.util.List進口是不缺的,我可以手動導入相同。

回答

4

我有一個這樣的問題,java.util.Arrays沒有顯示在完成列表中。原來我以某種方式將它添加到導入和完成排除列表中。在某個時候,我的手指一定會彈出一個快速彈出的對話框。

也許同樣的事情發生在你身上。打開設置對話框,找到你在這裏的方式:

Settings > Editor > General > Auto Import

然後,查找排除進口名單:

Exclude from Import and Completion

看看java.util.List在該列表中顯示出來,如果是這樣, 去掉它。

排除java.util.Listcom.sun.tools.javac.util.List可能是您的類路徑中唯一的其他List類型。如果你有「啓用添加明確導入」選項,IntelliJ然後將導入sun類,甚至不問。

+0

有時候,當你沒有意識到只需按下幾次按鈕和鼠標點擊就可以改變時,它可能會非常痛苦。感謝您對此進行調試。 – nullpointer

1

我不認爲有這樣的選擇,喜歡一個包比另一個導入類。

相反,您可以從自動導入中排除com.sun.tools.javac.util.List。要做到這一點,在Class to Import窗口中,單擊箭頭在右邊,然後Exclude com.sun... from auto-importexclude auto-import popup

之後,java.util.List應該是進口的首選。如果以後你需要刪除一些排除進口的,你可以去>編輯>一般>自動導入找到他們。

+0

* java.util.List應該是導入的第一選擇。*現在甚至沒有選擇是我關心的問題。無論如何,我都不想優先考慮'sun' package import。 – nullpointer

+0

也許嘗試取消選中**自動導入**設置中的「在飛行中添加明確導入」選項? – Jonathan

+0

這也已被取消選中。 – nullpointer