Important
This is a fork of vscode-power-mode by @hoovercj. All credit goes to the original author and its contributors.
This fork includes fixes and enhancements based on community contributions from the original repository:
The original extension had a combo meter positioning issue in VS Code v1.88.x or higher due to style changes. This fork incorporates a fix based on PR #114 contributed by @slowquery.
If you are using Custom CSS and JS Loader with the following CSS:
.monaco-editor .lines-content > .view-lines > .view-line > span {
width: inherit;
}You can adjust the combo meter position using the powermode.combo.customCss configuration to achieve the original extension behavior:
Note
If you use percentage-based right positioning, you should enable "editor.wordWrap": true to prevent horizontal scrollbars from pushing the combo meter outside the visible viewport.
{
"editor.wordWrap": true,
"powermode.combo.customCss": {
"right": "5%",
"left": "auto"
}
}The current default value is "left": "calc(100vw - 35rem)", which looks good in most cases but cannot dynamically adjust its position when dragging the right sidebar.
The original extension had a flickering issue with the combo meter decoration. This was caused by the previous combo decoration being disposed before the new one was created. This fork incorporates a fix based on PR #106 contributed by @ao-shen, which ensures the previous decoration is only disposed after the new one is created and rendered.
With the powermode.combo.customCss configuration support, you can easily customize the combo meter's appearance. For example, you can change the font family:
{
"powermode.combo.customCss": {
"font-family": "Monaspace Argon"
}
}You can apply any CSS properties to fully personalize the combo meter to match your editor theme and preferences.
For a complete VSCode setup example with custom CSS and JS configurations, you can refer to my vscode-config.
Search for "power mode plus" in your editor's extension marketplace:
- VS Code Marketplace
- Open VSX Registry (for VS Code forks)
- GitHub Releases (download
.vsixfile)
Note
This extension inherits the configuration options from the original vscode-power-mode. However, deprecated configuration options from the original extension have been removed.
| Key | Description | Type | Default |
|---|---|---|---|
| ▿ General | |||
powermode.enabled |
Enable to activate POWER MODE!!! | boolean |
false |
powermode.presets |
Choose between different preset gifs to use when powermode is activated | string |
"particles" |
| ▿ Combo | |||
powermode.combo.location |
Control where all the combo information is visible. | string |
"default" |
powermode.combo.threshold |
The combo number needed to activate POWER MODE!!! and start shaking and exploding the screen! If the value is 0, POWER MODE will always be active. | number |
0 |
powermode.combo.timeout |
The number of seconds before the combo resets. If the value is 0, the timer will never reset. | number |
10 |
powermode.combo.counterEnabled |
Control whether the combo counter is visible. | string |
"default" |
powermode.combo.counterSize |
Control the size of the Combo Meter text | number |
3 |
powermode.combo.timerEnabled |
Control whether the combo timer is visible. | string |
"default" |
powermode.combo.customCss |
Set custom CSS that will apply to the combo element. | object |
{} |
| ▿ Shake | |||
powermode.shake.enabled |
Set to false to disable shaking while typing | boolean |
true |
powermode.shake.intensity |
The intensity with which the screen shakes | number |
3 |
| ▿ Explosions | |||
powermode.explosions.enabled |
Set to false to disable explosions while typing | boolean |
true |
powermode.explosions.maxExplosions |
The maximum number of simultaneous explosions | number |
1 |
powermode.explosions.size |
The size of the explosions. For value X, the height is set to X rem and the width to X ch | number |
6 |
powermode.explosions.frequency |
The number of key strokes needed to trigger an explosion. 2 means every second keystroke will explode, 1 means every key stroke. | number |
2 |
powermode.explosions.offset |
The vertical offset of the explosions. Increasing it will move the explosions up, decreasing it will move them down. | number |
0.35 |
powermode.explosions.customExplosions |
This value will go into the 'url()' part of a background image. It should be a base64 encoded gif or https URL without quotes. | array |
[] |
powermode.explosions.backgroundMode |
Affects the css properties used to display the gif. | string |
"mask" |
powermode.explosions.gifMode |
Control the 'playback' mode of the gifs. | string |
"continue" |
powermode.explosions.explosionOrder |
Determines how the explosions are cycled. 'random' (default) picks from the list randomly. 'sequential' goes through the list in order, and a number will select the explosion at that (zero based)index in the list | undefined |
"random" |
powermode.explosions.duration |
Determines how long an explosion lasts (in milliseconds). Set to 0 for it to last forever. | number |
1000 |
powermode.explosions.customCss |
Set custom CSS that will apply to the explosion element. | object |
{} |
| Command | Title |
|---|---|
powermode.enablePowerMode |
Enable Power Mode |
powermode.disablePowerMode |
Disable Power Mode |
MIT License © jinghaihan







