Eclipse、JavaScript、UTF-8和选项卡(在mac上)

Eclipse、JavaScript、UTF-8和选项卡(在mac上),javascript,eclipse,utf-8,Javascript,Eclipse,Utf 8,我通过spaces2tabs转换器运行了一些javascript文件(ps我正在移植到coffeescript,这就是我需要tabs的原因——后来我放弃了coffeescript) 工作起来很有魅力:用标签代替空格。在TextMate中外观完美,运行良好等。完全有效的UTF-8 唯一的问题出现在eclipse中,它是一团混乱 eclipse似乎无法处理我插入的\t。当最初打开文件时,eclipse会显示一个奇怪的字符,并用消息“Invalid character”标记这些选项卡以删除该标记。当我

我通过spaces2tabs转换器运行了一些javascript文件(ps我正在移植到coffeescript,这就是我需要tabs的原因——后来我放弃了coffeescript)

工作起来很有魅力:用标签代替空格。在TextMate中外观完美,运行良好等。完全有效的UTF-8

唯一的问题出现在eclipse中,它是一团混乱

eclipse似乎无法处理我插入的\t。当最初打开文件时,eclipse会显示一个奇怪的字符,并用消息“Invalid character”标记这些选项卡以删除该标记。当我转到资源下的项目属性时,我将文本版本更改为utf-8,奇怪的字符消失了,但错误消息没有


有没有一种简单的方法可以让eclipse开心呢?

似乎是eclipse中的一个bug。。。据我所知,没有修复…

在关闭/重新打开Eclipse之后,错误消息是否仍然存在?如果删除并重新导入Eclipse项目,则没有尝试。我更改的设置是在项目上,因此我对删除和重新导入策略持怀疑态度。我应该说,我已经尝试在不同的FS位置的不同项目中重新加载它,并且标签一直被标记-顺便说一句,谢谢你的帮助!

    public static String convertSpacesToTabs(String str, int spacesPerTab) {
        assert (spacesPerTab >= 1);
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i = 0) {
            //System.out.println("old: " + oldIdx + " new: " + newIdx);
            sb.append(str.substring(oldIdx, newIdx));
            sb.append('\t');
            oldIdx = newIdx + toFind.length();
            newIdx = str.indexOf(toFind, oldIdx);
        }
        sb.append(str.substring(oldIdx, str.length()));
        return sb.toString();
    }