The extension allows you to compare folders, show the diffs in a list and present diff in a splitted view side by side.
The extension uses the great dir-compare
package made by Liviu Grigorescu. If you like this extension, please give a star to dir-compare
!
Currently seems like there might be issues [#81, #83] with comparing local and remote folders over ssh. Please take this under consideration.
There are several ways to choose folders to compare:
- Command Palette
Compare a folder against workspace
choose a folder to compare against the workspace's folder (when workspace is not empty)Choose 2 folders and compare
- opens OS folder chooser twice
- Compare Folders Panel (Click on the icon in the Activity Bar)
Click to select a folder
see 1st itemClick to select folders
see 2nd item
- File explorer
- Select 2 folders, right click and click on
Compare selected folders
see 2nd item
- Select 2 folders, right click and click on
- From history
Pick from recent compares
chose one of the pairs you compared in the past.- (The list can be reset by
Clear recent compares
)
- Toolbar
Pick from History
: Choose one of the pairs you compared in the past.Swap Sides
: Swap the sides of the compared folders.Refresh
: Re-compare the folders if there are changes in the compared folders' files.View as List / View as Tree
: Toggle between list and tree view modes.
- Files
Dismiss
: Remove the file from the list of compared items.Take My File / Take Compared File
: Replace the file with the one from the other side.
- Files
Copy to My Folder / Copy to Compared Folder
: Copy the file to the other side.Delete
: Permanently delete the file from the file system.
excludeFilter
- glob stringincludeFilter
- glob string
Example
"compareFolders.excludeFilter": [
"**/node_modules",
"**/.svn",
"**/.git"
]
compareContent
- boolean - Compares files by contentdiffViewTitle
- One of the options: "name only", "compared path", "full path"ignoreFileNameCase
- boolean - Compare files with the same name but different casediffLayout
- One of the options: "local <> compared" or "compared <> local"showIdentical
- boolean - Whether or not show the identical files paneluseDiffMerge
- boolean - Whether or not usingDiff & Merge
extension as the Diff viewer. In order to use this option, you should install the extensionfolderLeft
+folderRight
- strings - paths of 2 folders, compare them on the extension load.ignoreExtension
- Set groups of extensions so while comparing, pairs of files considered the same file if both of the files extension are in the same group. Note: each extension can show only once it this list Example
"compareFolders.ignoreExtension": [
["php", "cs"]
]
ignoreLineEnding
- boolean - ignore crlf/lf line ending differencesignoreWhiteSpaces
- boolean - ignore white spaces at the beginning and ending of a line (similar todiff -b
)ignoreAllWhiteSpaces
- boolean - ignore all white space differences (similar todiff -w
)ignoreEmptyLines
- boolean - ignore differences caused by empty lines (similar todiff -B
)respectGitIgnore
- boolean - include / exclude files based on .gitignore - this option works together withincludeFilter
andexcludeFilter
options.⚠️ The extension supports the main basic gitignore rules. For instance, it supports negation (!
), but it doesn't support .gitignore files in subfolders. If there is an important use case that is not supported, please open an issue.defaultDiffViewMode
- One of the options: "tree" or "list". The default view mode when vscode is opened. Later it can be toggled by the "View as list / View as tree" button
By calling the following command from the terminal / command line, the extension will be calling on vscode load and show the differences view
COMPARE_FOLDERS=DIFF code path/to/folder1 path/to/folder2
llgcode
|
Per Persson
|
orellabac
|
Niccolò Mineo
|
Sam Pellino
|
Show your love
Please create an issue
You can find it here
Activity bar's icon (and more) by Stockio.com Null icon made from Icon Fonts is licensed by CC BY 3.0 External link icon made by Dave Gandy from www.flaticon.com
You can find the series of the posts about how this extension developed step by step in medium.com.