IntelliJ Idea在Mac OSX上区分大小写的文件名问题

9

我的Java项目中有一些文件名称相同但大小写不同的情况(Test.java和test.java)。我在我的Mac上设置了一个区分大小写的文件系统,可以通过CLI查看/编辑它们。然而,Intellij Idea没有将它们视为不同的文件,并且编译失败了。我该怎么样修复Intellij Idea以便对文件名进行大小写敏感处理?

谢谢。


除非你有一个非常非常好的理由要这样做,否则不要这样做!你的文件名意味着一个类名为“Test”,另一个名为“test”,这违反了命名约定。在不能区分大小写的文件名称系统上,您将无法构建应用程序等等。 - Thomas Stets
修复这个问题的正确方法是遵循Java命名规范。1)永远不要以小写字母开头命名类。2)不要创建名称仅在大小写字母上有区别的类。如果你这样做,你就不会有这个问题。你也不必一直处理同事、客户和其他需要阅读代码的人对你的代码风格的抱怨。 - Stephen C
这是一个企业级代码库。test.java是由自定义构建过程创建的Test.java的输出。我在RHEL平台上工作,这不是问题。无论Java类命名约定如何,在区分大小写的文件系统上不遵守大小写敏感性的应用程序都不是正确的行为。应用程序中有一些非Java文件,名称类似于“Test”和“test”。Idea也无法区分它们。 - Satadru Biswas
3个回答

22
我向JetBrains提交了一个支持请求。以下是答复:

将"idea.case.sensitive.fs=true"添加到bin/idea.properties文件中 (https://intellij-support.jetbrains.com/entries/23395793 ), 执行文件 | 无效缓存并重新启动IDE。

对我来说,它解决了这个问题。

更新: 2015-02-14 / Idea 14.0.3

不再仅通过在idea.properties文件中添加属性即可。请将-Didea.case.sensitive.fs=true 添加到 "Settings | ... | Java Compiler | Additional command line parameters" 中。


1
我在我的idea.properties文件中添加了idea.case.sensitive.fs=true,但仍然收到这个错误。你能帮我解决吗? - kuchar

1

要更新大小写敏感设置,您可以在Shell中运行以下命令(路径对于InteliJ需要更改,因为我使用php storm,但应适用于Jet Brains产品):

echo idea.case.sensitive.fs=true >> /Applications/PhpStorm.app/Contents/bin/idea.properties

获取错误:没有这样的文件或目录。需要帮助吗? - Nilkamal Gotarne
你可以通过终端逐级 CD 进入每个目录来找到文件路径。你使用的是 PHP Storm 还是 Intelij(在 /Applications/${your flavour}/... 之后可能需要更改路径)。 - user1095118

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接