diff options
Diffstat (limited to 'modules/mono/editor/godotsharp_editor.cpp')
-rw-r--r-- | modules/mono/editor/godotsharp_editor.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/modules/mono/editor/godotsharp_editor.cpp b/modules/mono/editor/godotsharp_editor.cpp index a1f4bb3c4c..cee4405826 100644 --- a/modules/mono/editor/godotsharp_editor.cpp +++ b/modules/mono/editor/godotsharp_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -248,16 +248,19 @@ Error GodotSharpEditor::open_in_external_editor(const Ref<Script> &p_script, int static String vscode_path; if (vscode_path.empty() || !FileAccess::exists(vscode_path)) { + static List<String> vscode_name; + vscode_name.push_back("code"); + vscode_name.push_back("code-oss"); + vscode_name.push_back("vscode"); + vscode_name.push_back("vscode-oss"); + vscode_name.push_back("visual-studio-code"); + vscode_name.push_back("visual-studio-code-oss"); // Try to search it again if it wasn't found last time or if it was removed from its location - vscode_path = path_which("code"); - } - if (vscode_path.empty() || !FileAccess::exists(vscode_path)) { - // On some Linux distro the executable has the name vscode - vscode_path = path_which("vscode"); - } - if (vscode_path.empty() || !FileAccess::exists(vscode_path)) { - // Executable name when installing VSCode directly from MS on Linux - vscode_path = path_which("visual-studio-code"); + for (int i = 0; i < vscode_name.size(); i++) { + vscode_path = path_which(vscode_name[i]); + if (!vscode_path.empty() || FileAccess::exists(vscode_path)) + break; + } } List<String> args; |