Scala projects look awful with Eclipse Dark Theme

Okay, until someone does a better job at this, besides my above comments, I figured another theme and a way to get it, you can install any existing java theme, then modify the scala ide colors as you wish. https://github.com/guari/eclipse-ui-theme https://marketplace.eclipse.org/content/eclipse-moonrise-ui-theme

Export your preferences and add these at the end and then import:

/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.defaultScalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.defaultScalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.defaultScalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.scalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.scalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/org.scalaide.ui.config.scalaHoverCss=/* It is also possible to change the font configuration here.\n * If one is configured, it will be preferred instead of the one\n * in the "Colors and Fonts" preference page.\n */\nhtml {}\n\nbody {\n  overflow\: auto;\n  margin\: 0.3em;\n}\n\nul {\n  list-style\: square;\n  margin-top\: 0;\n  margin-bottom\: 0;\n  margin-left\: 1em;\n}\n\nli {\n  margin-top\: 0.3em;\n  margin-bottom\: 0;\n}\n\ncode {\n  font-family\: monospace;\n  background-color\: \#eee;\n}\n\npre {\n  overflow\: auto;\n  background-color\: \#eee;\n}\n
/instance/org.scala-ide.sdt.core/syntaxColouring.bracket.colour=249,250,244
/instance/org.scala-ide.sdt.core/syntaxColouring.default.colour=217,232,247
/instance/org.scala-ide.sdt.core/syntaxColouring.keyword.colour=221,40,103
/instance/org.scala-ide.sdt.core/syntaxColouring.multiLineComment.colour=98,98,98
/instance/org.scala-ide.sdt.core/syntaxColouring.multiLineString.colour=23,198,163
/instance/org.scala-ide.sdt.core/syntaxColouring.operator.colour=230,230,250
/instance/org.scala-ide.sdt.core/syntaxColouring.return.colour=221,40,103
/instance/org.scala-ide.sdt.core/syntaxColouring.scaladoc.colour=98,98,98
/instance/org.scala-ide.sdt.core/syntaxColouring.scaladoc.colour=98,98,98
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.annotation.colour=222,147,95
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.annotation.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.byNameParameterAtCallSite.colour=0,128,192
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.byNameParameterAtCallSite.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.caseClass.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.caseClass.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.caseObject.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.caseObject.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.class.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.class.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.lazyTemplateVal.colour=0,128,255
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.localVar.colour=0,128,255
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.localVar.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.method.colour=128,255,0
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.method.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.methodParam.colour=0,128,192
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.methodParam.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.object.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.object.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.package.colour=204,102,102
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.package.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.templateVal.colour=128,255,255
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.templateVal.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.templateVar.colour=128,255,255
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.templateVar.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.trait.colour=138,190,183
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.trait.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.type.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.type.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.typeParameter.colour=240,198,116
/instance/org.scala-ide.sdt.core/syntaxColouring.semantic.typeParameter.enabled=true
/instance/org.scala-ide.sdt.core/syntaxColouring.singleLineComment.colour=98,98,98
/instance/org.scala-ide.sdt.core/syntaxColouring.string.colour=23,198,163
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.attributeName=221,40,103
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.attributeValue=23,198,163
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.cdata=217,232,247
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.comment=98,98,98
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.equals=217,232,247
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.processingInstruction=217,232,247
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.tagDelimiter=217,232,247
/instance/org.scala-ide.sdt.core/syntaxColouring.xml.tagName=217,232,247

Then, edit the colors to your liking here: enter image description here

It ends up looking like the Java equivalent.enter image description here

Of course, don't forget to share!


Because Scala has additional color settings, you need to use a theme designed for it, or be willing to tweak a lot of colors.

Choose from: http://eclipsecolorthemes.org/?list=all&q=scala