Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support external diff algorithms in internal diff editor #84981

Open
pvspain opened this issue Nov 17, 2019 · 10 comments
Open

Support external diff algorithms in internal diff editor #84981

pvspain opened this issue Nov 17, 2019 · 10 comments
Assignees
Labels
diff-editor Diff editor issues feature-request Request for new features or functionality
Milestone

Comments

@pvspain
Copy link

pvspain commented Nov 17, 2019

Reopening closed feature request #30694

Openness, extensibility and customisability are the features that keep me coming back to VSCode. Being built upon an OSS core (Electron) was strong evidence of a change of culture at Microsoft.

In that spirit, would you please reconsider the original request from @myfairsyer. Different diffing algorithms produce significantly different results and are suited to different purposes. There is no one-size-fits-all solution.

Paraphrasing @myfairsyer, please consider abstracting the diff functionality to allow different hunk-list providers. Respecting the algorithm set in Git configuration would be an ideal baseline.

As another example, BeyondCompare allows significant customisation, including 2 of the 4 algorithms offered by Git.

@alexdima alexdima added diff-editor Diff editor issues feature-request Request for new features or functionality labels Nov 18, 2019
@alexdima alexdima added this to the Backlog Candidates milestone Nov 18, 2019
@alexdima alexdima removed their assignment Nov 18, 2019
@ksze
Copy link

ksze commented Nov 21, 2019

Yep, I agree that VS code should support external diff tools with their known algorithms.

@Hermholtz
Copy link

I'm missing Git's "patience" algo.

In my opinion there's a place for API and extensibility here. We could have various diff algorithms available as extensions, in addition to a good set provided right inside VS Code.

@vscodebot
Copy link

vscodebot bot commented Jan 15, 2020

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

@vscodebot
Copy link

vscodebot bot commented Feb 14, 2020

🙂 This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

@ghost
Copy link

ghost commented Sep 6, 2021

Any update here?

Internal diff algorithm sometimes gives poorly visual results.
I wish I could use patience diff algorithm in vscode diff editor.

@daevski
Copy link

daevski commented Feb 23, 2022

Yeah, this is ridiculous; notepad++ compare on the left, vscode compare on the right.

notepad++vs-vscode-compare

@bersbersbers
Copy link

I would like to reference feature request #145068 here (disclaimer: it is taking votes, and I am the author) which may or may not make sense considering when defining an interface for alternative diff algorithms or diff extensions (in which case it might also be implemented independent of the diff algorithm as some kind of post-processing.)

In essence, I propose another change category (in addition to the current ones, which are green = line added and red = line removed). This new category (let's call it gray) shall represent lines which have no other change but being commented out or in (using language-specific grammar rules) with respect to the reference lines, allowing to overscroll them more easily because color and font style encode the only change (enabling/disabling the line).

@0dB
Copy link

0dB commented Sep 28, 2022

this is ridiculous; notepad++ compare on the left, vscode compare on the right.

Highlighting inside a line is an Ediff feature. Diff just looks for changed lines, no matter what the algorithm is. The difference between the diff algorithms (the original diff, myers, minimal, patience, histogram) is how the lines between two files are ligned up. So it seems Ediff is being used on the left by notepad++ and not on the right. In Emacs for example you can activate Ediff for displaying a diff / diff3 output (and this is independent from the diff algorithm).

@hediet hediet self-assigned this Oct 28, 2022
@pawk3k
Copy link

pawk3k commented Aug 21, 2023

Do you have any updates on that? Do you have any plans on adding support for external diff tools? 🤔 . I'm thinking more about using difftasctic as a diff tool for vs code.
I'm not the only one here :
https://news.ycombinator.com/item?id=30841244.
https://stackoverflow.com/questions/73671245/how-to-change-the-diff-tool-used-by-vscode-for-git
Also, if anyone knows if it's possible right now, how can we achieve that?

@maffinyep
Copy link

up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
diff-editor Diff editor issues feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

10 participants