Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giancosta86/EasyPmd
Seamlessly integrates PMD into your NetBeans IDE
https://github.com/giancosta86/EasyPmd
Last synced: 22 days ago
JSON representation
Seamlessly integrates PMD into your NetBeans IDE
- Host: GitHub
- URL: https://github.com/giancosta86/EasyPmd
- Owner: giancosta86
- License: gpl-3.0
- Created: 2015-04-16T23:55:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-06T08:52:34.000Z (over 7 years ago)
- Last Synced: 2024-11-11T11:51:02.856Z (about 1 month ago)
- Language: Java
- Homepage:
- Size: 313 KB
- Stars: 18
- Watchers: 6
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-netbeans - EasyPMD - Integrates PMD in NetBeans in a seamless way. (:electric_plug: Plugins <a name="plugins"></a> / Development)
README
# EasyPmd
*Seamlessly integrates PMD into your NetBeans IDE*
## Introduction
*Elegance always matters, especially when creating software.*
However, a universal definition of such an ambitious goal seems to be fairly difficult, if not impossible, as different programmers adopt different styles.
PMD is a Java library/tool allowing you to scan your code and detecting *violations* of the *rules* that you requested to enforce: this introduces a great deal of flexibility, in particular if you consider that you can both use a wide range of predefined rules *and* write your own rules: for example, the predefined ruleset *rulesets/unusedcode.xml* will make PMD scan your source files for unused private fields, unused private methods, unused local variables and so on. Of course, you can instruct PMD to use *multiple rulesets simultaneously*.
PMD can be run both as a library and as a standalone program, and several excellent IDE plugins are now available, some of which target NetBeans: EasyPmd is designed as an open source plugin for NetBeans which seamlessly integrates the PMD scanning engine into NetBeans, by making PMD violation reports automatically appear both in the *Action items* window and in the editor: you just have to specify the scanning scope (current file, main project, all projects) in the *Action items* window.
The current major version provides a simplified, more elegant architecture, based on Helios, and *profiles*, to let you easily switch between multiple configurations.
The overall build process is based on Maven 3, for elegance and robustness.
## Features
* Includes PMD 5, compatible with Java 8.
* Fully-refactored, much better and faster architecture, relying on Helios and Maven 3.
* Automatically runs PMD on the files of your current task scope (selected in the *Action items* window).
* Reports every PMD violation both in the *Action Items* window and in the editor's side bar.
* Option field for setting PMD's *auxiliary classpath*
* **Supports profiles:** you can easily change the plugin's options simply by changing the active profile.
* **Glyphs of different colors for different priorities:** ranging from full green to full red - according to the priority of the rule that is is bound to each violation.
* **Priority filtering:** in the configuration dialog, one can choose the minimum priority level that PMD will consider when applying rules.
* **Optional priority label in task descriptions:** each violation in the *Action items* window shows its priority by default - one can therefore sort violations just by clicking the *Description* header.
* Includes a copy of PMD, for a safer and much faster execution.
* **Robustness:** most execution errors, should they occur, are caught and reported in the tasks list, without crashing the plugin.
* **Integrated cache:** to ensure maximum speed and avoid repeated scans, EasyPmd features a cache which is also persisted to **a HyperSQL local db**, so it is available even after you restart NetBeans.
* You can extensively customize EasyPmd and the underlying PMD engine via a user-friendly options dialog.
* **Smart options**: if you change options that only affect data visualization, the engine and its cache are not affected
* **Custom path filtering** (including and excluding paths), based on *regular expressions*.
* Predefined, customizable regular expressions, to simplify path filtering.
* **XML**, human-readable options stored in the user's home directory
* Online help, integrated into the NetBeans help system.
## Requirements
EasyPmd requires NetBeans 8+ and Java 8+.
## Installation
EasyPmd can be easily installed from within NetBeans, as explained in the tutorials below.
Alternatively, you can download the **.nbm** files from GitHub or from the NetBeans Plugin Portal.
## Tutorials on YouTube
* [Getting started - English version](https://www.youtube.com/watch?v=BsMx6PNn0aI)
* [Getting started - Version française](https://www.youtube.com/watch?v=3k4Fk43u0QE)
## Special thanks
Special thanks to (ordered by surname):
* *Ross Goldberg*
* *Matthew Harrison*
* *Thomas Kellerer*
* *Wes McKean*
* *Diogo Mendes*
* *Jeremy Pyman*
* *Christian Funder Sommerlund*
* *Toru Takahashi*
* *Thomas Wolf*## Further references
* [PMD](http://pmd.sourceforge.net/)
* [HSQLDB](http://hsqldb.org/)
* [Facebook page](https://www.facebook.com/easypmd)