Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mplushnikov/lombok-intellij-plugin
Lombok Plugin for IntelliJ IDEA
https://github.com/mplushnikov/lombok-intellij-plugin
Last synced: 15 days ago
JSON representation
Lombok Plugin for IntelliJ IDEA
- Host: GitHub
- URL: https://github.com/mplushnikov/lombok-intellij-plugin
- Owner: mplushnikov
- License: apache-2.0
- Created: 2013-10-09T21:49:01.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-25T19:39:56.000Z (about 2 months ago)
- Last Synced: 2024-10-29T15:03:32.110Z (about 1 month ago)
- Language: Java
- Size: 26.8 MB
- Stars: 3,109
- Watchers: 114
- Forks: 635
- Open Issues: 175
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred-test - mplushnikov/lombok-intellij-plugin - Lombok Plugin for IntelliJ IDEA (Java)
- awesome-hacking-lists - mplushnikov/lombok-intellij-plugin - Lombok Plugin for IntelliJ IDEA (Java)
README
## **Lombok IntelliJ Plugin** [![Donate](https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3F9HXD7A2SMCN)
======================
[![Build Status][badge-travis-img]][badge-travis] [![Code Coverage](https://img.shields.io/codecov/c/github/mplushnikov/lombok-intellij-plugin/master.svg)](https://codecov.io/github/mplushnikov/lombok-intellij-plugin?branch=master)[![JetBrains Plugins](https://img.shields.io/jetbrains/plugin/v/6317-lombok-plugin.svg)](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/6317-lombok-plugin.svg)](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)
[![Downloads last month](http://phpstorm.espend.de/badge/6317/last-month)](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)[![Gitter][badge-gitter-img]][badge-gitter] [![Donate][badge-paypal-img]][badge-paypal]
## Plugin for [IntelliJ IDEA](http://plugins.jetbrains.com/plugin/6317-lombok-plugin) to support [Lombok](https://projectlombok.org) annotations.
Provides support for lombok annotations to write great Java code with IntelliJ IDEA.
**Last version (0.34) released on 17.01.2021**
**Integrated into IntelliJ starting with 2020.3 Release**---
:collision: **Breaking News: Starting with IntelliJ version 2020.3 lombok plugin will be integrated and included in IntelliJ by default!.** :collision::collision: Enjoy new kind of experience for lombok support inside of IntelliJ Idea!
:hammer_and_wrench: Previous InteliJ versions still supported by corresponding plugin version!
---37th version of plugin released.
Install it automatically from IntelliJ Idea plugin repository.
Tested and supports IntelliJ versions: 2018.X, 2019.X, 2020.1 and 2020.2.1+, 2020.3 (Build In!)
Last support for IntelliJ 2017.1, 2017.2 and 2017.3 by plugin version 0.32!
Last support for IntelliJ 2016.2 and 2016.3 by plugin version 0.31!
Last support for IntelliJ 15.0.6 and 2016.1 by plugin version 0.19!
Last support for IntelliJ 14.1.7 by plugin version 0.14!
Last support for IntelliJ 11.1.5, 12.1.7, 13.1.6 by plugin version 0.11
Last support for IntelliJ 10.5.4 by plugin version 0.8.7
With this plugin your IntelliJ can recognize all of generated getters, setters and some other things from lombok project, so that you get code completion and are able to work without errors stating the methods don't exists.
### Features / Supports
- [@Getter and @Setter](http://projectlombok.org/features/GetterSetter.html)
- [@ToString](http://projectlombok.org/features/ToString.html)
- [@EqualsAndHashCode](http://projectlombok.org/features/EqualsAndHashCode.html)
- [@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor](http://projectlombok.org/features/Constructor.html)
- [@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog](http://projectlombok.org/features/Log.html)
- [@Data](https://projectlombok.org/features/Data.html)
- [@Builder](https://projectlombok.org/features/Builder.html)
- [@Singular](https://projectlombok.org/features/Builder.html#singular)
- [@Delegate](https://projectlombok.org/features/Delegate.html)
- [@Value](https://projectlombok.org/features/Value.html)
- [@Accessors](https://projectlombok.org/features/experimental/Accessors.html)
- [@With](https://projectlombok.org/features/With.html)
- [@SneakyThrows](https://projectlombok.org/features/SneakyThrows.html)
- [@val](https://projectlombok.org/features/val.html) available from IntelliJ 14.1 (improved in 2016.2)
- [@UtilityClass](https://projectlombok.org/features/experimental/UtilityClass.html) available from IntelliJ 2016.2
- [@ExtensionMethod](https://projectlombok.org/features/experimental/ExtensionMethod.html) experimental in IntelliJ 2019.2-2020.2, available from IntelliJ 2021
- [lombok config files syntax highlighting](https://projectlombok.org/features/configuration.html)
- code inspections
- refactoring actions (lombok and delombok)
- project configuration inspection (missing/out-of-date Lombok dependency, annotation processing disabled)Many features of the plugin (including warnings) could be disabled through per-project settings.
Installation
------------
### Plugin Installation
- Using IDE built-in plugin system on Windows:
- File > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
- Using IDE built-in plugin system on MacOs:
- Preferences > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
- Manually:
- Download the [latest release](https://github.com/mplushnikov/lombok-intellij-plugin/releases/latest) and install it manually using Preferences > Plugins > Install plugin from disk...Restart IDE.
### Required IntelliJ Configuration
In your project: Click Preferences -> Build, Execution, Deployment -> Compiler, Annotation Processors. Click Enable Annotation ProcessingAfterwards you might need to do a complete rebuild of your project via Build -> Rebuild Project.
### Lombok project dependency
Make sure you have Lombok dependency added to your project. This plugin **does not** automatically add it for you.**Please Note:** Using newest version of the Lombok dependency is recommended, but does not guarantee that all the features introduced will be available. See [Lombok changelog](https://projectlombok.org/changelog.html) for more details.
If you are using Gradle/Maven/Ivy, see example below:
##### Gradle
In your `build.gradle`:
```groovy
repositories {
mavenCentral()
}dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'testCompileOnly 'org.projectlombok:lombok:1.18.30'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'
}
```##### Maven
In your `pom.xml`:
```xml
org.projectlombok
lombok
1.18.30
provided
```
##### Ivy
In your `ivy.xml`:
```xml```
IntelliJ and Eclipse compiler
-----------------------------
If you're using Eclipse compiler with lombok, try this setup:
- install plugin
- make sure Lombok dependency is added to the project
- change compiler setting:
- ... > Compiler > Java Compiler > Use Compiler: Eclipse
- ... > Compiler > Annotation Processors > Enable annotation processing: checked (default configuration)
- ... > Compiler > Additional build process VM options: -javaagent:lombok.jar### Developed by
[**@mplushnikov** Michail Plushnikov](https://github.com/mplushnikov)**Contributors**
- [**@adamarmistead** adamarmistead](https://github.com/adamarmistead)
- [**@akozlova** Anna Kozlova](https://github.com/akozlova)
- [**@alanachtenberg** Alan Achtenberg](https://github.com/alanachtenberg)
- [**@AlexejK** Alexej Kubarev](https://github.com/AlexejK)
- [**@bulgakovalexander** Alexander Bulgakov](https://github.com/bulgakovalexander)
- [**@GingerGeek** Zed Spencer-Milnes](https://github.com/GingerGeek)
- [**@iProdigy** Sidd](https://github.com/iProdigy)
- [**@jeromewaibel** Jérôme Waibel](https://github.com/jeromewaibel)
- [**@Jessevanbekkum** Jesse van Bekkum](https://github.com/Jessevanbekkum)
- [**@juriad** Adam Juraszek](https://github.com/juriad)
- [**@kuil09** Hwang, Geon Gu](https://github.com/kuil09)
- [**@krzyk** Krzysztof Krasoń](https://github.com/krzyk)
- [**@Lekanich** Aleksandr Zhelezniak](https://github.com/Lekanich)
- [**@mg6maciej** Maciej Górski](https://github.com/mg6maciej)
- [**@mlueders** Mike Lueders](https://github.com/mlueders)
- [**@RohanTalip** Rohan Talip](https://github.com/RohanTalip)
- [**@ruurd** Ruurd Pels](https://github.com/ruurd)
- [**@Sheigutn** Florian Böhm](https://github.com/Sheigutn)
- [**@siosio** siosio](https://github.com/siosio)
- [**@Siriah** Iris Hupkens](https://github.com/Siriah)
- [**@tlinkowski** Tomasz Linkowski](https://github.com/tlinkowski)
- [**@toadzky** David Harris](https://github.com/toadzky)
- [**@twillouer** William Delanoue](https://github.com/twillouer)
- [**@uvpoblotzki** Ulrich von Poblotzki](https://github.com/uvpoblotzki)
- [**@vanam** Martin Váňa](https://github.com/vanam)
- [**@yiftizur** Yiftach Tzur](https://github.com/yiftizur)
- [**@sluongng** Son Luong Ngoc](https://github.com/sluongng)
- [**@tagae** Sebastián González](https://github.com/tagae)
- [**@wyhasany** Michał Rowicki](https://github.com/wyhasany)
- [**@ocadaruma** Haruki Okada](https://github.com/ocadaruma)
- [**@mackatozis** Alexandros Efthymiadis](https://github.com/mackatozis)
- [**@NekoCaffeine** NekoCaffeine](https://github.com/NekoCaffeine)Supporters
--------
[](https://www.yourkit.com/)YourKit supports open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/index.jsp) and [YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/index.jsp), innovative and intelligent tools for profiling Java and .NET applications.License
-------
Copyright (c) 2011-2020 Michail Plushnikov. See the [LICENSE](./LICENSE) file for license rights and limitations (BSD).[badge-gitter-img]: https://badges.gitter.im/mplushnikov/lombok-intellij-plugin.svg
[badge-gitter]: https://gitter.im/mplushnikov/lombok-intellij-plugin
[badge-travis-img]: https://travis-ci.org/mplushnikov/lombok-intellij-plugin.svg
[badge-travis]: https://travis-ci.org/mplushnikov/lombok-intellij-plugin
[badge-coveralls-img]: https://coveralls.io/repos/github/mplushnikov/lombok-intellij-plugin/badge.svg?branch=master
[badge-coveralls]: https://coveralls.io/github/mplushnikov/lombok-intellij-plugin?branch=master
[badge-paypal-img]: https://img.shields.io/badge/donate-paypal-yellow.svg
[badge-paypal]: https://www.paypal.me/mplushnikov