【问题标题】:Eclipse: Import+Export actions in "Save Actions" optionEclipse:“保存操作”选项中的导入+导出操作
【发布时间】:2014-04-06 08:01:08
【问题描述】:

可以在Preferences->Java->Code Style->Clean Up处将清理设置导入+导出为xml文件。

我希望每次保存文件时都将这些设置应用于代码。

不幸的是,当我转到Preferences->Java->Editor->Save Actions 时,我没有导入+导出清理设置的选项(即使我可以选择手动配置它们)。 有没有办法导入+导出这些设置?

澄清:我的目标是创建我可以与我的团队成员共享的清理设置 xml,以便如果我们中的任何人保存文件,这些清理设置将自动应用于代码。

我正在使用 Eclipse 4.3 Kepler。

【问题讨论】:

    标签: java eclipse coding-style


    【解决方案1】:

    这些设置包含在“导出首选项”中,但仅当您指定“全部导出”时。

    似乎没有任何只导出这些设置的导出。

    这些设置存储在文件.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs 的工作区中,但它们又与许多其他设置混合在一起。

    【讨论】:

    • 您认为可以手动编辑导出的 .epf 文件并删除所有不相关的首选项吗?当然,它仍然对导入有效。
    • 所有行似乎都以/instance/org.eclipse.jdt.ui/sp_cleanup. 开头。 epf 文件是一个 Java 属性文件,因此编辑起来相当安全。
    • 仅使用以该前缀开头的行,当我尝试导入时,我在描述中看到:Empty list. Note: Not all preferences support individual import。导入无效。
    • 可能@org.eclipse.jdt.ui=3.9.50.v20140317-1811 条目与此有关 - 但没有研究源代码我只是猜测
    【解决方案2】:
    1. 打开旧的“.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs”工作区文件。

    2. 从旧工作区文件中复制所有“sp_cleanup.*”属性并粘贴到新文件中(替换旧的相同属性)。

    【讨论】:

    • 要激活保存操作选项,您必须将属性 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup 更新为 true
    【解决方案3】:

    我刚刚使用生成的首选项文件 (.epf) 运行了一些差异,并确定了需要添加到首选项文件以启用保存后操作的特定条目

    它们如下(在 Eclipse Mars.1 中测试):

    /instance/org.eclipse.jdt.ui/sp_cleanup.format_source_code=true
    /instance/org.eclipse.jdt.ui/sp_cleanup.organize_imports=true
    /instance/org.eclipse.jdt.ui/editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
    /instance/org.eclipse.jdt.ui/sp_cleanup.on_save_use_additional_actions=false
    

    他们将翻译成: 窗口 > 首选项 > Java > 编辑器 > 保存操作

    • 在保存时执行选定的操作(选中)
    • 格式化源代码(选中)
    • 格式化编辑的行(未选中)
    • 组织导入(选中)
    • 其他操作(未选中)

    【讨论】: