Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

EditorVCSInterface

Успадковує: Object

Система керування версіями (VCS) інтерфейс, який читає та пише локальним VCS у використанні.

Опис

Захищаючи API, який редактор використовує для отримання інформації з базових VCS. Реалізація цього API входить в плагіни VCS, які є плагінами GDExtension, які спадок EditorVCSInterface і кріпляться (на вимогу) до однотонної екземпляри EditorVCSInterface. Замість того, щоб виконати самі завдання, всі віртуальні функції, перераховані нижче, викличуть внутрішні функції перейменування в плагінах VCS для забезпечення досвіду плагіна. Призначений для користувача VCS плагін повинен успадкуватися від EditorVCSInterface і перенаречени кожну з цих віртуальних функцій.

Посібники

Методи

bool

_allow_amends() virtual

bool

_checkout_branch(branch_name: String) virtual required

void

_commit(msg: String, amend: bool) virtual

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

_fetch(remote: String) virtual required

Array[String]

_get_branch_list() virtual required

String

_get_current_branch_name() virtual required

Array[Dictionary]

_get_diff(identifier: String, area: int) virtual required

Array[Dictionary]

_get_line_diff(file_path: String, text: String) virtual required

Array[Dictionary]

_get_modified_files_data() virtual required

Array[Dictionary]

_get_previous_commits(max_commits: int) virtual required

Array[String]

_get_remotes() virtual required

String

_get_vcs_name() virtual required

bool

_initialize(project_path: String) virtual required

void

_pull(remote: String) virtual required

void

_push(remote: String, force: bool) virtual required

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

bool

_shut_down() virtual required

void

_stage_file(file_path: String) virtual required

void

_unstage_file(file_path: String) virtual required

Dictionary

add_diff_hunks_into_diff_file(diff_file: Dictionary, diff_hunks: Array[Dictionary])

Dictionary

add_line_diffs_into_diff_hunk(diff_hunk: Dictionary, line_diffs: Array[Dictionary])

Dictionary

create_commit(msg: String, author: String, id: String, unix_timestamp: int, offset_minutes: int)

Dictionary

create_diff_file(new_file: String, old_file: String)

Dictionary

create_diff_hunk(old_start: int, new_start: int, old_lines: int, new_lines: int)

Dictionary

create_diff_line(new_line_no: int, old_line_no: int, content: String, status: String)

Dictionary

create_status_file(file_path: String, change_type: ChangeType, area: TreeArea)

void

popup_error(msg: String)


Переліки

enum ChangeType: 🔗

ChangeType CHANGE_TYPE_NEW = 0

Додано новий файл.

ChangeType CHANGE_TYPE_MODIFIED = 1

Змінюється раніше доданий файл.

ChangeType CHANGE_TYPE_RENAMED = 2

Перейменовано раніше доданий файл.

ChangeType CHANGE_TYPE_DELETED = 3

Видалено попередній файл.

ChangeType CHANGE_TYPE_TYPECHANGE = 4

Змінюється раніше доданий файл.

ChangeType CHANGE_TYPE_UNMERGED = 5

Файл зліва не занурюється.


enum TreeArea: 🔗

TreeArea TREE_AREA_COMMIT = 0

Зустрінеться з зони замовлення.

TreeArea TREE_AREA_STAGED = 1

Файл стикається з застарілою зоною.

TreeArea TREE_AREA_UNSTAGED = 2

Файл зустрічається з незареєстрованої ділянки.


Описи методів

bool _allow_amends() virtual 🔗

Returns whether or not the plugin allows commit amends.


bool _checkout_branch(branch_name: String) virtual required 🔗

Перевірити пам'ятне відділення_name в VCS.


void _commit(msg: String, amend: bool) virtual 🔗

Commits the currently staged changes and applies the commit msg to the resulting commit. If amend is true the commit will modify the most recent commit instead.


void _create_branch(branch_name: String) virtual required 🔗

Створює нове відділення, назване branch_name в VCS.


void _create_remote(remote_name: String, remote_url: String) virtual required 🔗

Створює новий віддалений пункт з назвою Remote_name і вказує на його Remote_url. Це може бути віддалений HTTPS або пульт SSH.


void _discard_file(file_path: String) virtual required 🔗

Відхилити зміни, внесені в файл file_path.


void _fetch(remote: String) virtual required 🔗

Віддалені від парення, але не записують зміни до поточного робочого каталогу. git ftch.


Array[String] _get_branch_list() virtual required 🔗

Одержує екземпляр Array String, що містить доступні галузеві імена в VCS.


String _get_current_branch_name() virtual required 🔗

Отримує поточний галузевий назву, визначений в VCS.


Array[Dictionary] _get_diff(identifier: String, area: int) virtual required 🔗

Повертає масив елементів Dictionary (див. create_diff_file(), create_diff_hunk(), create_diff_line(), add_line_diffs_into_diff_hunk() і add_diff_hunks_into_diff_file()), кожен з яких містить інформацію про дифу. Якщо identifier є файловим шляхом, повертає ідентифікатор файлу, і якщо він є ідентифікатором, то повертає ідентифікатор коміту.


