Features:
- Colorize comments.
- Reference source code in comments.
- Show cognitive complexity for methods.
- Use gutter icons for highlights.
- Highlight regions (whole line highlight).
- Reference files in comments.
- Reference other comments inside comments.
- [PAID] Highlight keywords, methods and functions (syntax highlight).
- [PAID] Highlight anything by RegExp.
- [PAID] Define highlight severity for comment/tokens/regexp.
- [PAID] Display settings for cognitive complexity.
- [PAID] Define custom start/end tokens for wikilink format.
- [PAID] Reference source code in comments outside wikilink.
- [PAID] Add custom gutter icons.
- [PAID] Wikilink support in Markdown and plain text files.
Elevate your coding experience with "Better Highlights", one of the best plugins designed for JetBrains products. Unleash the power of keyword, methods and comment highlighting, seamless code referencing in comments, and real-time cognitive complexity metrics. Compatible with all JetBrains IDEs, including IntelliJ IDEA, Android Studio, PyCharm, PhpStorm, Webstorm and more, this top plugin guarantees coding excellence, no matter the JetBrains tool you use.
Comment/Region/Keyword/Method/Functions/RegExp plugin functionality description:
- "Highlighting" means ability of changing color of programming language keywords, comments etc.
- Highlighting is based on first word in commented line. By default, are used tokens *, !, ?.
- User can add own custom tokens for colorizing comment lines.
- Comment highlighting supports default color settings change - color, background color, bold, italic, effects.
- Region highlighting is used to colorize whole commented line with some background color to visually separate blocks of code.
- Keyword highlighting is used to colorize programming language keywords in other words custom syntax highlight. Method keywords is used to colorize keywords, which are part of method signature (most often used to change color of access modifiers private/public/protected on methods, but not classes).
- Method/Functions highlighting is used to colorize methods and functions implementation and usage/reference. Methods/Functions are defined with RegExp (most often used to change color of getter and setters).
- RegExp highlighting is used to colorize anything by RegExp. Usually is used to colorize language constructions, which are not keywords or to colorize some phrases, not just single keyword.
- RegExp highlighting can be limited to certain files with file name regexps.
- Simple word is also a valid RegExp, so could be used to colorize regular language constructions, which are not keywords.
- User can select different highlight severity to override Error and Warning highlights and display highlights in list of errors/warnings.
- User can select gutter icon for comment/region/keyword/method/function/regexp highlighting.
Wikilink plugin functionality description:
- Wikilink is a format of linking articles used in Wikipedia, where links are wrapped with double square brackets. For example, [[this is wikilink]].
- Highlights wikilinks in comments.
- Wikilink highlighting supports default color settings change - color, background color, bold, italic, effects.
- Support wikilink references to files (absolute or relative path) (link to file in comment).
- Support wikilink references to tagged comments (link comments).
- Support wikilink references to classes and class methods/fields (link source code). This is one of the best feature of plugin.
- Support wikilink references for non-OOP languages via file name with [[filename.ext#funcitonName]]
- Wikilink references supports "Go to definition", "Find usages" and "Rename refactoring" intellij out of the box functionality.
- Intellij Inspection to find and highlight unresolved references in wikilink(not existing links) for file and project levels.
- Support tagged comments autocompletion in wikilink.
- Support class names and methods autocompletion in wikilink.
- Define user start/end tokens instead of using wikilink format.
- Support source code references in comments outside wikilink (any word would be resolved as source code reference).
- Support wikilinks in Markdown and plain text files with references to Markdown file without extension. This can be used for Personal Knowledge Management (Second Brain) to create links between notes.
Cognitive complexity plugin functionality description:
- Calculates SonarQube Cognitive Complexity metric for methods,which was proposed by G. Ann Campbell in Cognitive Complexity - A new way of measuring understandability.
- Metric is shown as inlay hint with realtime live calculation. This is one of the most recommended feature of plugin.
- User can adjust position of inlay hint, define custom description text, custom description background and display complexity icon in gutter.
- "high cognitive complexity" inspection is available to find in project all methods with high complexity.
Plugin functionality support by language:
Language | Comment, Region, RegExp highlighting* |
Method/Function highlighting |
Keyword highlighting |
Highlight complexity |
Source code reference (wikilink) |
JavaScript/Typescript | + | + | + | + | + |
Python | + | + | + | + | + |
Java | + | + | + | + | + |
C# (Rider) | + | + | + | + | |
C/C++ (Rider/Clion Nova) | + | + | + | ||
C/C++/Objective-C | + | + | + | + | + |
PHP | + | + | + | + | + |
Go | + | + | + | + | + |
Kotlin | + | + | + | + | + |
Dart | + | + | + | + | + |
Rust | + | + | + | + | + |
Ruby | + | + | + | + | + |
Lua (EmmyLua) | + | + | + | + | + |
SQL | + | + | + | + | |
Shell scripting | + | ||||
Markdown | + | + | |||
HTML / XML | + | + | |||
Plain text files | + |
* Highlighting should work with any language, not only mentioned in table (for example, lua, groovy, scala, haskell, erlang, elixir etc.)
If you need support for another language or some additional functionality - feel free to create a ticket in bugtracker.
Examples of commonly used keyword highlights:
- abstract - usually used with "Highlight only in method definitions" to ease determining of abstract methods in abstract classes.
- public - usually used with "Highlight only in method definitions" to ease determining of public methods in Util/Helper classes.
- ! - usually used to ease determining of "not" inversion in "if" clauses. Note that in C# "!" is not keyword, so regexp should be used instead in Rider.
- return - usually used to ease determining of method exists in long methods.
How-to:
- How to use highlighting.
- How to use wikilinks.
- How to use cognitive complexity.
- How to import/export settings.
Your coding journey doesn't have to be ordinary - take your coding experience to new heights with the most useful and top-rated "Better Highlights" plugin. Enhance code readability with highlighting keywords and comments, bringing brilliance to every line. Level up code clarity instantly with real-time cognitive complexity metrics. This cool plugin is your go-to for optimizing your workflow, seamlessly referencing source code from comments. Ready to transform your code now? Install "Better Highlights" and witness the future of coding clarity.
Supports all Jetbrains products: IntelliJ IDEA, Android Studio, Aqua, CLion, GoLand, PhpStorm, PyCharm, Rider, RubyMine, RustRover, WebStorm.
Clint Priest
09.12.2024I love the features it has, especially comment line highlighting. Was freemium for a while but found I was using it so much I paid for a license.