Awesome
Power Mode II Intellij plugin
Installation
Install from Jetbrains plugin repositories
How to use
Install the plugin then simply enable the sparkling in Preferences > Appearance > Power mode II
Features
<ul> <li>Exploding falling sparks</li> <li>Editor shaking</li> <li>Flames</li> <li>Heatup based on typing speed. The more you type the more happens.</li> <li>Keyboard shortcut to toggle power mode [shift ctrl alt O]</li> <li>Choose particle colors and transparency within a color space</li> <li>Adjust particle velocity and gravitation</li> <li>Modify the animation frame rate</li> <li>Multi caret support</li> <li>Animation on caret movement</li> <li>Play music folder: volume based on heatup</li> <li>Play next song action: [shift ctrl alt M]</li> <li>Visualize bigger file editing with "BAM!"</li> <li>See your power level in the indicator box</li> <li>Customizable animation images</li> <li>Everything is configurable</li> </ul><a href="https://github.com/axaluss/power-mode-intellij-plugin/releases/latest"><img width="40" src="https://raw.githubusercontent.com/axaluss/power-mode-intellij-plugin/master/images/download.png"/> Latest Release Download</a> <br/>
<a href="https://www.paypal.me/AlexanderThom"><img style="width:100px; height: 100px;" src="https://raw.githubusercontent.com/axaluss/power-mode-intellij-plugin/master/images/beer.png"/> Want to Donate a Beer?</a>
Plugin Development Setup
- install scala intellij plugin
- import the sbt project (
build.sbt
) - follow the docs here
- create the plugin artifact
sbt packageArtifactZip
- install in intellij
"Architecture"
PowerMode
is the settings instance which is used byPowerModeConfigurable
to populate the UI Settings dialog.PowerModeConfigurableUI
manages the settings dialog to change the settings inPowerMode
.PowerMode
is stored/loaded by xml serializer and annotation magic by Intellij.PowerMode
starts up theSparkContainerManager
. TheSparkContainerManager
creates aSparkContainer
for each editor.- The
SparkContainer
creates theElementOfPower
(PowerSpark, PowerFlame
) and manages their animation and lifecycle.
heatup
- heatup increases the lifetime and amount of Sparks and Flames over time. The most values are multiplied
with
ElementOfPower.valueFactor
to simulate this heatup.ElementOfPower.valueFactor
is composed ofheatupFactor
(how much of all animation doesn't depend on heatup) andtimeFactor
(how much heatup do we currently have). - The heatup itself is calculated by
keyStrokesPerMinute
and the amount of keystrokes withinheatupTime
.