Main Content

比较和合并 App

您可以使用比较工具比较两个 App,并合并这两个文件之间的更改。比较工具会高亮显示两个 App 的代码差异。

选择要比较的文件

可通过多种方法选择两个文件并启动比较工具:

  • App 设计工具 - 转至设计工具编辑器选项卡,然后在文件部分中,点击比较。比较工具在第一个文件或文件夹字段中包含当前打开的文件。点击 open folder 按钮以选择要比较的第二个项目,或将文件从文件浏览器拖入第二个文件或文件夹字段。

  • 当前文件夹浏览器 - 选择一个文件,右键点击,然后选择比较对象。点击 open folder 按钮以选择要比较的第二个项目,或将文件从文件浏览器拖入第二个文件或文件夹字段。要选择要比较的两个文件或子文件夹,请在按住 Ctrl 的同时点击文件名。然后右键点击并选择比较选定的文件/文件夹

  • 命令行窗口 - 使用 visdiff 函数。例如,要使用 visdiff 函数和默认的文本比较对 ExplorerE.mlappExplorerF.mlapp 这两个文件进行比较,请键入 visdiff('ExplorerE.mlapp','ExplorerF.mlapp')。MATLAB® 将打开比较工具并显示生成的比较报告。

浏览差异

在执行 App 比较时,将打开一个新窗口,并排显示两个文件。例如,假设您有两个文件 ExplorerE.mlappExplorerF.mlapp,二者之间有几处差异。在您比较这两个文件时,比较工具会显示结果报告。

Two apps being compared in the Comparison Tool. The apps have four differences between them including a difference within a line highlighted in purple, two individual lines that exist only in the right file, each highlighted in blue, and several lines that exist only in the left file, highlighted in yellow.

在比较 App 时,比较工具会尝试对各行进行匹配并检测已添加、删除或更改的代码。比较工具在比较报告的右下角显示差异总数,并使用下表中列出的颜色突出显示不匹配的行。

高亮颜色描述
紫色该行包含差异。
深紫色突出显示的字符存在差异。
蓝色该行仅在右侧文件中存在。当该行插入到右侧文件中或从左侧文件中删除时,就会发生这种情况。左侧文件中相应的行使用灰色条纹图案突出显示。
黄色该行仅在左侧文件中存在。当该行插入到左侧文件中或从右侧文件中删除时,就会发生这种情况。右侧文件中相应的行使用灰色条纹图案突出显示。

要以步进方式逐个查看差异,请使用 下一个 上一个按钮。

有关如何配置比较报告的信息,请参阅比较文件和文件夹以及合并文件

合并更改

比较 App 时,您可以将更改从一个 App 合并到另一个 App 中。在解决 App 的不同版本之间的冲突时,合并更改内容很有用处。

要开始合并,请在比较选项卡上点击 合并模式按钮。然后,要用左窗格中的内容替换右窗格中的内容,请点击要合并的行旁边的 merge 按钮。您也可以选择差异,然后在比较选项卡上点击 替换内容按钮。

Two apps being merged in the Comparison Tool. There are four differences between the two apps. The first two differences cannot be merged and show a disabled merge button. The second two differences can be merged and show an enabled merged button.

右窗格包含合并的结果。右窗格中合并文件名旁边的星号 (ExplorerF.mlapp*) 表示该文件包含未保存的更改。

要撤消替换,请点击修改的行之间或比较选项卡上的 撤消按钮。要还原所有合并并重新开始,请点击 刷新按钮。在实时编辑器中更改和保存文件后,您还可以点击 刷新按钮来更新比较报告。刷新将放弃所有合并的更改。

要保存更改并返回到比较报告,请点击 保存结果按钮。要返回到比较报告而不保存更改,请点击 返回到比较按钮。

成功合并的技巧

您只能在可编辑代码中合并更改。具有白色背景的代码段是可编辑的。可编辑代码段的示例包括您定义的函数体(如回调和辅助函数)以及自定义属性的定义。具有灰色背景的代码段包含不可编辑的生成代码,因此无法合并。如果一项更改跨可编辑和不可编辑代码段,则无法将其合并。

您只能从左到右合并更改。因此,文件在比较工具中的顺序很重要。

如果两个 App 在生成代码中都不包含更改,请将包含要合并的更改的文件放在左窗格中。您只能从左到右合并。要将文件从左窗格交换到右窗格,请在开始合并前点击 交换位置按钮。点击 交换位置按钮将还原已合并的任何内容,并为原文件创建一份新的比较报告。

如果其中一个 App 在生成代码中包含更改,请将包含要出现在合并结果中的生成代码的文件放在比较工具的右窗格中。要将文件从左窗格交换到右窗格,请在开始合并前点击 交换位置按钮。

如果两个 App 在生成代码中都包含更改,则无法在比较工具中合并这些代码行。要合并文件,请使用 App 设计工具以交互方式将所需更改应用于 App

另请参阅

相关主题