Based on Visual Studio Light with the following changes.
- lighter black for code provides a more pleasant reading experience
- same color for all occurrences when selecting a word because why the hell it isn't by default?
- lighter gray comments for more unobtrusive coding
- they are important, but not all the time
- green strings, because they shouldn't be red
- they're not code, so shouldn't be black either
- main language constructs as a light red, because they are the second most important thing in your code (second to the code itself)
- they serve to guide your reading (conditionals, async, etc)
- user defined/libs constructs as blue for the same reason as above
- allows for clearer code section definitions
this
as orange because they are note part of your code and don't add as much as a main language construct- helps to know it's there, but easy to ignore
- I've been experimenting with this and it helps a lot with json files and my "object creating" heavy JS code
- lighter syntax decoration, like the
**
from bold, nearly hiding them - decorate bold and italic as such
- distinctive and pleasant heading colors: bold navy blue for all but H3, which uses regular black
- makes H3 the same as the other headings
- studies have shown no differences between light/dark colors for eye comfort
- what DOES make a difference is context switching
- If you go from a dark background to a light background too fast (
alt + tab Google
, for instance), your pupils will have to dilate to adapt to the new background, making your eyes tired faster
- If you go from a dark background to a light background too fast (
- use
f.lux
or similar blue light filtering software - work in a well lit environment, based on my experience I would rate:
- 10 natural light from windows
- 8 overhead light
- 5 ScreenBar (don't buy Baseus, go for Xiaomi or Benq)
- 4 strong bias light (I never had a good one)
- 3 desk light
- 0 no light, monitor only
- use white light (~6000k) by day and warm light (~3000) by night
- https://www.wired.co.uk/article/dark-mode-chrome-android-ios-science
- https://www.androidauthority.com/dark-mode-1046425/
Example to make code blocks in markdown to look the same as when rendered as HTML and to nearly hides tables borders
"highlight.regexes": {
"(```.+?```)": {
"regexFlags": "gs",
"decorations": [{
"backgroundColor": "rgba(0, 0, 0, 0.03)",
"isWholeLine": true,
}],
"filterLanguageRegex": "markdown",
"filterFileRegex": ".*\\.md"
},
"(\\|)": {
"filterLanguageRegex": "[markdown]",
"decorations": [{
"color": "rgba(0, 0, 0, 0.1)"
}]
}
},
"customizeUI.stylesheet": {
"div.monaco-split-view2.horizontal.separator-border div.title-actions": "display: none !important;", // Hide title actions in Zen-mode
".monaco-workbench .part.editor>.content .editor-group-container>.title>.label-container": "display: none !important;", // Hide File and title actions bar
"[title='Open Changes']": "display: none !important;",
"[title^='Split Editor Right']": "display: none !important;",
".monaco-list-row:hover:not(.selected):not(.focused)": "background-color: #ffffff !important",
".fullscreen .scroll-decoration": "display: none !important",
".monaco-split-view2.horizontal.separator-border": "--separator-border: #ffffff !important",
},
The following can be applied to settings.json
.
If your inline code blocks have a frame, it's because of an extension. Use this to disable:
"markdown.extension.syntax.decorations": false,
If you dislike any of the changes, you can override them. See the source code for scope rules, or type CTRL + ALT + SHIFT + I
to toggle inspect mode, and that will give you the scope
name you need to customize.
To revert the H2 heading color for instance:
"editor.tokenColorCustomizations": {
"[Minimalist]": {
"textMateRules": [
{
"name": "Markdown h2 heading",
"scope": "heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown entity.name.section.markdown, heading.2.markdown string.other.link.title.markdown",
"settings": {
"foreground": "#365f91",
}
},
]
}
}