跳到主要内容

EditorVCSInterface

继承

Object

简要描述

版本控制系统(VCS)界面,用于读取和写入使用中的本地VCS。

描述

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

方法

返回值类型方法名称
voidcommit(msg: String)
Arrayget_file_diff(file_path: String)
Dictionaryget_modified_files_data()
Stringget_project_name()
Stringget_vcs_name()
boolinitialize(project_root_path: String)
boolis_addon_ready()
boolis_vcs_initialized()
boolshut_down()
voidstage_file(file_path: String)
voidunstage_file(file_path: String)

方法说明

  • commit commit(msg: String)

如果插件已初始化,则创建版本提交,否则返回,不执行任何操作。使用先前已暂存的文件,并将提交消息设置为参数中提供的值。


  • get_file_diff get_file_diff(file_path: String)

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

每个Dictionary对象在键下都有diff内容:

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

  • "status" 存储一个String,该String"+"在内容为行添加的情况下包含一个String,但"-"在删除的情况下存储一个字符串,而在行内容既不是添加项也不是删除的情况下存储一个空字符串。

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

  • "line_count" 用于存储包含行内容中行数的整数。

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

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


  • get_modified_files_data get_modified_files_data()

返回一个Dictionary,其中包含检测到的文件更改的路径,该路径映射到一个整数,表示相应文件经历了哪种更改。

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

  • 0: VCS工作目录的新功能

  • 1:已修改

  • 2:已重命名

  • 3:已删除

  • 4:已更改类型


  • get_project_name get_project_name()

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


  • get_vcs_name get_vcs_name()

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


  • initialize initialize(project_root_path: String)

初始化VCS插件(如果尚未初始化)。使用参数值作为项目工作目录的路径。如果需要,创建初始提交。返回true如果没有发生故障,否则返回false


  • is_addon_ready is_addon_ready()

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


  • is_vcs_initialized is_vcs_initialized()

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


  • shut_down shut_down()

关闭VCS插件,以允许在调用时运行清除代码。返回true是指未发生任何失败,否则返回false


  • stage_file stage_file(file_path: String)

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


  • unstage_file unstage_file(file_path: String)

取消暂存先前已暂存的要提交的文件,以便在调用EditorVCSInterface.commit时不再提交该文件。参数应包含绝对路径。