2016-08-25 66 views
0

有人可以向我解釋爲什麼IntelliJ決定用enter image description here符號標記我的一些類嗎?爲什麼IntelliJ將我的課程標記爲J?

我在同一個包中有多個類,有些標有enter image description here而其他標有enter image description here

我不會介意enter image description here不會導致課程着色,更重要的是捷徑停止工作(!),例如Find usages ALT+F7

enter image description here

* .iml配置文件:

<content url="file://$MODULE_DIR$"> 
    <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> 
    <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> 
    <excludeFolder url="file://$MODULE_DIR$/target" /> 
</content> 

注意這是之前(昨天)正常工作。剛剛發生在今天。 maven項目正確構建。這些課程是正確的。

回答

3

文件標有enter image description here的行家模式是java源文件呈現在一個目錄 - 從標源根(或它的子目錄)的IntelliJ。

標記爲enter image description here的文件是Java源文件存在於未被IntelliJ標記爲源根目錄(或其子目錄)的目錄中。

通常,圓形圖標與IntelliJ作爲源識別的目錄中的文件相關,正方形是不在源目錄中的文件。

因爲你可以看到下面鏈接的每個圖標的完整描述:

  • Symbols - 在這裏你可以找到enter image description here圖標
  • File Types - 在這裏你可以找到enter image description here圖標

如果文件不在標記爲源根的目錄樹下,則它只是一個文件。

相反,如果文件位於標記爲源根目錄樹的目錄樹下,則該文件將被識別爲類,註釋,接口或枚舉,並且由於是源的一部分,因此可以使用命令Find Usages ALT+F7來查看該文件。


附加說明。如果文件具有擴展名java,但不是java類(例如,如果該文件爲空),則該圖標爲enter image description here,如果它存在於標記爲源樹的樹中,則IntelliJ無法理解它是否爲類,枚舉,一個接口或不同的東西。

因此請檢查標記爲enter image description here的文件的內容。例如,有可能類的聲明是錯誤的。

例如文件MyClass.java與此內容

public clas MyClass { 
} 

,與圖標enter image description here,因爲類的聲明是錯誤的。

糾正以下變化也圖標enter image description here

// Added an s to class 
public class MyClass { 
} 
+0

我張貼的包樹和java目錄標記爲源文件夾。它們與類文件存在於同一個目錄中,但是標記爲J. –

+0

我明白了。嘗試關閉並重新打開IntelliJ以查看它是否有效。 –

+0

我在我的IntelliJ上做了一個測試,我更新了答案以告訴你什麼時候發生。 –

相關問題