Array[Dictionary] _get_line_diff(file_path: String, text: String) virtual required 🔗

Повертає Array елементів Dictionary (див. create_diff_hunk()), кожен з яких містить рядок різниці між файлом за адресою file_path та text, що передається.


Array[Dictionary] _get_modified_files_data() virtual required 🔗

Повертає Array елементів Dictionary (див. create_status_file()), кожен з яких містить дані про стан кожного зміненого файлу в папці проекту.


Array[Dictionary] _get_previous_commits(max_commits: int) virtual required 🔗

Повертає Array з елементів Dictionary (див. create_commit()), кожен з яких містить дані для минулого коміту.


Array[String] _get_remotes() virtual required 🔗

Повертаємо Array Strings, кожен з яких містить назву віддаленого настроюється в VCS.


String _get_vcs_name() virtual required 🔗

Повертає ім'я основного постачальника VCS.


bool _initialize(project_path: String) virtual required 🔗

Налаштування плагіна VCS при підключенні редактора. Повертаємо Вашу увагу на те, чи успішно ініціюється плагін. Проект VCS ініціюється на Project_path.


void _pull(remote: String) virtual required 🔗

Витягує зміни з пульта дистанційного керування. Це може призвести до злиття конфліктів.


void _push(remote: String, force: bool) virtual required 🔗

Пушки зміни до remote. Якщо сила є true, сила штовхач перенаправить історію змін вже присутній на пульті дистанційного керування.


void _remove_branch(branch_name: String) virtual required 🔗

Видаліть відділення з місцевих VCS.


void _remove_remote(remote_name: String) virtual required 🔗

Видаліть дистанційне з локальних VCS.


void _set_credentials(username: String, password: String, ssh_public_key_path: String, ssh_private_key_path: String, ssh_passphrase: String) virtual required 🔗

Встановити облікові дані користувача в основній VCS. Username і password використовуються тільки під час перевірки HTTPS, якщо не було зазначено в віддаленій URL. ssh_public_key_path, ssh_private_key_path, і ssh_passphrase використовуються тільки при автентифікації SSH.


bool _shut_down() virtual required 🔗

Вимкніть пристрій VCS. Зателефонуйте, коли користувач або закриває редактор або закриває плагін VCS через редактор UI.


void _stage_file(file_path: String) virtual required 🔗

Етапи подання файлу на file_path на стадію.


void _unstage_file(file_path: String) virtual required 🔗

Не пропустіть файл, присутній на file_path із застиглої площі до незареєстрованої площі.


Dictionary add_diff_hunks_into_diff_file(diff_file: Dictionary, diff_hunks: Array[Dictionary]) 🔗

Функція Helper для додавання масиву diff_hunks в diff_file.


Dictionary add_line_diffs_into_diff_hunk(diff_hunk: Dictionary, line_diffs: Array[Dictionary]) 🔗

Функція Helper для додавання масиву line_diffs в diff_hunk.


Dictionary create_commit(msg: String, author: String, id: String, unix_timestamp: int, offset_minutes: int) 🔗

Функція помічника для створення коміту Dictionary пункт. msg є комісією. author - єдиний людський рядок, що містить всі деталі автора, наприклад, електронну пошту та ім'я, налаштовану в VCS. id є ідентифікатором комісії, в якому в будь-якому форматі ваш VCS може надати ідентифікатор для комісій. unix_timestamp є UTC Unix timestamp, коли було створено комісію. offset_mins - це часовий пояс, який записується з системного часового поясу, де було створено комісію.


Dictionary create_diff_file(new_file: String, old_file: String) 🔗

Функція Helper для створення Dictionary для зберігання старих і нових дифутичних шляхів.


Dictionary create_diff_hunk(old_start: int, new_start: int, old_lines: int, new_lines: int) 🔗

Функція помічника для створення Dictionary для зберігання даних жорсткого диска. old_start є початковим номером рядка в старій файлі. new_start є початковим номером рядка в новому файлі. old_lines є числом рядків у старому файлі. new_lines є числом рядків у новому файлі.


Dictionary create_diff_line(new_line_no: int, old_line_no: int, content: String, status: String) 🔗

Функція помічника для створення Dictionary для зберігання дифусу лінії. new_line_no - номер рядка в новому файлі (може бути -1, якщо рядок видалено). old_line_no - номер рядка в старому файлі (може бути -1, якщо рядок додано). content – це дифузний текст. stasus - один рядок символів, який зберігає походження рядків.


Dictionary create_status_file(file_path: String, change_type: ChangeType, area: TreeArea) 🔗

Функція Helper для створення Dictionary, що використовується редактором для читання статусу файлу.


void popup_error(msg: String) 🔗

Поповнюйте повідомлення про помилку в редакторі, який відображається як надходить від основного VCS. Використовуйте це для відображення повідомлень про помилку VCS.