l13 / vscode-diff Goto Github PK
View Code? Open in Web Editor NEWCompare two folders in Visual Studio Code
Home Page: https://marketplace.visualstudio.com/items?itemName=L13RARY.l13-diff
License: Other
Compare two folders in Visual Studio Code
Home Page: https://marketplace.visualstudio.com/items?itemName=L13RARY.l13-diff
License: Other
Hi,
Thank you for creating this extension. It is very useful.
I want to see if it is possible to show the summary of total line differences between the two folders.
Like how many lines are added, modified, or deleted.
Hello,
Thank you for a quality extension. Very useful!
I observed that I can only diff a single pair of folders at any time. Could the extension be enhanced to support multiple diffs simultaneously?
Thank you!
Activating extension L13RARY.l13-diff
failed: Cannot find module '<>/vscode-diff/out/extension.js'
I'm trying to run the plugin after cloning the project. But I'm getting the No module error while activating the plugin. Need help out here.
Looks cool, is there a way to use it as a Git difftool?
I see the extension allows either a folder or a file, could each of the left and right file selctor text boxes also have a button to browse for a file as well as the browse for folder button?
Hi there, first of all thanks for making this extension, it's really great and has saved me a lot of time.
Our use case is to maintain two slightly different versions of the same app, which do require a separate repository, with a few differences, but mainly a large shared code base.
We use L13 to port over any changes that have been made in V2 to V1.
For the most part, this works great, however what would save us even more time, is if we could specify which files to ignore for a certain comparison.
That way, we could mark all the files that we know are different to be ignored, so we would only see the changes that we're interested in, which will allow us to process them a lot faster.
I was thinking perhaps you could utilise a configuration file in the project root (e.g. folder that is being compared), and specify in there which files you want ignored. Kind of like a .gitignore
but for L13 specifically.
The tricky bit is that ideally it would also allow you to specify files that don't exist in the folder, so that when comparing and they show up as new, it won't show them either.
What are your thoughts?
Scroll some, use Copy on file . The scrolling will jump to top .
Hi, thank you for your nice extension. I have been using it for some weeks now.
I see that the tool is reporting differences between files when one of them uses CRLF and the other one just LF. Is there a simple way to simply ignore this kind of difference?
The diff tool has a key for that:
--strip-trailing-cr
Hi, would it be possible to add the possibility to compare remote folders?
Regex has these functions: ((?<!nameToExclude__).*)
, (((?!nameToExclude__).)*)
; that could be enough, but it doesn't preset currently . It works in VSCode Search 's regex .
feature request as title
Hi, is it possible to be able to select the local volume when running project in a container?
Right now, I seem to be able to only browse files and folders within the container.
Would it be possible that you publish this VSCode extension also in https://open-vsx.org/
This would make it much easier to use the extension in project such as
thanks in advance
I tried to use Diff Folders in a workspace that contains local folders and remote folders accessed with the SSH FS extension. An attempt to compare a local folder to a remote folder results in an error because /
is scanned instead of the remote folder (VS Code 1.54.1 with Remote - WSL 0.54.3):
[22:40:38] Start comparing "/path/of/local/folder" ↔ "/"
[22:40:38] Scanning "/path/of/local/folder"
[22:40:38] Found 44 entries
[22:40:38] Scanning "/"
[22:40:38] Error: EACCES: permission denied, scandir '/lost+found'
Error: EACCES: permission denied, scandir '/lost+found'
Comparing a file in a local folder to a file in a remote folder works fine.
The SSH FS documentation for remote workspace folders claims that SSH FS works with extensions using the vscode.workspace.fs
API. May be use of that API could solve the reported issue?
first, thank you for sharing this, the extension is essential .
it would be good to add the both folders selection buttons to the Explorer context menu, its seem to be fine in terms of space, and it would be meaningful because the folders for comparison are usually located nearby . maybe it can be made settable/optional .
also, after i selected the first of (3251) differing files, the VSC made the whole system lag with bunch of this:
; (not sure if its because of the extension)
This has been working fine until updating VS Code last week.
In Windows I have
C:\git\test\aa and C:\git\test\bb
I open C:\git\test
in VSCode in Windows, select aa
and compare bb
with no problem
I open /mnt/c/git/test
in VSCode in WSL, select aa
and compare bb
, error 'The left path "\mnt\c\git\test\aa" does not exist.'
\
looks the wrong way round, but if I change the paths to /mnt/c/git/test/aa
etc, the error persists.
If I browse for the folders in Diff Folders, the path shows as /mnt/c/git/test/
, I select aa
, the path shows as /mnt/c/git/test/aa
, click ok, and it has switched to \mnt\c\git\test\aa
, and the error persists.
If I edit the paths to Windows paths, effectively change \mnt\c\
to c:\
, it works, so it's usable still but some of the convenience has gone.
(it's also working ok in Linux, just this odd thing with WSL)
And thanks for making this available, I use it daily, it's very much appreciated.
The left and right path can't be compared!
- Issue Type: Performance
l13-diff
1.0.3
Windows_NT x64 10.0.22000
1.70.1
file:///c%3A/Users/smb/AppData/Local/Temp/L13RARY.l13-diff-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-loa
L13RARY.l13-diff-unresponsive.cpuprofile.txt
L13RARY.l13-diff-unresponsive.cpuprofile.txt
Added the Log File
I am working with my files over "remote SSH" workspace and I am not able to open new diff panel.
vscode always shows "Failed to load resources".
Such a feature would support my own use case. I will look into implementing something like this. Please feel free to let me know if you also need something like this.
git --work-tree=/path/to/another_repo diff
allows git to do the diffing with multiple repositories, which handles, for example, file moves.
Would be great to have a way to request that method and have the output rendered as usual as a list of files.
The the L13 logo (although quite cool!) all over the place confuses me as I thought it would be something I could customise somewhere. So I looked around for a pref option to no avail. 😁
Please change the dates format to numeral, its much easier to use with operative mental memory (international -- 2020-12-20) .
Statement
I am trying to compare two similar folders but are in different repositories. When I have "Show all modified files" selected, it shows me files which the content inside are the same.
Expected Output
It should only show if there are differences in the content of the two files, and should ignore the modified date of the file.
Current Output
It shows the files that the contents are the same.
It says file "<<path to the symlink>>" does not exit!
. Explorer Sidebar 's "Reveal in File Explorer" works .
p.s. Using the chance, thanks again, this Extension is incredibly helpful X)
Hi, I would like to suggest adding a third panel where the user sees gathered the results of the actions taken on the "mine" and the "theirs" panels (in the same fashion as PyCharm).
Hi, i am currently working on a machine that i cannot change settings(do not have root), and when I try to delete a file it says cannot delete file via trash, provider do not support. So i wonder if it is possible to add a setting option that allows deletion without trash
Such are not copied, i use symbolic links also to target dynamically added data, so i hope you implement this support .
Also, Windows 's Hardlinks are unfolded to the whole files, and Junctions converted to Symbolic Links (i do not see these as issues, but maybe there should be a settings or something else) .
Hi,
thanks for this great extension.
I have already tried to edit and debug the extension in vscode but unfortunately I already failed to set up all development dependencies. Are there any specific requirements for debugging and building the diff extension?
I would like to run a command after successfully copying the selected files to the left or right folder. Ideally with the parameters "left folder" and "right folder".
Thank you.
RangeError [ERR_FS_FILE_TOO_LARGE]: File size (14048082216) is greater than possible Buffer: 4294967295 bytes
showing this in the lists would be useful .
also, this is kind of out of scope, but would be cool to add quick (by edit date + size or/and checksum) checking, and support for comparing large storages (handle: unlimited amount of files, and locked/system/.. files) . so it would be no need to use other software for comparisons in filesystem scope .
Hi, I maintain VS Code's Webview API
Our telemetry suggests that your extension uses webviews and may be loading resources in these webviews using hardcoded vscode-resource:
URIs. These URIs have some important limitations and don't work properly when VS Code is run in a browser. We are also making changes in the desktop version of VS Code that may cause these URIs to not work properly in future versions of VS Code.
While we are making our best effort to continue support existing webview extensions that use vscode-resource:
URIs on desktop versions of VS Code, we will not able to fully support all uses cases.
To ensure that your extension continues to work in as many environments as possible—including on web and remotely—please:
Switch to use the Webview.asWebviewUri
function for loading resources.
Switch to use the Webview.cspSource
property in content security policies.
These APIs shipped around 2 years ago so they should be available in all modern versions of VS Code. You can find additional information about the issue here: microsoft/vscode#97962
Let me know if you have any questions about this change
Paths of diff-found files/folders wrap for 1360px-wide VSCode window, and are not relative to the actual one . (i usually use 1120px)
Hope to add file merge function, similar to this extension : https://github.com/moshfeu/vscode-diff-merge
Enabling end of lines does work on the first folder files but other nested files still shows, I tried to compare the two files and found that one does not have ^M in the end of lines but the other has it on all lines.
I am trying to delete che default "Diff" favourite, but the "Delete all favourites" command does not work. I am running the latest VScode with the latest vscode-diff version on the latest MacOs X.
I'd like your advice on how to implement a new feature for adding equivalents or synonyms to the diff. The purpose is to consider equivalents as being the same.
For example, consider single quote (') and double quote (") as being equivalent. When enabled these lines would be considered equivalent.
const cr = require('crypto'); const cr = require("crypto");
Or when a variable has been renamed: cr is equivalent to crypto
const cr = require('crypto'); const crypto = require('crypto');
Your advice is greatly appreciated.
Config
"l13Diff.abortOnError": false,
"l13Diff.confirmCopy": false,
"l13Diff.exclude": [],
"l13Diff.openInNewDiffPanel": true
VSC 1.67.2 . other extensions disabled
Hi I would like to know if is possibile to perform a line by line check if the file has been actually modified, I have two version and the creation date for some reason seems to be different, so the plugin shows me all the files and not the actual changes, the files are exactly the same.
I think it should be great to have a setting in which you can toggle (check line by line / by modified date).
Thanks for making this plugin BTW!
VS Code version: 1.37.0 (user setup)
Extension version: [0.18.0] - 2019-07-21
I created a vscode-diff-filesTest folder structure, and then compared the folders using this plugin. The screenshot below shows the folder structure and the resulting Folder view in the plugin.
In the screenshot above, I think fileapricot.txt should be sorted above fileButter.txt.
This is a wonderful plugin, I am a huge fan. I am working on a project that will utilize a in-memory file system (for example https://github.com/microsoft/vscode-extension-samples/tree/master/fsprovider-sample). Unfortunately, your plugin doesn't work since the files and directories do not actually reside on disk.
I was wondering if you have thought about switching to using vscode.workspace.fs object instead of node js's fs object? This switch would allow your plugin to work with in-memory file systems. The objects have different methods and properties, but at first glance the functionality to check for file/directory and to open contents is there
I don't know how much of a pain that would be to switch, but thought I would ask.
Is it possible to access the settings for the Favorites directly and edit them?
Also, this would make it possible to export them from one machine and load them into another?
Performance
l13-diff
0.35.0
Darwin x64 20.5.0
1.53.2
/var/folders/83/7z4x3g294qs1g88v8kk4brtc0000gr/T/L13RARY.l13-diff-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load
For more than a decade, Araxis Merge has been my top diffing application. One very neat feature is the ability to control the text diffing with custom regexes. Essentially have a way to "ignore" portions of lines that matches a regex pattern or ignore the whole line containing that pattern. (similar to your options for the ignore white space for example). They had a list of named regex patterns that you can enable/disable (so you can keep the list and use them when required).
If you are in control of the text diffing logic it might be relatively doable, hopefully your current "ignore white spaces" options already had to do the heavy lifting. I didn't check how your logic works (maybe you just rely on the built-in VSCode compare?).
I ran into a case just now with folder comparison. The file names all had a timestamp in it which I wanted to "ignore" so it would attempt to automatically compare those files as if they had the same name, for example:
config_dump_2021_09_11.json config_dump_2021_09_10.json
settings_2021_09_11.json settings_2021_09_10.json
An option to display the comparison results in a tree view would be nice
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.