EditorVCSInterface

Inherits: Object

版本控制系统(VCS)接口,可对正在使用的本地VCS进行读写。

描述

由编辑器用来在编辑器中显示VCS提取的信息。这个API的实现包含在VCS附加组件中,这些附加组件本质上是GDNative插件,需要放到项目文件夹中。这些VCS附加组件是脚本,它们(按需)附加到EditorVCSInterface的对象实例中。下面列出的所有功能,它们不是自己执行任务,而是调用VCS附加组件中内部定义的功能,以提供现写现用的体验。

方法说明

如果add-on已经初始化,则创建一个版本提交,否则不做任何事情就返回。使用之前暂存的文件,提交信息设置为参数中提供的值。


如果VCS addon被初始化,返回一个ArrayDictionary对象,包含正在使用的VCS的diff输出,否则返回一个空Array对象。diff内容还包括一些上下文,这些上下文行为文件中观察到的行变化提供上下文。

每个Dictionary对象的键下都有行差内容。

  • "content"存储一个包含行内容的String

  • "status"存储一个String,如果内容是添加行,则包含"+",但如果是删除,则存储"-",如果行内容既不是添加也不是删除,则存储一个空字符串。

  • "new_line_number"存储一个包含行内容新行号的整数。

  • "line_count"存储一个整数,包含行内容的行数。

  • "old_line_number"存储包含行内容的旧行号的整数。

  • "offset"存储自第一个上下文行内容以来行变化的偏移量。


返回一个 Dictionary,包含检测到的更改文件的路径,映射到一个整数,该整数表示相应文件更改的状态。

以下整数值用于表示检测到的文件是:

  • 0:新的 VCS 工作目录

  • 1:修改

  • 2:重命名

  • 3:删除

  • 4:类型改变


返回VCS工作目录的项目名称。


如果VCS已经初始化,返回VCS的名称,否则返回一个空字符串。


初始化VCS addon(如果还未初始化)。使用参数值作为项目工作目录的路径。如果需要,创建初始提交。如果成功,返回true,否则返回false


  • bool is_addon_ready ( )

如果addon准备好响应函数调用,返回true,否则返回false


  • bool is_vcs_initialized ( )

如果VCS插件已经初始化,返回true,否则返回false


  • bool shut_down ( )

关闭VCS插件,允许清理代码去调用运行。如果没有失败,返回true,否则返回false


  • void stage_file ( String file_path )

调用commit时应提交的文件。参数应包含绝对路径。


  • void unstage_file ( String file_path )

解除之前暂存的要提交的文件,以便在调用commit时不再提交。参数应包含绝对路径。