winmerge
winmerge是Windows的开源差异和合并工具。它可以比较文件和文件夹,以易于理解和操纵的视觉格式呈现差异。自2000年以来,它一直在积极发展。
winmerge可以做什么?
winmerge的功能包括:
- 文件比较:在视觉上比较两个或三个文本文件的内容并排,从而强调了它们之间的差异。它还可以突出一行中的差异。
- 文件夹比较:比较两个文件夹的内容,显示哪些文件不同,缺少或仅存在于其中一个文件夹中。
- 合并:文件或文件夹之间的更改。您可以选择一个从一个到另一个差异。
- 语法突出显示:各种编程语言和文件格式的语法突出显示,使识别代码或结构化文本的更改变得更加容易。
- 补丁文件创建:生成补丁文件(以正常,上下文和统一格式)来描述文件之间的差异。
- 忽略选项:将其配置为忽略空格差异,案例更改或基于正则表达式的特定行。
- Shell Integration :与Windows Explorer集成,允许您右键单击文件或文件夹,并将其直接与winmerge进行比较。
- 存档支持:使用7-zip,比较存档格式中的文件。
从本质上讲,这是一个需要跟踪文件更改,比较文档或代码的不同版本的人的工具,或者是不同人进行的合并修改。
如何贡献
如果您认为自己找到了一个错误或想请求功能,请提交问题。
为了贡献代码,将主要的winmerge存储库分叉并在该叉上创建一个分支。
使用Eric Allman缩进格式化代码。
当您的代码准备好审核/合并时,请创建一个拉请请求,并解释所做的更改。
主题
winmerge使您可以从几个预制主题中进行选择并创建自己的主题。
快速主题说明
- 打开选项并导航到颜色部分
- 在每个小节中都会调整您喜欢的颜色
- 导出…选项将为您提供所有设置的INI文件
- 复制[您的安装文件夹] \\ winmerge \\ colorschemes \\ twilight.ini to yournewtheme.ini
- 将相应的颜色设置从导出的INI文件复制到yournewtheme.ini
- 然后,您可以将主题文件放入Colorshemes文件夹中,然后在选项中选择它
文件夹结构
winmerge的源代码,其插件,过滤器,设置程序和各种实用程序都保存在子文件夹中:
- ArchiveSupport/Merge7Z-包含Merge7Z DLL,将winmerge与7 -ZIP连接起来,需要编译winmerge U.Exe。 还有一个用于Merge7Z DLL的独立安装程序。
- 构建 – 由编译器winmerge时由编译器创建。它包含编译的可执行文件,库,用户手册等。
- buildTMP-由编译winmerge编译时由编译器创建。它包含编译期间创建的临时文件,可以安全删除。
- COLORCHEMES-配色方案 /主题。
- 文档 – 不同子文件夹中的用户和开发人员文档。可以通过在DOCS文件夹中打开index.html浏览。
- 外部 – 包含来自winmerge项目外的几个图书馆。建筑所需的,可能是为winmerge定制的。库包括XML解析器和正则表达式解析器。
- 过滤器 – winmerge文件过滤器。
- 安装程序 – winmerge的安装程序。
- 插件 – winmerge运行时插件DLL和脚本的源代码和二进制文件。
- Shellextension- Windows Shell(Explorer)集成。 将菜单项添加到Explorer上下文菜单中。
- SRC- winmerge程序的源代码。
- 测试 – 一套测试差异文件和一个用于运行它们并报告结果的脚本。该文件夹还具有一个Google测试子文件夹,其中包含使用Google测试框架进行的单元测试。
- 工具/脚本 – winmerge开发人员使用的各种实用程序 – 请参见每个文件。
- 翻译 – 用于翻译的语言文件。
ChangElog在DOC/用户/ChangElog.md中。
如何跑步和调试
winmerge文件夹具有不同的Visual Studio解决方案文件(.sln),您可以在测试更改时用于构建,调试和运行。
winmerge您运行了winmerge buldall脚本
如果您的体系结构不是X64,请查找构建完成后生成的任何其他文件夹。
调试的另一种方法,从上一步运行EXE,然后从vs附加到运行过程。
构建winmerge
Visual Studio 2017
- 社区,专业或企业版
- VC ++ 2017最新V141工具
- 视觉C ++编译器和库(ARM,ARM64)
- Windows XP支持C ++
- 视觉C ++ MFC(X86和X64,ARM,ARM64)
- 视觉C ++ ATL(X86和X64,ARM,ARM64)
- Windows 10 SDK
Visual Studio 2019
- 社区,专业或企业版
- MSVC V142 -VS 2019 C ++(X64/X86,ARM,ARM64)构建工具(最新)
- C ++ MFC最新V142构建工具(X86&X64,ARM,ARM64)
- C ++ ATL最新V142构建工具(X86&X64,ARM,ARM64)
- Windows 10 SDK
Visual Studio 2022
- 社区,专业或企业版
- MSVC V143 BuildTools(X64/X86,ARM,ARM64)
- C ++ MFC最新V143构建工具(X64/X86,ARM,ARM64)
- C ++ ATL最新V143构建工具(X64/X86,ARM,ARM64)
- Windows 10 SDK
其他实用程序/程序
- git
- Inno设置5.x和6.x
- 7-zip
- Python
- 潘多克
- MSYS2和MSYS2软件包(PO4A和DIFFUTILS)
如何构建
winmerge
cd winmerge
DownloadDeps.cmd
BuildAll.vs2022.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2019.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2017.cmd [x86|x64|ARM|ARM64]\”>
git clone --recurse-submodules https://githu*b.**com/winmerge/ winmerge
cd winmerge
DownloadDeps.cmd
BuildAll.vs2022.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2019.cmd [x86|x64|ARM|ARM64] or BuildAll.vs2017.cmd [x86|x64|ARM|ARM64]
