Giter Site home page Giter Site logo

l13 / vscode-diff Goto Github PK

View Code? Open in Web Editor NEW
88.0 88.0 10.0 7.09 MB

Compare two folders in Visual Studio Code

Home Page: https://marketplace.visualstudio.com/items?itemName=L13RARY.l13-diff

License: Other

JavaScript 9.50% TypeScript 83.70% HTML 0.58% SCSS 6.22%
compare compare-files compare-folders diff diff-files diff-folders vscode vscode-extension

vscode-diff's People

Contributors

l13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vscode-diff's Issues

feature: show line diff summary

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.

Multiple diffs open simultaneously

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!

Cannot Find Module error while loading the plugin

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.

Browse for file button

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?

Ignore specific files

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?

Ignore end of line for text files

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

"exclude" in results view

Regex has these functions: ((?<!nameToExclude__).*), (((?!nameToExclude__).)*); that could be enough, but it doesn't preset currently . It works in VSCode Search 's regex .

Comparison involving remote workspace folder fails

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?

folders selection

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:
Screenshot 01-26-2020 15 57 36
; (not sure if its because of the extension)

Incorrect paths in Windows Subsystem for Linux

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.

Extension causes high cpu load

- Issue Type: Performance

  • Extension Name: l13-diff
  • Extension Version: 1.0.3
  • OS Version: Windows_NT x64 10.0.22000
  • VS Code version: 1.70.1

⚠️ Make sure to attach this file from your home-directory:
⚠️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

Buttons have disappeared

Haven't used diff for a month or so. Tried using it today and all the buttons have disappeared. Could this be related to the new version of Visual Source Code (Version: 1.48.1)?
Screenshot 2020-08-20 at 21 31 19

Option to use `git --work-tree=folder diff`

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.

L13 logo in the UI

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. 😁

Dates format

Please change the dates format to numeral, its much easier to use with operative mental memory (international -- 2020-12-20) .

Question: How is "Show all modified files" determined?

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.

Three-way diffing

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).

Add setting option to delete file without trash

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

Windows Symbolic Link with path to not existing file ["broken path"]

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) .

Run command after copy

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.

Last Edit date and time

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 .

Adopt VS Code's 'asWebviewUri' API

Hi, I maintain VS Code's Webview API

Issue

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.

Fix

To ensure that your extension continues to work in as many environments as possible—including on web and remotely—please:

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 wrapping

Paths of diff-found files/folders wrap for 1360px-wide VSCode window, and are not relative to the actual one . (i usually use 1120px)

Ignore end of line is not working on all files

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.

Advice on how to add synonyms

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.

Doesn't detect changes

Config

"l13Diff.abortOnError": false,
"l13Diff.confirmCopy": false,
"l13Diff.exclude": [],
"l13Diff.openInNewDiffPanel": true

VSC 1.67.2 . other extensions disabled

testData.zip

Typo

When I'm looking at difference results, on top of window there are buttons to show groups of results.
One of them shows:
image
Add missing "i".

Feature request: ignore creation and modification date in difff

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!

Folder view file list sorting not case insensitive

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.

SortingCaseInsensitive

In the screenshot above, I think fileapricot.txt should be sorted above fileButter.txt.

Does not work with in-memory file systems

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.

[FeatureRequest] Ignore sequence of character or entire lines matching regex (Text comparison and filenames)

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

Add tree view

An option to display the comparison results in a tree view would be nice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.