有人可以向我解释为什么IntelliJ决定使用符号标记我的某些课程吗?
我不介意不会导致课程失去色彩,更重要的是快捷方式停止工作(!),例如Find usages ALT+F7
。
* .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项目正确构建。这些课程是正确的。
答案 0 :(得分:3)
标有的文件是java源文件,显示在来自intelliJ的源根目录(或其子目录)的目录中。
标有的文件是源自IntelliJ的未标记为源根目录(或其子目录)的目录中的java源文件。
通常,圆形图标与IntelliJ中识别为源的目录中的文件相关,方块是不在源目录中的文件。
有关每个图标的完整说明,您可以看到以下链接:
如果文件不在标记为源根的目录树下,则它只是一个文件。
相反,如果文件位于标记为源根目录树的目录树下,则会将其识别为类,注释,接口或枚举,并且使用命令Find Usages ALT+F7
可以看到它,因为它是源的一部分。 / p>
补充说明。如果文件具有扩展名java,但不是java类(例如,如果文件为空),则图标也是,如果存在于标记为源树的树中,因为IntelliJ无法理解它是否为一个类,一个枚举,一个接口或不同的东西。
例如,具有此内容的文件MyClass.java
public clas MyClass {
}
// Added an s to class
public class MyClass {
}
答案 1 :(得分:0)
存放java文件的目录不是源代码目录。
您可以在Intellij中标记目录。
这里描述https://www.jetbrains.com/help/idea/2016.2/configuring-content-roots.html
您也可以右键单击目录并使用标记目录。
如果你使用maven项目,你应该遵循maven模式的目录
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html