Visual Comparer
If you’ve been building web projects or software, you understand how difficult managing these files can become. The process of merging different source code can be very annoying. Visual Comparer enables you to compare text files side by side and view the highlighted differences in color. The program not only highlights the line that contains the difference but also the individual change, down to a single character. You can then selectively transfer changes from the left to the right or vice versa and have full control and freedom of text editing.
|
|
Comparison panes
One of the main differences of Visual Comparer from other similar programs is its fully-functional text editor. You can copy, delete, find, and replace text in Visual Comparer just as you would in any other text editor. All these features are available in the comparison panes. Each pane represents the content of one file being compared, allowing you to edit and merge different blocks with the other file.
- Margin Bar: This is the area with margin indicators that provide visual cues for certain actions during the editing or comparing of your source files.
- File Information Pane: This area represents short file information. For detailed information, please see here.
- Virtual Lines: This is a special concept in Visual Comparer, referring to missing lines in the given file. This term arose from the comparison technology in Visual Comparer. The presence of virtual lines does not affect the file content; it only indicates the absence of lines that are present in the other file.
- Splitter: The two comparison panes are separated by a "splitter bar" that the user can drag to change the relative sizes of the panes.
- Same Lines: These are lines that are determined to be equal after comparing.
- Differing Lines: These are lines that are determined to be different after comparing.
Each comparison pane has its own pop-up menu that includes some frequently used commands. To activate the pop-up menu, simply click the right mouse button in the editing area. The commands available depend on where you click in the comparison pane. For example, if you click on a block of differences, merging commands will be accessible in the menu.
If you frequently use commands that are not present in the pop-up menu, you can expand or change it. Visual Comparer supports customization of context-dependent menus and tool panes.
To make recognition of file differences more convenient and increase your productivity during comparison Visual Comparer has a number of additional actions with Comparison Panes, namely:
- Toggle orientation - switch the panes orientation from vertical to horizontal layout and back;
- Splitter parking - switch the parking of panes splitter cyclically on the right, on the left and in the center of the main window. This opportunity is convenient to use in situations, when line length in one or both panes exceeds the size of seen area. You can temporarily place the splitter in convenient position to see the whole differences;
- Lines numbers - comparison pane supports the displaying of lines numbers for each file. Numbering of lines is made without taking into account virtual lines. It supported the original numbering of lines in files. For recognition convenience each 10-th line is displayed by different color;
- Swap panes - Swaps the left and right panes.
The full-functional text editor
The full-functional text editor does line comparing and allows to carry out additional editing of the text while matching. It is done as conveniently and easily as in the usual text editor.
Features list:
- undoes or redoes previous actions without of limitation on the number of actions;
- bookmarks;
- line number in the margin;
- support of DOS, Unix, Macintosh and mixed "end-of-line" format in text files;
- find and replace with regular expressions support;
- support of text files in Unicode and UTF-8 formats;
- copying of the selected text to the clipboard in HTML format with preserve of syntax highlight.
Search and Replace
'Search and Replace' makes possible for you to search for and replace specified text in the current pane of Visual Comparer and support regular expressions. Find/Replace dialogue works in modeless mode. Therefore you can not only make find and replace but also make editing of the text during of the find and replace.
Strict and exact syntax highlighting
The majority of modern text editing tools possess a syntax highlighting feature of various programming languages. Visual Comparer has this feature as well.
Visual Comparer supports syntax highlighting for the following programming languages:
- HTML and CSS2;
- C and C++ (based on Visual C++ 6.0);
- C# (C Sharp - Visual Studio.NET);
- Visual Basic .NET;
- VBScript .NET;
- JScript .NET (version 7.0 from Visual Studio.NET);
- Borland Delphi 7;
- Perl (version 5.005);
Line matching
Visual Comparer supports char-by-char lines comparison (F12
and Shift+F12
to enable this mode). Unequal chars are marked as red:
You can also reallocate lines in a separate block of differences ("Adjust similar lines"). This feature is based on the "lines similarity" concept:
Pic. 1. Before adjusting
Pic. 2. After adjusting
Comparison Map and quick navigation
For convenient moving and full scope of file differences Comparison Map is intended. It consists from area of differences and scrollbar. Using Comparison Map, you can move quickly through the differences. You can do it both with help of scrollbar and direct cursor positioning. Simply click on required difference area to see necessary difference block.
The scrollbar height of Comparison Map is proportional to the size of a seen part of edited area in Comparison Panes. For convenient use Comparison Map can be placed both at the left and on the right to main window. If you are going to use Comparison Map as alternative to vertical scrollbars of Comparison Panes, you can turn them off. In this case you may need the opportunity of increase the scrollbar width at Comparison Map. All these opportunities are accessible in menu View.
The scrollbar of "Comparison Map" it is synchronized with vertical scrollbars of Comparison Panes. If you scroll "Comparison Map" or one of Comparison Panes they will be scrolled Panes synchronously.
Navigation by differences with synchronization feature
We recommend use keyboard shortcuts to move between differences and they synchronization.
It is more efficient and convenient than using the buttons located on command toolbars.
To highlight lexical terms in various programming languages Visual Comparer uses such a concept as Parser. Lexical highlight parsers are realized as external plug-in modules. Each module (file) contain a collection of parsers and have .prs extension.
Visual Comparer already has by default the syntax highlighting that located in nikeware.prs file with following programming languages:
- HTML and CSS2;
- C and C++ (based on Visual C++ 6.0);
- C# (C Sharp - Visual Studio.NET);
- Visual Basic .NET;
- VBScript .NET;
- JScript .NET (version 7.0 from Visual Studio.NET);
- Borland Delphi 7;
- Perl (version 5.005);
Online available additional syntax highlight parsers:
Ada 95 - Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language. | download |
VLisp - AutoCAD Auto/Visual LISP programming language. | download |
WIL - script language for WinBatch (the Batch Language for Windows desktop automation solution). | download |
TCL version 8.0 - Tools Common Language syntax highlight parser. | download |
How to install new parsers:
- download the new appropriate parser plug-in;
- put the new parser to the parsers directory - "Parsers";
- reload Visual Comparer;
- go to the Parsers property page on the Settings dialog (menu Tools);
- find the newly installed parsers and setup other colors for tokens (if necessary);
- switch to the Filters property page, associate the new parser with the existing filter or create a new file extensions filter if necessary and associate it with the new parser.
Visual Comparer 1.80, build 0610
New:- increment/decrement of the font size in panes by Ctrl+MouseWheel;
Visual Comparer 1.80, build 0608
New:- support of parser configuration file in json-format (experemental). See nikeware.prs.json as example;
Visual Comparer 1.80, build 0607
New:- donate link added;
- new command line parameter "-norecent" added (don't add file names in to recent list);
- some issues in installer;
- no mouse click on comparison map (multimonitors system only);
- bug with application closing if some file was deleted externally;
Visual Comparer 1.80, build 0605
New:- Now Visual Comparer is FREE!!!
- time of loading for app at start up is decreased;
- other improvements and bugs fixing;
Visual Comparer 1.80, build 0601
Fixes:- settings for "no parser" parser not restored after application restart;
Visual Comparer 1.80, build 0600
Fixes:- improvements and bugs fixing;
Visual Comparer 1.80, build 0530
Fixes:- incorrect mouse wheel processing for some specific mouse devices;
Visual Comparer 1.80, build 0525
Fixes:- minor bugs fixing and improvements;
Visual Comparer 1.70, build 0506
New:- info about of tabulation size in status bar;
- changing of BOM marker from little endian format to big endian after save;
- minor bugs fixing;
Visual Comparer 1.70, build 0496
Fixes:- "Tools" menu after installation is empty;
- some information popups and context menus have invalid position on multimonitor systems;
- few other bugs;
Visual Comparer 1.65, build 0481
New:- Print and print preview;
- manual/auto codepage selection support. Now you can select required codepage for a file before comparing (only unicode version);
- illegal displaying of unicode/language specific characters in message boxes;
- few other little bugs;
Visual Comparer 1.60, build 0441
New:- now Visual Comparer compatible with Windows Vista;
- comparison map now show bookmars also;
- focus switching between file selection comboboxes by tab;
- new command line parameter - "fullscreen". You can run Visual Comparer in full screen mode from command line;
- now you can change eol character for each line(s) individually (see popup menu);
- if app in non-active state, the external file change notification popup arise in any case;
- the crlf type of new line always is DOS type (fixed, now inherithed from current line);
- the crlf type in virtual lines always is DOS type (fixed, now calculated from source file);
- saving failed on UTF8 files that contain many utf specific symbols;
- full screen mode on multimonitor systems;
- indenting a selection which contains empty lines created superfluous whitespaces;
- the placholders for tools do not change when you press "swap panes" (ctrl-u);
- drag and drop text operations from one pane to other is not unicode compliant. As result, your unicode/language specific characters may by corrupted);
Visual Comparer 1.60, build 0414
New:- new look of icons on toolbars;
- advanced file masks in file filters. Now you can make complex file masks ("*box.cpp" or "*.h_version_??" for example);
- "TipsOfTheDay" tooltip improved;
- when merging lines with Ctrl+Alt+left/right, the cursor does advance to the next line/difference block;
- "swap pathes" command on "Comparison" toolbar;
- "copy left path to right" command on "Comparison" toolbar;
- alternative font (F11 - to quick toggle between general and alternative fonts);
- new arguments for the user-defined tools and applications: $(SrcFileName), $(TrgFileName), $(SrcFileExt) and $(TrgFileExt);
- saving of the virtual lines block as empty line (if the block is first in file);
- tab problem with "Insert spaces" mode;
- crashing on very long lines;
- when you begin typing outside of a line, tabs are insered before first typed character even if "insert spaces" is enabled;
- when you try select something using mouse double click and then use Shift+Left/Right (or Up/Down) cursors, new selection begins where the cursor currently is (it should enlarge/shrink the existing selection instead);
- few little bugs fixed;
Visual Comparer 1.50, build 0385
New:- you can move lines between empty (virtual) lines inside the difference block ("Ctrl+Enter" or "Shift+Enter");
- partial merging of different characters in the line; if you want to merge the differences in a line, select them and press "Alt+(Left or Right)";
- Advanced Data Streams support. Now you can compare, edit and save an existing ADS in the file directly in Visual Comparer (for advanced users);
- the "properties" command for the opened files;
- new comparison flag: "ignore EOL differences". You can turn off this parameter if you want to see the differences in the files with mixed EOLs in lines (See the property tab Tools->Setting->Comparison);
- EOL markers toggling added (See menu View->EOL markers);
- prevent EOL from changing flag added (See the "Merging" property page). Now you can merge differences keeping the original EOL markers in lines.
- white space toggling now works synchronously for both panes;
- redesign of drop down recent files list menu. Now file pairs arranged one under another;
- a few minor bugs;
- the recent files list drop down menu redesigned. Now file pairs are arranged one under another;
- new property page "Merging" added to the "Settings" dialog box. Some settings moved from the "Editors" page to the "Merging" page.
Visual Comparer 1.40, build 0375
New:- the complete adjustment of similar lines in each block of differencies at the program start up or after repeated comparing of active files;
- the "Tip of the Day" has been implemented. Use "Alt+F1" to invoke it;
- file names in the title of the main window for easy navigation between instances of Visual Comparer;
- new look and extended functionality of "Parsers" property page in the "Settings" dialog box. Now you can set up colors for difference blocks individually for each parser;
- a few additional options in the "Settings->Editors" property page;
- some notification messages transformed to the popup tooltips;
- "Ctrl+D" shortcut added to invoke the recent files list;
- "Lines similarity" algorithm;
- a few minor bugs;
- the "Comparison colors" property page removed from the "Setting" dialog box. Now all comparison colors for difference blocks are the part of the parser syntax highlight engine. Therefore you can configure these colors for each parser individually.
Visual Comparer 1.30, build 0364
New:- the "Adjust similar lines" command for difference blocks;
- the "Full Screen mode" command (F9);
- recent list of last 10 pairs of compared files;
- percent of similarity for current lines in the status bar
- two new arguments for the user-defined tools and applications: $(Row at cursor) and $(Column at cursor);
- tagged expressions in replacement string added (see Replace dialog);
- the topmost line number displayed for each pane in the information pane while scrolling, "Line numbers" mode being off;
- active view cyclic switch by "Home" and "End";
- "read only" indicator in the caption of the comparison pane;
- keeping up cursor position after the "Compare Files" button has been pressed repeatedly for current files;
- crash when some file(s) is empty (have zero length);
- crash when the file to compare is actually the remote file (mapped through NetDrive or other specific driver). For example, some directory on FTP server may be mapped to logical disk on your computer (through NetDrive);
- some difference lines in some situations is not visible in the comparison map;
- difference lines not visible in the comparison map in some cases;
- the comparison map failed to use the new comparison colors settings;
- conflict drawing of the selection blocks with margin area while scrolling horizontal with "Show Line Numbers" on;
- a few minor bugs;
Visual Comparer 1.20, build 0345
New:- support fonts with variable-width characters;
- bold, italic and underline properties for syntax highlighting;
- new command line parameters;
- Shift + Mouse Wheel keyboard accelerator for scrolling text horizontally;
- Ctrl + Mouse Wheel keyboard accelerator for navigting through the next/prev differences;
- the information pane and the syntax highlight visibility flag state not stored;
- the comparison map auto refresh bug;
- a few minor bugs;
Visual Comparer 1.10, build 0325
New:- multilanguage interface;
- modeless find/replace dialog with regular expressions support;
- Visual Comparer showing some lines as equal, being really different (for instance, "ignore all spaces" comparison flag being on), you can synchronize these lines with "Different to LEFT/RIGHT" and "Line to LEFT/RIGHT" commands;
- toolbars became not visible being docked to the left or right side of the main window;
- "Save As" functionality was unlike other Windows applications;
Visual Comparer 1.01, build 0302
New:- "Save" and "Save As" commands for active file added.
- the MFC-Version of Visual Comparer installing caused the error: "Cannot replace msvcrt.dll, permission denied";
Visual Comparer 1.0, build 0301
New:- context sensitive Help;
- syntax highlighting parsers implemented as external plug-in modules;
- user-defined tools and applications launch support;
- resetting colors in the syntax highlighting parser to default values;
- new syntax highlighting parsers:
- VBScript;
- Visual Basic .NET;
- Borland Delphi 7 (Object Pascal).
- switching Comparison Map scrollbar size between small and standard;
- Navigation Bar in HTML Report;
- Toolbar in the File Open dialog (Windows 2000/XP only).
- "ignore leading spaces" incorrectly processed lines consisting of white spaces only;
- crash on attempting to compare folders;