BEX Code Compare is a library and Eclipse plugin, which uses Patience sort / Myers diff and some post diff processing to yield an enhanced code compare
The library has no dependency on Eclipse and can be used in commercial or private projects.
Tip: you only need to specify one of the following. For example, if you include becr.examples, it has a transitive dependency for bex and becr.
<dependency>
<groupId>info.codesaway</groupId>
<artifactId>bex</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>info.codesaway</groupId>
<artifactId>becr</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>info.codesaway</groupId>
<artifactId>becr.examples</artifactId>
<version>0.11.0</version>
</dependency>
Select BEX Code Compare
BEX Code Compare View
Use enhanced compare (enabled by default)
Ignore comments (disabled by default)
Show both sides of substitution in BEX View (disabled by default)
BEX Code Compare is Be Enhanced ϽC Code Compare
BECR, pronounced Beccer, is Be Enhanced Code Refactoring
First we use Patience sort / Myers diff (similar to how GitHub does a compare). Then, we take the resulting diff and do some post diff processing to group the differences into groups of changes.
BEX Matching performs structured code matching to offer an enhanced find and replace for your code
For example, match an if branch with a simple pattern.
if (:[condition]) { :[stuff] }
BEX will ensure the parentheses and braces are balanced, and that you're not looking at commented out code. I like to think of it as a code friendly regular expression. Of course, if you want to mix regex in your pattern, that's supported too.
BECR uses BEX and Eclipe's JDT to parse Java code and provide parsing and refactoring functionality. There are examples available to show how BECR could be used.
Check out the Wiki to learn more