-
Notifications
You must be signed in to change notification settings - Fork 30.6k
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
Comments
Yep, I agree that VS code should support external diff tools with their known algorithms. |
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. |
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! |
🙂 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! |
Any update here? Internal diff algorithm sometimes gives poorly visual results. |
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). |
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). |
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. |
up |
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.
The text was updated successfully, but these errors were encountered: