PrestoSoft Blog :: Home

Saturday, January 06, 2024

ExamDiff Pro 15.0: Directory Filtering Improvements

ExamDiff Pro 15.0 will introduce a set of features to improve the experience around using view filters in directory comparison. View filters let you quickly filter which items (files/directories) are shown in a directory comparison session, filtering either based on an item's path or by an item's comparison status.

Separate toggles for Status View Filter and Path View Filter

First, the View | Use View Filter command is being separated into two separate commands, View | Use Status View Filter and View | Use Path View Filter, with two separate corresponding toolbar buttons, that allow controlling these two options separately, as shown below. (Note that the actual view filter options continue to be under Options | Display | View Filter.)

This can be useful in situations where you want to toggle either the status or path filter on and off while keeping the other filter set. For example, you might want to exclude certain directories from the view (using the path view filter), and you want to repeatedly toggle whether identical items are shown or hidden (using the status view filter). Prior to this change, you would have had to toggle the entire View Filter on and off, but this would also toggle the path view filter, causing directories that you don't care about to come into view – annoying! Now you'll be able to actually control these two filters independently.

Quick Path View Filter toolbar

But what if you want to see certain files, and you don't want to have to keep opening the Options dialog each time you change the path filter? ExamDiff Pro 15.0 introduces a Quick path view filter to help with this. It's an additional path filter that you can control directly from the toolbar. You can think of this feature as basically a fancy search bar, because it lets you immediately find files and directories by simply typing in their names, paths, or extensions.

For example, let's say I'm comparing a pair of directories, and I want to hone in on just the AVI files within these directories. All I have to do is type "*.avi" into the Quick path view filter text box:

And when I press Enter or click the Apply Filter button, the filter is immediately applied:

Because this view filter is also controlled separately from the others, we can separately enable a status view filter as well. For example, if I want to check if any of these *.avi files are identical, I can just click the Show Only Identical quick status filter toolbar button:

If I'm done focusing on *.avi files, I can now clear the quick path view filter by clicking on the Clear Filter button next to the textbox. Note that the Show Only Identical status filter continues to be set because it's controlled independently:

Labels: , ,

Wednesday, January 03, 2024

ExamDiff Pro 15.0: Fast Content Comparison Mode for Directory Comparison

Historically, ExamDiff Pro has had two main ways to compare files within directories: file metadata comparison, in which only the metadata for a given file (such as timestamp, file size, etc) was looked at, and "full file comparison", in which pairs of files were compared exactly the same way that happens in regular file comparison, using all available file comparison options (plug-ins, Ignore options, etc). The trade-off has been that file metadata comparison is imprecise and can produce "false positives" (different files marked as a identical) or "false negatives" (vice versa), while full file comparison can be very time-intensive when large files are involved or when many plug-ins or other advanced options are invoked.

ExamDiff Pro 15.0 introduces a new "fast file content comparison" mode that is essentially a middle ground between the two existing modes. In this mode, file contents are compared like in full file comparison mode, but with two important differences to speed up comparison. First, none of the advanced comparison options (Plug-ins, document types, Ignore options, etc) are used. Secondly, the files are compared byte-by-byte, and comparison ends as soon as the first difference is found (if the files are different). In certain situations (such as very large files with many differences), this can save a huge amount of comparison time (because only a fraction of each file is being looked at), while still producing accurate results.

We think that this fast content comparison mode will be useful for most ExamDiff Pro users. The main situations where you might want to still use full file comparison mode would be cases in which the advanced file comparison options offered by full file comparison would actually affect whether files are identical or different in a directory. For example, you might have some source code files that are identical except for comments (requiring the use of document type features) or some Word documents with identical text but differences in formatting that you don't care about (requiring the use of Plug-ins).

To enable this new comparison mode, select Perform file content comparison under Options | Directory Comparison | Comparison precision and check the Compare files byte-by-byte (fast mode) option:

Labels: , ,

Sunday, December 31, 2023

ExamDiff Pro 15.0: HTML Diff Report Improvements

ExamDiff Pro 15.0 will feature the first major revamp of HTML diff reports since we introduced our new HTML template in version 11.0, thanks to some improvements we're making to directory comparison HTML reports.

The most immediately noticeable difference is that HTML reports will now render the directory tree view mode if the original comparison session used Tree Mode (which will be the default directory comparison mode starting in ExamDiff Pro 15.0). So, for example, here is what an HTML diff report looks like when comparing two directories in Tree Mode:

In the tree view, you can expand and collapse directories by clicking on the triangle icons to the left of them, just like in ExamDiff Pro.

If we switch the comparison to Flat Mode (for example, by using the View | Toggle Tree Mode command) in ExamDiff Pro and regenerate the HTML diff report, it will show the same comparison session in the classic flat view:

In addition to the tree view feature, HTML reports for directory comparison will now let you resize the columns – a small quality-of-life feature that can make a big difference when, for example, you are comparing directories that contain files with long names. To resize a column, just drag that column's divider in either pane, and it will resize appropriately in both panes simultaneously.

