Eclipse:通过代码设置"Text file encoding"

Eclipse: Set "Text file encoding" by code

我编写了一个 Eclipse 插件以设置一个新的 Java 项目,该项目准备了我们每次创建新项目时所需的文件和库以及其他内容。 现在我想设置“文本文件编码=UTF-8”和“新文本文件分隔符=Unix”。

对于“文本文件编码”,我是通过以下方式完成的:

IProject project = ...
project.setDefaultCharset("UTF-8", null)

然后在 Project->Properties->Resource 中将其设置为 UTF-8。

我的问题: 但是我没有找到允许我对“文本文件定界符”执行相同操作的 IProject-Method。 org.eclipse.core 也可以做到这一点吗?

这只是在首选项值中设置的。

此代码在 org.eclipse.ui.internal.ide.LineDelimiterEditor 中,它使用:

String val = ... line separator ...

Preferences node = Platform.getPreferencesService().getRootNode().node(ProjectScope.SCOPE)
      .node(project.getName()).node(Platform.PI_RUNTIME);

node.put(Platform.PREF_LINE_SEPARATOR, val);

node.flush();

注意:由于这是内部 class,因此不能保证在所有版本中都相同。