Eclipse Luna Dark主题,语法着色重置。如何禁用?

标签 eclipse themes settings reset

原始问题:Eclipse luna theme issue

相关问题:How to make Eclipse color settings permanent?

TL; DR Eclipse Luna 4.4,深色主题,Win 7 64位,某些设置在启动时会重置为初始值。如何使它们保持我配置它们的方式?
例如:Java语法着色,枚举是深色主题的斜体,我不希望它们用斜体表示。

其他研究
workspace\.metadata\.plugins\org.eclipse.core.runtime.settings\org.eclipse.jdt.ui.prefs文件中,有一个名为overriddenByCSS的标记似乎引起了此问题。仅当使用深色主题时才存在。我查看了深色主题的CSS文件,但找不到任何相关的...
同样,手动删除或更改该行也不起作用,它会在每次Eclipse开始时被写入。

我为什么要问?

甚至在“如何提问”中提到一个新问题应该与已经存在的问题有所不同,我没有足够的声誉来评论原始问题并为其添加细节。因此,我尝试以答案的形式进行尝试,但是有人“认为”删除我的答案是一个好主意(实际上并没有回答,只是添加了更多详细信息...)。因此,好吧,让SO充满重复,然后...

编辑:
I posted a bug at the eclipse bugzilla

最佳答案

几天前,在您的Eclipse错误报告中添加了一条评论,并且我已经能够使用该建议成功解决此问题。这很乏味,但是对我有用。

在开始之前,请记住以下几点:

  • Eclipse将在启动时加载您的首选项,用overriddenByCSS=等覆盖它们,然后在退出时恢复原始设置文件。这意味着您应该在Eclipse不运行时对 org.eclipse.jdt.ui.prefs 进行的所有更改。
  • 将Eclipse运行时将此文件与Eclipse不运行时的版本进行比较,将帮助您确定需要进行的更改以保留颜色。
  • 使用首选的版本控制系统来管理这些文件。这将确保您将来不会丢失它们,并帮助您了解Eclipse在启动时如何更改您的首选项。我将在下面使用Mercurial。

  • 请按照以下步骤切换到黑色主题,同时保留对语法颜色的控制:
  • 退出Eclipse并将核心运行时设置置于版本控制下:
    cd [eclipse workspace]/.metadata/.plugins/org.eclipse.core.runtime/.settings
    hg init
    hg add .
    hg ci -m "before dark"
    
  • 启动Eclipse并切换到 Dark 主题,然后退出Eclipse。
  • 确认仅主题已更改,并将更改保存到分支:
    hg diff
    hg branch dark
    hg ci -m "after dark"
    
  • 再次启动Eclipse,然后在Eclipse运行时,将文件与您刚刚 checkin 的文件进行比较。您将看到新的overriddenByCSS值,该值将引用Eclipse在启动时添加的所有值。做一个比较并记下所做的更改,并在退出Eclipse之前保存这些替代。
    hg diff
    hg ci -m "eclipse overrides"
    
  • 退出Eclipse,您将注意到更改已消失。恢复运行时所做的更改:
    hg revert .
    
  • 编辑 org.eclipse.jdt.ui.prefs 并删除以overriddenByCSS开头的行。这将使其他替代值保持不变。保存这些更改。
    hg ci -m "the overrides are now mine"
    
  • 启动和退出Eclipse,并验证Eclipse没有对文件进行任何更改。
    hg diff
    
  • 现在,替代项已归您所有,您可以自由更改它们。对于您提到的示例,以斜体枚举,编辑 org.eclipse.jdt.ui.prefs 并设置semanticHighlighting.enum.italic=false
  • 如果您想在开始之前恢复到默认值,则可以使用以下命令在分支之间进行切换:
    hg up -r default
    hg up -r dark
    
  • 重要说明:如果使用Eclipse更改语法颜色首选项,您会注意到Eclipse运行时overriddenByCSS值返回,并且您的首选项将消失。定期监视您的首选项文件中的更改,并在您喜欢它们时将其提交。不使用时将其还原。

  • 这是我的Eclipse现在的样子,它具有在切换到Dark主题之前我最初调整过的所有颜色:

    关于Eclipse Luna Dark主题,语法着色重置。如何禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25664179/

    相关文章:

    java - <%@ taglib 前缀 ="c"uri ="http://java.sun.com/jsp/jSTL/core"%> Eclipse photon jdk 10 Tomcat 9

    javascript - 范围内的动态样式

    ide - phpstorm:更改当前搜索匹配的颜色

    ios - 设计一个类似 Path 的 iOS View

    c# - 按空格键时停止默认的自动完成行为

    macos - 在默认情况下将Safari的Webinspector嵌入到Browserwindow中

    ios - 如何在 ios wifi 设置中显示自定义文本

    java - R.java 文件 self 删除

    android - 为什么android找不到com.google.gson.Gson

    java - 如何在Java的manifest.txt中设置Class-Path