Power Mode is one of the most requested extensions for VS Code. Unfortunately, they said it couldn't be done...
However, after seeing this list and realizing that VS Code was the only modern editor without it, I knew I had to try. I couldn't let VS Code live in the shadow of its big brother or Atom.
I present you, VSCODE POWER MODE!!! (now with atom-like explosions and an improved combo meter!)
"powermode.enabled": true
They weren't completely wrong when they said it can't be done. VS Code does not expose the DOM as part of the API. Instead this extension relies on using TextEditorDecorations to set css properties for ranges in the editor. This has a few limitations:
You can choose explosions with a single setting: powermode.presets
. Check out the options below
(note: it looks better IRL than in these gifs):
Note: If your code becomes hard to read, you may need to set editor.lineHighlightBackground
in your user or workspace settings. For example, if your theme is Default Dark+
, try:
"editor.lineHighlightBackground": "#1E1E1EAA"
Power Mode should work great right out of the box, but if it doesn't I've tried to make it as configurable as possible. Tweak the settings for performance or for fun. From doge to clippy, the only limit is your imagination. Some of the options are explained below:
powermode.shake.enabled
: Uncheck this to disable screen shaking entirelypowermode.combo.location
: Control where the combo counter appearspowermode.explosions.customExplosions
: Choose your own explosions with base64 encoded gifs or full web URLs (i.e. "data:image/gif;base64,1337GIF", "https://coolgif.io"). NOTE: Security precautions in the browser engine prevent referencing local files, so for offline-support, please base64 encode the gif.powermode.explosions.backgroundMode
: mask
will use the gif as a mask, letting the shape of the gif through with the color of the text. image
will use the gif itself as the background.
powermode.explosions.gifMode
: restart
will restart a gif each time it is displayed, continue
will play the gif from the place it stopped. continue
is particularly useful when you only have 1 visible gif, restart
is useful when you have multiple, but may reduce performance.powermode.explosions.maxExplosions
: Reducing this will reduce the number of explosions rendered at once.powermode.explosions.explosionFrequency
: Increasing this will increase the number of keystrokes between explosions. It means that there will be gaps between explosions as you type but may help performance.powermode.explosions.customExplosions
: Provide your own gifs to use (And share them here)powermode.explosions.customCss
: Changes the CSS applied to the "after" pseudoelement. You can experiment with ways to make it look or perform better.powermode.explosions.explosionOrder
: sequential
will cycle through explosions in order, random
will pick one randomly, and providing a number will select the explosion at that (zero-based) index in the list of explosions.If you can provide some lightweight, attractive gifs that improve how power mode looks and performs, I would be happy to include them! Share them here.
powermode.enableStatusBarComboCounter
and powermode.enableStatusBarComboTimer
to toggle status bar itemspowermode.presets
to choose between different built-in explosion setspowermode.backgroundMode
to allow 'atom like' explosions (explosions that match the color of the text being typed)powermode.legacyMode
powermode.explosionMode
to powermode.explosionOrder
powermode.settingSuggestions