为什么Eclipse Kepler中的Scala编译器抱怨sbt源?

时间:2014-07-31 04:19:11

标签: eclipse scala sbt

我克隆了最新版本的sbt's sources from the git repository并开始浏览Scala代码。我正在使用Eclipse(Kepler),Scala编译器似乎在util/collection/src/main/scala中阻塞了几个文件。

例如,TypeFunctions.scala包含the trait ~>,其中有两种方法具有奇怪的名称

如果我对文件使用UTF-8编码,这个奇怪的字符只显示为单个符号。二进制编辑器将其显示为这3个十六进制值的序列:E2 88 99

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

tl; dr 使用UTF-8作为来源或切换到IntelliJ IDEA

我以前从未查看过这个文件,也没有发现它是一个问题。主要是因为我使用的IntelliJ IDEA默认使用UTF-8,final def显示正常。

特征~>sbt publishLocal时也可以正常构建,所以对于源文件而言,使用平台相关编码的Eclipse IDE似乎更多是源代码本身。

您的问题有一个更简单的答案 - 使用看似更好的IDE,即IntelliJ IDEA或将编码更改为UTF-8。

P.S。 Scala人喜欢为他们的val选择奇怪的名字,所以习惯它:)

答案 1 :(得分:0)

正如我今天终于发现的那样,我可以在Does the Scala compiler work with UTF-8 encoded source files?找到我的问题的答案。添加额外的Scala编译器命令行参数(如此处所述),并确保项目的文件使用UTF-8编码后,事情就开始起作用。