EditorVCSInterface
Hereda: Object
Interfaz del Sistema de Control de Versiones (VCS), que lee y escribe en el VCS local en uso.
Descripción
Define la API que el editor utiliza para extraer información del VCS subyacente. La implementación de esta API se incluye en los plugins de VCS, que son plugins GDExtension que heredan de EditorVCSInterface y se adjuntan (bajo demanda) a la instancia singleton de EditorVCSInterface. En lugar de realizar la tarea por sí mismas, todas las funciones virtuales listadas a continuación llaman a las funciones internas sobrescritas en los plugins de VCS para proporcionar una experiencia plug-n-play. Se supone que un plugin de VCS personalizado hereda de EditorVCSInterface y sobrescribe cada una de estas funciones virtuales.
Tutoriales
Métodos
_checkout_branch(branch_name: String) virtual required |
|
void |
|
void |
_create_branch(branch_name: String) virtual required |
void |
_create_remote(remote_name: String, remote_url: String) virtual required |
void |
_discard_file(file_path: String) virtual required |
void |
|
_get_branch_list() virtual required |
|
_get_current_branch_name() virtual required |
|
_get_line_diff(file_path: String, text: String) virtual required |
|
_get_modified_files_data() virtual required |
|
_get_previous_commits(max_commits: int) virtual required |
|
_get_remotes() virtual required |
|
_get_vcs_name() virtual required |
|
_initialize(project_path: String) virtual required |
|
void |
|
void |
|
void |
_remove_branch(branch_name: String) virtual required |
void |
_remove_remote(remote_name: String) virtual required |
void |
_set_credentials(username: String, password: String, ssh_public_key_path: String, ssh_private_key_path: String, ssh_passphrase: String) virtual required |
_shut_down() virtual required |
|
void |
_stage_file(file_path: String) virtual required |
void |
_unstage_file(file_path: String) virtual required |
add_diff_hunks_into_diff_file(diff_file: Dictionary, diff_hunks: Array[Dictionary]) |
|
add_line_diffs_into_diff_hunk(diff_hunk: Dictionary, line_diffs: Array[Dictionary]) |
|
create_commit(msg: String, author: String, id: String, unix_timestamp: int, offset_minutes: int) |
|
create_diff_file(new_file: String, old_file: String) |
|
create_diff_hunk(old_start: int, new_start: int, old_lines: int, new_lines: int) |
|
create_diff_line(new_line_no: int, old_line_no: int, content: String, status: String) |
|
create_status_file(file_path: String, change_type: ChangeType, area: TreeArea) |
|
void |
popup_error(msg: String) |
Enumeraciones
enum ChangeType: 🔗
ChangeType CHANGE_TYPE_NEW = 0
A new file has been added.
ChangeType CHANGE_TYPE_MODIFIED = 1
An earlier added file has been modified.
ChangeType CHANGE_TYPE_RENAMED = 2
An earlier added file has been renamed.
ChangeType CHANGE_TYPE_DELETED = 3
An earlier added file has been deleted.
ChangeType CHANGE_TYPE_TYPECHANGE = 4
An earlier added file has been typechanged.
ChangeType CHANGE_TYPE_UNMERGED = 5
A file is left unmerged.
enum TreeArea: 🔗
TreeArea TREE_AREA_COMMIT = 0
A commit is encountered from the commit area.
TreeArea TREE_AREA_STAGED = 1
A file is encountered from the staged area.
TreeArea TREE_AREA_UNSTAGED = 2
A file is encountered from the unstaged area.
Descripciones de Métodos
bool _checkout_branch(branch_name: String) virtual required 🔗
Checks out a branch_name in the VCS.
void _commit(msg: String) virtual required 🔗
Confirma los cambios actualmente preparados y aplica el msg de confirmación al commit resultante.
void _create_branch(branch_name: String) virtual required 🔗
Crea una nueva rama llamada branch_name en el VCS.
void _create_remote(remote_name: String, remote_url: String) virtual required 🔗
Crea un nuevo destino remoto con el nombre remote_name y lo dirige a remote_url. Esto puede ser un remoto HTTPS o un remoto SSH.
void _discard_file(file_path: String) virtual required 🔗
Descarta los cambios realizados en un archivo presente en file_path.
void _fetch(remote: String) virtual required 🔗
Obtiene los nuevos cambios del remote, pero no escribe los cambios en el directorio de trabajo actual. Equivalente a git fetch.
Array[String] _get_branch_list() virtual required 🔗
Obtiene una instancia de un Array de Strings que contiene los nombres de las ramas disponibles en el VCS.
String _get_current_branch_name() virtual required 🔗
Obtiene el nombre de la rama actual definido en el VCS.
Array[Dictionary] _get_diff(identifier: String, area: int) virtual required 🔗
Devuelve un array de elementos Dictionary (véase create_diff_file(), create_diff_hunk(), create_diff_line(), add_line_diffs_into_diff_hunk() y add_diff_hunks_into_diff_file()), cada uno conteniendo información sobre una diferencia. Si identifier es una ruta de archivo, devuelve una diferencia de archivo, y si es un identificador de commit, entonces devuelve una diferencia de commit.
Array[Dictionary] _get_line_diff(file_path: String, text: String) virtual required 🔗
Devuelve un Array de elementos Dictionary (véase create_diff_hunk()), cada uno conteniendo una diferencia de línea entre un archivo en file_path y el text que se pasa.
Array[Dictionary] _get_modified_files_data() virtual required 🔗
Devuelve un Array de elementos Dictionary (véase create_status_file()), cada uno conteniendo los datos de estado de cada archivo modificado en la carpeta del proyecto.
Array[Dictionary] _get_previous_commits(max_commits: int) virtual required 🔗
Devuelve un Array de elementos Dictionary (véase create_commit()), cada uno conteniendo los datos para un commit pasado.
Array[String] _get_remotes() virtual required 🔗
Returns an Array of Strings, each containing the name of a remote configured in the VCS.
String _get_vcs_name() virtual required 🔗
Returns the name of the underlying VCS provider.
bool _initialize(project_path: String) virtual required 🔗
Initializes the VCS plugin when called from the editor. Returns whether or not the plugin was successfully initialized. A VCS project is initialized at project_path.
void _pull(remote: String) virtual required 🔗
Pulls changes from the remote. This can give rise to merge conflicts.
void _push(remote: String, force: bool) virtual required 🔗
Pushes changes to the remote. If force is true, a force push will override the change history already present on the remote.
void _remove_branch(branch_name: String) virtual required 🔗
Elimina una rama del VCS local.
void _remove_remote(remote_name: String) virtual required 🔗
Elimina un remoto del VCS local.
void _set_credentials(username: String, password: String, ssh_public_key_path: String, ssh_private_key_path: String, ssh_passphrase: String) virtual required 🔗
Set user credentials in the underlying VCS. username and password are used only during HTTPS authentication unless not already mentioned in the remote URL. ssh_public_key_path, ssh_private_key_path, and ssh_passphrase are only used during SSH authentication.
bool _shut_down() virtual required 🔗
Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI.
void _stage_file(file_path: String) virtual required 🔗
Stages the file present at file_path to the staged area.
void _unstage_file(file_path: String) virtual required 🔗
Unstages the file present at file_path from the staged area to the unstaged area.
Dictionary add_diff_hunks_into_diff_file(diff_file: Dictionary, diff_hunks: Array[Dictionary]) 🔗
Helper function to add an array of diff_hunks into a diff_file.
Dictionary add_line_diffs_into_diff_hunk(diff_hunk: Dictionary, line_diffs: Array[Dictionary]) 🔗
Helper function to add an array of line_diffs into a diff_hunk.
Dictionary create_commit(msg: String, author: String, id: String, unix_timestamp: int, offset_minutes: int) 🔗
Helper function to create a commit Dictionary item. msg is the commit message of the commit. author is a single human-readable string containing all the author's details, e.g. the email and name configured in the VCS. id is the identifier of the commit, in whichever format your VCS may provide an identifier to commits. unix_timestamp is the UTC Unix timestamp of when the commit was created. offset_minutes is the timezone offset in minutes, recorded from the system timezone where the commit was created.
Dictionary create_diff_file(new_file: String, old_file: String) 🔗
Helper function to create a Dictionary for storing old and new diff file paths.
Dictionary create_diff_hunk(old_start: int, new_start: int, old_lines: int, new_lines: int) 🔗
Helper function to create a Dictionary for storing diff hunk data. old_start is the starting line number in old file. new_start is the starting line number in new file. old_lines is the number of lines in the old file. new_lines is the number of lines in the new file.
Dictionary create_diff_line(new_line_no: int, old_line_no: int, content: String, status: String) 🔗
Helper function to create a Dictionary for storing a line diff. new_line_no is the line number in the new file (can be -1 if the line is deleted). old_line_no is the line number in the old file (can be -1 if the line is added). content is the diff text. status is a single character string which stores the line origin.
Dictionary create_status_file(file_path: String, change_type: ChangeType, area: TreeArea) 🔗
Helper function to create a Dictionary used by editor to read the status of a file.
void popup_error(msg: String) 🔗
Pops up an error message in the editor which is shown as coming from the underlying VCS. Use this to show VCS specific error messages.