将规范文件更改与生成的源代码同步

可以使用同步函数将规范文件中的新更改引入链代码源文件(模型和控制器)。该函数同时适用于 TypeScript 和 Go 项目。

注意:
  • 同步是单向的:您可以将规范文件中的更改引入链代码项目,但不是相反。同步流程后,链代码项目中所做的更改将保持原样。
  • 仅当使用规范文件对链代码项目进行脚手架时,该命令才起作用。如果计划将来将规范文件中的任何更改同步到源代码,请不要删除、重命名或移动规范文件。
  • 同步期间,将自动升级 lib 文件夹中的链代码文件。如果对这些库文件进行任何更改,请备份修改的文件或在使用同步功能之前跟踪所做的更改,以便可以在同步后再次应用这些更改。
要同步您的规范和链代码文件,请执行以下操作:
  1. 规格窗格中,选择您更新的规格文件以打开其规格详细信息窗格。在窗格顶部,单击 Chaincodes 以打开窗格,其中显示从规范文件生成的链代码。
  2. 选中要使用新更改更新的每个链代码旁边的同步复选框。一次可以同步从规范文件生成的多个链代码。单击同步
链代码项目现在包含更新的文件。

解决冲突

由于您可以编辑同步文件和链代码文件,因此最终可能会出现冲突,其中更新的规范文件可能会覆盖您对链代码文件所做的更改。在这些情况下,当您尝试同步错误时,会显示错误,指出存在冲突。可以使用冲突窗格解决这些错误。

  1. Conflicts 窗格中,单击存在冲突的链代码文件的名称。文件将在编辑器中打开,其中突出显示了冲突。
    编辑器中显示的同步冲突

    在所示示例中,Marble124 位于规范文件中,Marble123 位于链代码模型文件中。

  2. 冲突之上是一个选项列表。单击接受当前更改可覆盖规范文件并使用链代码文件中当前的内容。单击接受传入更改可覆盖链代码文件并使用规范文件中当前的内容。
  3. 返回到 Conflicts 窗格。选中冲突名称旁边的同步复选框,然后单击确认更改。如果有多个冲突,请在单击确认更改之前解决所有这些冲突。