导出 Eclipse XML 格式化规则?

Posted

技术标签:

【中文标题】导出 Eclipse XML 格式化规则?【英文标题】:Export the Eclipse XML Formatting Rules? 【发布时间】:2010-03-11 10:26:13 【问题描述】:

有没有办法在 Eclipse 3.5 Galileo (Java EE Package) 中导出XML > XML Files > EditorWindow > Preferences 对话框中定义的设置? Eclipse 在哪里存储这些设置?

现在我收到了eclipse_xml_format.epf,内容如下

/instance/org.eclipse.wst.xml.core/lineWidth=120
/instance/org.eclipse.wst.xml.core/indentationChar=space
/instance/org.eclipse.wst.xml.core/indentationSize=4

但是我不能导入这个文件!

【问题讨论】:

你使用的是哪个版本的eclipse?我没有“XML > XML 文件 > 编辑器” Eclipse 3.5 伽利略 JEE。将此添加到描述中。 【参考方案1】:

记录这些 XML 设置的文件是:

<workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.wst.xml.core.prefs

即:

org.eclipse.wst.xml.core.prefs, 在org.eclipse.core.runtime\.settings 目录中 你的工作空间

因此,即使您无法直接导出它们,您至少可以将该文件与另一个工作区设置文件复制/合并,以 XML 设置的方式重新导入;


话虽如此,如果您导出所有首选项,它们将保存在您选择的 .epf 文件中。

所有以/instance/org.eclipse.wst.xml.core 开头的行都很有趣:

/instance/org.eclipse.wst.xml.core/indentationChar=space

因此您可以删除所有其他行,然后重新导入此 epf 文件,其中仅包含 XML 设置。

注意:要重新导入“已清理”的导出文件(至少在 eclipse3.5 中),它必须包含 file_export_version=3.0 行(.epf 文件中的任何位置)。

#Thu Mar 11 13:33:16 CET 2010
/instance/org.eclipse.wst.xml.core/lineWidth=119
/instance/org.eclipse.wst.xml.core/indentationChar=space
/instance/org.eclipse.wst.xml.core/indentationSize=4
file_export_version=3.0

会重新导入成功

【讨论】:

好的,这真的很棒。现在我有一个只包含所需属性的文件。但它们无法重新导入,我更改了我的问题文本以向您展示我的文件。我更改了文件中 lineWidth 的值,尝试重新导入,但没有任何改变! @chrsk:是的。我已经更新了我的答案以反映正确的首选项文件格式(并且我已经设法通过尊重该格式重新导入和重新应用 XML 设置)【参考方案2】:

好的,对于那些懒得从 epf 文件中删除所有其他属性的人来说。这是一个为您执行此操作的小型 groovy 脚本。

def output = new File("eclipse_xml_format.epf")
new File("eclipse.epf").eachLine  line, number ->
    if(line.startsWith("/instance/org.eclipse.wst.xml.core")) 
         output.append(line + "\n")
    


output.append("file_export_version=3.0")

也许有帮助。

【讨论】:

以上是关于导出 Eclipse XML 格式化规则?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将 Eclipse 格式化程序配置文件 XML 导出到 .prefs

Eclipse 导入 conf .xml 文件

freemarker根据模板生成word文件实现导出功能

freemarker根据模板生成word文件实现导出功能

Eclipse C++ 格式化程序在方法标识符之前放置新行

在 Eclipse 中格式化 XML 代码