Eclipse、JavaScript、UTF-8和选项卡(在mac上)
我通过spaces2tabs转换器运行了一些javascript文件(ps我正在移植到coffeescript,这就是我需要tabs的原因——后来我放弃了coffeescript) 工作起来很有魅力:用标签代替空格。在TextMate中外观完美,运行良好等。完全有效的UTF-8 唯一的问题出现在eclipse中,它是一团混乱 eclipse似乎无法处理我插入的\t。当最初打开文件时,eclipse会显示一个奇怪的字符,并用消息“Invalid character”标记这些选项卡以删除该标记。当我转到资源下的项目属性时,我将文本版本更改为utf-8,奇怪的字符消失了,但错误消息没有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”标记这些选项卡以删除该标记。当我
有没有一种简单的方法可以让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();
}