For example, here's what it looks like when I go back to Tree Mode and drag the Name and Size columns to the right to give more space to the Name column:

If you're an avid user of our online file comparison tool DiffNow, you may have already noticed these changes, as we've been rolling out these improvements to DiffNow over the past few weeks. Note that DiffNow doesn't support comparing directories directly, but you can compare archive files (such as *.zip, *.rar, *.tar.gz, etc), which DiffNow unzips using the Unzip plugin and compares as directories. For example, I can compare these two ZIP files in DiffNow and see the results in tree view. Pretty neat!

Labels: , , ,

Sunday, November 26, 2023

ExamDiff Pro 15.0: Tree Mode in Directory Comparison

ExamDiff Pro 15.0 will introduce perhaps our biggest-ever change to directory comparison, as well as one of our most requested features ever: a Tree Mode in which comparison results are displayed recursively in a tree view, with subdirectories that can be expanded and collapsed (just like in Windows Explorer). This is in contrast to ExamDiff Pro's old behavior, in which subdirectories were either ignored or had all of their contents displayed all together (we now call this Flat Mode).

Starting with version 15.0, Tree Mode will be the default mode for directory comparison, but Flat Mode will continue to be available as an option (with all of its various subdirectory handling modes working exactly as before). We think you'd prefer Tree Mode in most circumstances, though!

Let's illustrate Tree Mode with an example. Here's a directory comparison session in the old Flat Mode (with recursive comparison enabled). Note that all files in all subdirectories within this comparison session are displayed together, with a Relative Path column indicating the path (relative to root) of each nested file:

Now let's see what it looks like in Tree Mode. We can switch modes either with the View | Toggle Tree Mode command or in the new Directory comparison mode section of the Options | Directory Comparison panel:

After switching to Tree Mode, here's what the comparison looks like. It's more like the way Windows Explorer displays directories, with collapsed folders that can be expanded to show the contents within:

Let's expand a few folders (by clicking the triangles to the left of them):

Note that when you expand a directory, you can also see a count of how many items within it are hidden either by comparison filters (that prevent certain files and directories from being compared) or view filters (that filter out what items are displayed). You can always see the total number of items filtered out by clicking on the filter icon(s) at the bottom of the comparison panes. You can also dig deeper into what items are being filtered out in a given directory by double-clicking on the "X item(s) are hidden by comparison/view filters" message, which opens out the Filtered Out Files and Directories dialog:

Expanding and collapsing directories in Tree Mode works as you would expect, and the expanded/collapsed state of directories is synchronized between the two panes (so expanding a directory in one pane will also expand it in the other pane). There are also handy Expand All and Collapse All commands, that are pretty self-explanatory, as well as a neat Expand to Differences command, that expands directories just enough so that all differences are visible, and no further.

The left diff bar displays only those diff blocks that are visible (in other words, both their start and end points are visible and not hidden inside a collapsed directory). Meanwhile, the diff combo box at the top shows all diff blocks, including ones that may not be visible in the current state – clicking on a diff block to navigate to it will expand directories appropriately so that it is visible. Likewise, the right color ("minimap") bars represent the fully-expanded view, and clicking anywhere within the color bars will navigate to that location within the directory pane and expand directories as needed so that the chosen location is visible.

All file operations work the same in Tree Mode as in Flat Mode, so you can copy over files and directories, delete items, etc, to your heart's content. Basically, aside from the nested tree view of directories, every other feature of directory comparison should work exactly the same way that you're used to.

Tree Mode even has support for interactive HTML diff reports. So when we create an HTML diff report now (from Directories | Report | Save HTML Diff Report...), it will also display results in a nested tree view, with directories that you can expand and collapse:

Labels: , ,

Saturday, August 12, 2023

ExamDiff Pro 14.0 Released!

We are pleased to announce that we've released ExamDiff Pro 14.0.

Here's what's new in this version:
  • Ability to match file structures (functions, classes, etc.) for text file comparison
  • Ability to detect programming language for files without supported extensions and clipboard contents
  • Portable version
  • Language support for Typescript
  • Language support for JSON
  • Document Type pane in the text comparison/merge status bar
  • Show preview of clipboard contents on mouseover in the Compare dialog
  • Ability to switch between different code pages to display byte codes in binary comparison
  • Option to not show Compare dialog on startup
  • Text comparison/merge status bar usability improvements
  • The width of the address column in binary comparison views is based on file sizes
  • More intuitive behavior of the "Run in new instance" option in the Compare dialog
  • Better support of Unicode characters in text comparison
  • Better syntax tree parsing performance for large files
  • When "Retain file/directory pair" in Options | Global is used, files/directories are now populated for all three modes: file and directory comparison and file merge
  • Better startup and comparison performance
You can find more details about ExamDiff Pro 14.0, as well as a download link, here, and the complete list of changes here.

Labels: , ,