|
From: John M. <joh...@ho...> - 2005-09-07 12:49:55
|
Hi, I just started using Kdiff3 and it is a fabulous tool. It has most of the features I use in a diff tool, it's very fast by comparison to others I've used and I like its interface too. Good work. After using it for a short time, I do have a couple of suggestions, some of which I've seen in other programs, some of which I haven't... 1) A feature to dynamically customise what files are shown in the directory tree (without a rescan) would help to reduce clutter. I'll try to describe what I mean... I would suggest categorising or adding attributes to each line in the view (both files and subdirectories containing files) for "Identical", "Exists in A only", "Exists in B only", "Exists in C only", "differences - A is newer", "differences - B is newer", "differences - C is newer", "different in whitespace only" "Selected" (*see below) and then allowing the user to select which items to show maybe using a menu or dialog box with toggle option for each attribute (some options override others, e.g. "Any Differences" obviously overrides "Difference (A is newer)") [Show/Hide/Ignore] Identical Files [Show/Hide/Ignore] Files in A only [Show/Hide/Ignore] Files in B only [Show/Hide/Ignore] Files in C only [Show/Hide/Ignore] Any Differences [Show/Hide/Ignore] Differences (A is newer) [Show/Hide/Ignore] Differences (B is newer) [Show/Hide/Ignore] Differences (C is newer) [Show/Hide/Ignore] Selected Files [Show/Hide/Ignore] Files different in whitespace only [Show/Hide/Ignore] Files with conflicts (might be tricky???) This would then allow the program to traverse its directory tree and remove files and entire subdirectories from its view if they don't contain files that the user currently cares about. 2) Related to the above suggestion of dynamically hiding entries is the idea of "selecting" interesting or uninteresting files. This could be done by addng a column with a tick box to the tree view and adding an attribute to each line (file or directory). A menu/dialog could be used to manage selections (Select all, unselect all, toggle selection, select by regular expression...). This would allow users to concentrate on particular files without a potentially lenghty rescan. 3) A feature to use an external editor (or indeed any external program). This has been described before but it's a useful feature. A slight extension of this feature is the ability to pass information from Kdiff to the program using substitution. Substition like the following mightbe useful (in A, B, C varities)... $FULLNAME_A (/my/path/myfile.txt) $PATH_A (/my/path) $FILENAME_A (myfile.txt) $BASENAME_A (myfile) $EXT_A (.txt) $LINENUMBER_A (123) $DRIVE_A (c:) (this might be useful in MSWindows) 4) Find files A method for finding files and automatically expanding the tree to highlight it would be useful. A simple "Find File" dialog is one way to go, however, if you've ever used the music player foobar2000, their "playlist search" works for very well for finding single files in huge playlists. It works by opening a dialog box containing a huge list of all files and it prunes out irrelevalnt files in the dialog box dynamically as you type the string you're searching for. You can then click the particular file you're looking for from a small list. Well that's my two cents, if you've any thoughts on those ideas or if I haven't been clear enough, let me know. Don't get me wrong, KDiff3 is a great tool and these are just a few suggestions... Regards, John Mullin |