如何为 Beyond Compare 开发额外的文件格式

How to develop additional File Formats for BeyondCompare

我看到 BeyondCompare 可以扩展为包括其他文件格式,如 Additional File Viewer Rules for Beyond Compare 2 and also Additional file format downloads for version 3 中所示,但在快速初始搜索后,我看不到用户如何开发这些特殊查看器。有任何记录吗?

我下载了一些额外的查看器,这些查看器可以通过 BCFormats.bcpkg 文件轻松导入

C:\Program Files (x86)\Beyond Compare 3\Helpers>dir /b /s
C:\Program Files (x86)\Beyond Compare 3\Helpers\HtmlTidy
C:\Program Files (x86)\Beyond Compare 3\Helpers\PdfToText.exe
C:\Program Files (x86)\Beyond Compare 3\Helpers\XLS_to_TAB_Single.vbs
C:\Program Files (x86)\Beyond Compare 3\Helpers\HtmlTidy\HtmlTidy.exe
C:\Program Files (x86)\Beyond Compare 3\Helpers\HtmlTidy\XML_tidied_sorted.bat
C:\Program Files (x86)\Beyond Compare 3\Helpers\HtmlTidy\XML_tidied_sorted_config.txt

这些东西的设计是什么,它们是否与将文本文件作为第一个参数读取并将转换后的文件输出到标准输出的命令行工具的效果有关?

它们是命令行工具,可在加载文件进行比较之前对文件进行预处理。第一个参数是输入文件,第二个参数是输出文件名。例如,pdftotext.exe 工具将 .pdf 文件提取为纯文本 .txt 文件,然后在 Beyond Compare 的文本比较中显示临时文件。

有关详细信息,请参阅 Beyond Compare 的帮助文件主题 Text Format Conversion Settings

在另一个问题中(比较Json Beyond Compare中的文件 ) 我逐步演示了一些 json 差异转换的示例,为这个问题提供了一个具体示例。 Chris 上面所说的是正确的,它基本上是一个控制台应用程序,它使用一些固定的参数位置来接收输入文件路径以及文本表示将写入的输出文件路径。

$myConvertingConsoleApp $inputFilePath $outputFilePath

Beyond compare 实际上会提供控制台应用程序在转换过程中使用的实际参数。

值得注意的是,输入文件甚至不需要是文本文件,只要您能想出一些合理的文件格式文本表示形式,让 diff 算法对其进行操作是有意义的。