summaryrefslogtreecommitdiffstats
path: root/modules/mono/editor/godotsharp_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mono/editor/godotsharp_editor.cpp')
-rw-r--r--modules/mono/editor/godotsharp_editor.cpp25
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;