DiffEngine
DiffEngine manages launching and cleanup of diff tools. It is designed to be used by any Snapshot/Approval testing library.
Currently used by:
Support is available via Tidelift.
Part of the .NET Foundation
Contents
- NuGet package
- Supported Tools
- Launching a tool
- Closing a tool
- File type detection
- BuildServerDetector
- Disable for a machine/process
- Security contact information
- Icons
- Tools
- Tool Order
- Custom Tool
- DiffEngineTray
- Code versus machine level settings
NuGet package
Supported Tools
- AraxisMerge
- BeyondCompare
- CodeCompare
- DeltaWalker
- Diffinity
- DiffMerge
- ExamDiff
- Guiffy
- Kaleidoscope
- KDiff3
- Meld
- Neovim
- P4Merge
- Rider
- SublimeMerge
- TkDiff
- TortoiseGitMerge
- TortoiseIDiff
- TortoiseMerge
- Vim
- VisualStudio
- VisualStudioCode
- WinMerge
Launching a tool
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.
Closing a tool
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.
File type detection
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
BuildServerDetector.Detected
returns true if the current code is running on a build/CI server.
Supports:
Disable for a machine/process
Set an environment variable DiffEngine_Disabled
with the value true
.
Security contact information
To report a security vulnerability, use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
Icons
Gears designed by Gregor Cresnar from The Noun Project.
Tray icons from LineIcons.