{"id":15287599,"url":"https://github.com/moshfeu/vscode-diff-merge","last_synced_at":"2025-04-09T14:10:40.236Z","repository":{"id":37930967,"uuid":"220754252","full_name":"moshfeu/vscode-diff-merge","owner":"moshfeu","description":"A vscode extension to merge diffs ","archived":false,"fork":false,"pushed_at":"2024-11-20T13:01:36.000Z","size":2424,"stargazers_count":72,"open_issues_count":11,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T12:09:25.970Z","etag":null,"topics":["compare","merge","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=moshfeu.diff-merge","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moshfeu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-10T07:05:19.000Z","updated_at":"2025-02-16T09:25:35.000Z","dependencies_parsed_at":"2024-04-22T08:46:47.456Z","dependency_job_id":"195484a4-7518-4a25-9045-85fa0a01c97a","html_url":"https://github.com/moshfeu/vscode-diff-merge","commit_stats":{"total_commits":118,"total_committers":3,"mean_commits":"39.333333333333336","dds":0.2542372881355932,"last_synced_commit":"c527fa84cafe29033d64fab4bc407a45157f17fb"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshfeu%2Fvscode-diff-merge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshfeu%2Fvscode-diff-merge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshfeu%2Fvscode-diff-merge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshfeu%2Fvscode-diff-merge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moshfeu","download_url":"https://codeload.github.com/moshfeu/vscode-diff-merge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054196,"owners_count":21039952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compare","merge","vscode","vscode-extension"],"created_at":"2024-09-30T15:32:24.816Z","updated_at":"2025-04-09T14:10:40.213Z","avatar_url":"https://github.com/moshfeu.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🌅🌅 This extension is (almost) not needed anymore 🌅🌅\n\nSince vscode [has 3 way merge built-in](https://code.visualstudio.com/updates/v1_69#_3-way-merge-editor), and even a better one, this extension is no longer needed.\n\nI keep the extension and the source code for education and refrences only.\n\n\n[![Build Status](https://dev.azure.com/moshfeu-vscode/DiffMergeExtension/_apis/build/status/moshfeu.vscode-diff-merge?branchName=master)](https://dev.azure.com/moshfeu-vscode/DiffMergeExtension/_build/latest?definitionId=1\u0026branchName=master)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-yellow.svg?style=flat)](https://github.com/Coding-Coach/find-a-mentor/issues)\n[![The MIT License](https://flat.badgen.net/badge/license/MIT/orange)](http://opensource.org/licenses/MIT)\n[![GitHub](https://flat.badgen.net/github/release/moshfeu/vscode-diff-merge)](https://github.com/moshfeu/vscode-diff-merge/releases)\n[![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/i/moshfeu.diff-merge.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=moshfeu.diff-merge)\n[![Follow me on Twitter](https://img.shields.io/twitter/follow/moshfeu.svg?style=social)](https://twitter.com/moshfeu)\n\n# Diff \u0026 Merge!\n\nShow diffs and allow mergeing from left side to right side.\n\n✋ **This extension is maintained on my free time. I'm only fixing / developing features requested by the community.**\n\n🧙‍♂️ Notice that I (and seems that many others) couldn't find an easy way to implement such feature. Therefor, the user experience may not be perfect. The colors, fonts, icons, shortcuts and other UI elements may not be the same as vscode's.\n\n\u003cimg width=\"1061\" alt=\"Screen Shot of the extension\" src=\"https://user-images.githubusercontent.com/3723951/70169375-5b116a80-16d3-11ea-800e-99fd941a1bd8.png\"\u003e\n\n👂**I would love to hear your feedback to improve this tool**\n\nFound a bug? Have an extra ordinary idea? Please create an [issue](https://github.com/moshfeu/vscode-diff-merge/issues/new)\n\n\n## Features\n\n### 1. Diff and merge - file against file\n\n\u003cimg width=\"463\" alt=\"explorer - context\" src=\"https://user-images.githubusercontent.com/3723951/69405996-b4f45680-0d09-11ea-9b9f-f24f9e9c69a5.png\"\u003e\n\nOr\n\n### File against selected file (#40)\n\n\u003cdetails\u003e\n  \u003cimg width=\"463\" src=\"https://user-images.githubusercontent.com/3723951/116193146-92087600-a737-11eb-8f6f-de6dca038b8f.gif\" /\u003e\n\u003c/details\u003e\n\n**How to use?**\n\n1. Right click on a file \u003csup\u003e[1]\u003c/sup\u003e in _explorer_ panel or on an editor tab\n2. Click `[Diff \u0026 Merge] Select file to compare`\n3. Right click on another file or an editor tab\n4. Click `[Diff \u0026 Merge] Compare file with selected file`\n\n### 2. Diff and merge - file against clipboard (#25)\n\n\u003cdetails\u003e\n  \u003cimg width=\"463\" src=\"https://user-images.githubusercontent.com/3723951/98452048-7cd16800-2154-11eb-9a3c-cdc8fe73aa90.gif\" /\u003e\n\u003c/details\u003e\n\n**How to use?**\n\n1. Right click on a file \u003csup\u003e[1]\u003c/sup\u003e in _explorer_ panel\n2. Click `[Diff \u0026 Merge] Choose a file to merge`\n3. Choose a file \u003csup\u003e[1]\u003c/sup\u003e to compare\n\n### 3. Diff and merge - git - file against older version\n\n\u003cimg width=\"340\" alt=\"source control - context\" src=\"https://user-images.githubusercontent.com/3723951/69405995-b4f45680-0d09-11ea-837c-4a8925df3556.png\"\u003e\n\n**How to use?**\n\n1. Right click on a file \u003csup\u003e[1]\u003c/sup\u003e in the source control panel under **Changes** (staged files are not editable anyway)\n1. Click on `[Diff \u0026 Merge] Open Changes`\n\n### 4. Diff and merge - svn - changes (tested with the [svg extension](https://marketplace.visualstudio.com/items?itemName=johnstoncode.svn-scm))\n\n\u003cimg width=\"300\" alt=\"source control - svn\" src=\"https://user-images.githubusercontent.com/3723951/93455884-9ccb7480-f8e5-11ea-8a43-e8c924c4e4cd.png\"\u003e\n\n1. Right click on a file \u003csup\u003e[1]\u003c/sup\u003e in the source control panel under **Changes** (staged files are not editable anyway)\n1. Click on `[Diff \u0026 Merge] Open Changes`\n\n### 4. Diff and merge - from scratch\n\n**How to use?**\n\n1. Open commmand palette (\u003ckbd\u003eCommand / Ctrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e)\n1. Search for `[Diff \u0026 Merge] Blank diff view`\n2. An empty diff view will opened. Paste a code in both sides and compare\n\n\u003chr /\u003e\n\u003csup\u003e[1]\u003c/sup\u003e - Make sure that the file is text based (not images, binaries, pdfs etc.)\n\n## To Do\n\n- [ ] Add save button next to the diff navigator buttons\n- [ ] Add \"Go to original file\" next to the save button\n- [ ] Allow to change the \"save\" key binding\n- [ ] Focus the tab when asking to compare a file that already open\n- [ ] Add option to ignore files by pattern (?)\n\n## Known issues\n\n- Context menu shows up for non text based files (binary etc.)\n- Diff editors theme has different look \u0026 feel than current theme ([monaco is not fully competiable with vscode theme](https://github.com/Microsoft/monaco-editor/issues/675#issuecomment-363151951))\n- Left editor can be edited (to allow copy/paste for example) but can't saved\n- When first comparing, the theme configuration file appearing for a moment - meant to retrive theme variables for the diff view theme\n- [API limitation] For single comparing - left editor is editable but can't be saved\n- [API limitation] Draft indication is next to the \"x\" icon but not on top of it\n- [API limitation] Save is only with ctrl / cmd + s. There is no API to listen to \"Save\" event or getting the current save key binding\n- [API limitation] File \u003e Save is disabled\n- [API limitation] When moving from dark to light theme, opened windows doesn't refreshed\n\n## Development\n\n```\nyarn\ncd resources/monaco\nyarn\ncd ../../\nyarn webview:watch\n```\n\nHit \u003ckbd\u003eF5\u003c/kbd\u003e\n\nTo run the diff view directly in the browser\n\n1. `yarn webview:watch`\n2. `yarn monaco` (in different terminal)\n3. Go to `http://localhost:12345/wrapper.html`\n\n## Credits\n\n\u003cdiv\u003eIcons made by \u003ca href=\"https://www.flaticon.com/authors/pixel-perfect\" title=\"Pixel perfect\"\u003ePixel perfect\u003c/a\u003e from \u003ca href=\"https://www.flaticon.com/\" title=\"Flaticon\"\u003ewww.flaticon.com\u003c/a\u003e\u003c/div\u003e\n\n## Thanks\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"28\" src=\"https://avatars1.githubusercontent.com/u/198677?s=28\u0026v=4\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/evilrix\"\u003e@evilrix\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"28\" src=\"https://avatars1.githubusercontent.com/u/499317?s=28\u0026v=4\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/bedge\"\u003e@bedge\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"28\" src=\"https://avatars1.githubusercontent.com/u/725456?s=28\u0026v=4\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"@nemchik\"\u003e@evilrix\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nI would love to have you in this list :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoshfeu%2Fvscode-diff-merge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoshfeu%2Fvscode-diff-merge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoshfeu%2Fvscode-diff-merge/lists"}