DiffEngine manages launching and cleanup of diff tools. It is designed to be used by any Snapshot/Approval testing library.
Currently used by:
Part of the .NET Foundation
- NuGet package
- Supported Tools
- Launching a tool
- Closing a tool
- File type detection
- BuildServerDetector
- Disable for a machine/process
- Icons
- Tools
- Tool Order
- Custom Tool
- DiffEngineTray
- Code versus machine level settings
- BeyondCompare Win/OSX/Linux (Cost: Paid)
- P4MergeText Win/OSX/Linux (Cost: Free)
- Kaleidoscope OSX (Cost: Paid)
- DeltaWalker Win/OSX/Linux (Cost: Paid)
- WinMerge Win/Linux (Cost: Free with option to donate)
- DiffMerge Win/OSX/Linux (Cost: Free)
- TortoiseMerge Win/Linux (Cost: Free)
- TortoiseGitMerge Win/Linux (Cost: Free)
- TortoiseIDiff Win/Linux (Cost: Free)
- KDiff3 Win/OSX/Linux (Cost: Free)
- TkDiff OSX (Cost: Free)
- Guiffy Win/OSX/Linux (Cost: Paid)
- ExamDiff Win/Linux (Cost: Paid)
- Diffinity Win/Linux (Cost: Free with option to donate)
- P4MergeImage Win/OSX/Linux (Cost: Free)
- Rider Win/OSX/Linux (Cost: Paid with free option for OSS)
- Vim Win/OSX/Linux (Cost: Free with option to donate)
- Neovim Win/Linux (Cost: Free with option to sponsor)
- AraxisMerge Win/OSX/Linux (Cost: Paid)
- Meld Win/OSX/Linux (Cost: Free)
- SublimeMerge Win/OSX/Linux (Cost: Paid)
- CodeCompare Win/Linux (Cost: Paid)
- VisualStudioCode Win/OSX/Linux (Cost: Free)
- VisualStudio Win/Linux (Cost: Paid and free options)
A tool can be launched using the following:
await DiffRunner.LaunchAsync(tempFile, targetFile);
Note that this method will respect the above difference behavior in terms of Auto refresh and MDI behaviors.
A tool can be closed using the following:
DiffRunner.Kill(file1, file2);
Note that this method will respect the above difference behavior in terms of MDI behavior.
DiffEngine use EmptyFiles to determine if a given file or extension is a binary or text. Custom extensions can be added, or existing ones changed.
BuildServerDetector.Detected
returns true if the current code is running on a build/CI server.
Supports:
Set an environment variable DiffEngine_Disabled
with the value true
.
Game designed by Andrejs Kirma from The Noun Project.
Tray icons from LineIcons.