Eclipse:通过代码设置“文本文件编码”

问题描述

我写了一个Eclipse插件来建立一个新的Java项目,该项目中包含了每次创建新项目时所需的文件,库和其他内容。 现在,我还要设置“文本文件编码= UTF-8”和“新文本文件delimiter = 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();

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