.circleci | ||
.github | ||
gradle/wrapper | ||
screenshots | ||
src | ||
.gitignore | ||
.java-version | ||
.travis.yml | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md |
Intellij rainbow brackets
Rainbow Brackets / Rainbow Parentheses for IntelliJ based IDEs.
- Compatibility
- Supported languages
- Author's choice
- Screenshots
- Install
- Customize colors
- Config file path
- HTML code in js
- Kotlin function literal braces and arrow
- Disable rainbow brackets for specific languages
- Contribute
- Support Us
- Backers
- Sponsors
- Acknowledgements
Compatibility
IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS, Android Studio
Supported languages
Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, ...
Author's choice
Rainbow Brackets + Material Theme UI(Oceanic theme) + Nyan Progress Bar + Fira Code (Font)
Screenshots
- with Java
- with Scala
- with Clojure
- with Kotlin
- with HTML/XML
- Scope highlighting
The highlight effects will not remove after release the shortcuts, but press ESC
key can do this. You could also config Press any key to remove the highlighting effect
in setting page.
Ctrl + Button3(Windows & Linux) or Meta+ Button3(Mac):
NOTE: Button3 means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.
Alt + Button3:
NOTE: Button3 means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.
- Rainbow indent guide lines
NOTE: This feature is experimental and disabled by default at this moment. You could turn it on by check "Show rainbow indent guides (Experimental)" in setting page.
- looking forward to your screenshots(PR welcome!)
Install
For Windows - File > Settings > Plugins > Browse repositories... > Search for "Rainbow Brackets" > Install Plugin > Restart IntelliJ IDEA
For Mac - IntelliJ IDEA > Preferences > Plugins > Browse repositories... > Search for "Rainbow Brackets" > Install Plugin > Restart IntelliJ IDEA
Customize colors
Settings/Preferences > Editor > Color Scheme > Rainbow Brackets:
Config file path
If you want to customize advanced configuration, you could edit the config file then restart your IDE.
Config file path in APP_CONFIG/rainbow_brackets.xml
.
In MAC OS env maybe like /Users/izhangzhihao/Library/Preferences/IntelliJIdea2018.3/options/rainbow_brackets.xml
.
In Linux env maybe like ~/.IntelliJIdea/config/options/rainbow_brackets.xml
.
In Windows env maybe like C:\Users\izhangzhihao\.IntelliJIdea2018.3\config\options\rainbow_brackets.xml
.
HTML code in js
To enable rainbow brackets for HTML inside js code like this:
var html = '<div><div><div>Hello</div></div></div>';
This plugin will automatically override color scheme property "HTML_CODE" cause our rainbow color been covered by intellij built-in functionality.
You still could set <option name="rainbowifyHTMLInsideJS" value="false" />
in config file to disable just like Config brackets colors.
Kotlin function literal braces and arrow
To enable rainbow brackets for multiple level lambda Kotlin code like this:
event.throwable?.let { throwable ->
IdeErrorsDialog.findPluginId(throwable)?.let { pluginId ->
PluginManager.getPlugin(pluginId)?.let { ideaPluginDescriptor ->
if (!ideaPluginDescriptor.isBundled) {
bean.pluginName = ideaPluginDescriptor.name
bean.pluginVersion = ideaPluginDescriptor.version
}
}
}
}
This plugin will automatically override color scheme property "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW" cause our rainbow color been covered by kotlin plugin built-in functionality.
You still could set <option name="rainbowifyKotlinFunctionLiteralBracesAndArrow" value="false" />
in config file to disable just like Config brackets colors.
Disable rainbow brackets for specific languages
If you want to disable rainbow brackets for javascript languages and java languages, you could set languageBlacklist
property in config file just like:
<application>
<component name="RainbowSettings">
<option name="languageBlacklist">
<array>
<option value="java" />
<option value="javascript" />
</array>
</option>
</component>
</application>
NOTE: The languages name should be lowercase, and do NOT use shorthand.
Contribute
NOTE: To view the PSI tree and explore the internal structure of source code, you need to setup your IDE follow this.
gradle test
gradle runIde
gradle buildPlugin
Support Us
You can support us by the following actions:
- Star this project on GitHub
- Share this plugin with your friends/colleagues
- Rate this plugin on JetBrains plugin repository
- Make pull requests
- Report bugs
- Tell us your ideas
- Become a sponsor by donating on Open Collective
- Become a sponsor by donating with AliPay or WeChatPay
AliPay | WeChatPay |
---|---|
![]() |
![]() |
Backers
Thank you to all our backers! ❤️ [Become a backer]
Sponsors
Support this project by becoming a sponsor! 🌈 Your logo will show up here with a link to your website. [Become a sponsor]
Acknowledgements
Intellij-rainbow-brackets is heavily inspired by Rainbow Brackets for Visual Studio Code