C#: Fix line in OpenInExternalEditor

(cherry picked from commit 132a1daf1a)
This commit is contained in:
Raul Santos 2023-07-13 02:52:09 +02:00 committed by Yuri Sizov
parent 5cc85fb119
commit 85ab269796
3 changed files with 6 additions and 5 deletions

View File

@ -280,7 +280,7 @@ void EditorInterface::edit_node(Node *p_node) {
} }
void EditorInterface::edit_script(const Ref<Script> &p_script, int p_line, int p_col, bool p_grab_focus) { void EditorInterface::edit_script(const Ref<Script> &p_script, int p_line, int p_col, bool p_grab_focus) {
ScriptEditor::get_singleton()->edit(p_script, p_line, p_col, p_grab_focus); ScriptEditor::get_singleton()->edit(p_script, p_line - 1, p_col - 1, p_grab_focus);
} }
void EditorInterface::open_scene_from_path(const String &scene_path) { void EditorInterface::open_scene_from_path(const String &scene_path) {

View File

@ -2331,7 +2331,7 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
} }
if (p_line > 0) { if (p_line > 0) {
se->goto_line(p_line - 1); se->goto_line(p_line);
} }
} }
_update_script_names(); _update_script_names();
@ -2426,8 +2426,8 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
_test_script_times_on_disk(p_resource); _test_script_times_on_disk(p_resource);
_update_modified_scripts_for_external_editor(p_resource); _update_modified_scripts_for_external_editor(p_resource);
if (p_line > 0) { if (p_line >= 0) {
se->goto_line(p_line - 1); se->goto_line(p_line);
} }
notify_script_changed(p_resource); notify_script_changed(p_resource);

View File

@ -138,7 +138,8 @@ namespace GodotTools.Build
{ {
var script = (Script)ResourceLoader.Load(file, typeHint: Internal.CSharpLanguageType); var script = (Script)ResourceLoader.Load(file, typeHint: Internal.CSharpLanguageType);
if (script != null && Internal.ScriptEditorEdit(script, issue.Line, issue.Column)) // Godot's ScriptEditor.Edit is 0-based but the issue lines are 1-based.
if (script != null && Internal.ScriptEditorEdit(script, issue.Line - 1, issue.Column - 1))
Internal.EditorNodeShowScriptScreen(); Internal.EditorNodeShowScriptScreen();
} }
} }