diff --git a/Source/Editor/Scripting/CodeEditors/RiderCodeEditor.cpp b/Source/Editor/Scripting/CodeEditors/RiderCodeEditor.cpp index 122a64a51..d5e65dedc 100644 --- a/Source/Editor/Scripting/CodeEditors/RiderCodeEditor.cpp +++ b/Source/Editor/Scripting/CodeEditors/RiderCodeEditor.cpp @@ -191,7 +191,6 @@ void RiderCodeEditor::FindEditors(Array* output) #endif #if PLATFORM_LINUX // TODO: detect Snap installations - // TODO: detect Flatpak installations // TODO: detect by reading the jetbrains-rider.desktop file from ~/.local/share/applications and /usr/share/applications? FileSystem::GetChildDirectories(subDirectories, TEXT("/usr/share/rider")); @@ -202,6 +201,11 @@ void RiderCodeEditor::FindEditors(Array* output) // Versions installed via JetBrains Toolbox FileSystem::GetChildDirectories(subDirectories, localAppDataPath / TEXT(".local/share/JetBrains/Toolbox/apps/Rider/ch-0")); FileSystem::GetChildDirectories(subDirectories, localAppDataPath / TEXT(".local/share/JetBrains/Toolbox/apps/Rider/ch-1")); // Beta versions + + // Detect Flatpak installations + SearchDirectory(&installations, + TEXT("/var/lib/flatpak/app/com.jetbrains.Rider/current/active/files/extra/rider/"), + TEXT("flatpak run com.jetbrains.Rider")); #endif for (auto directory : subDirectories) diff --git a/Source/Editor/Scripting/CodeEditors/VisualStudioCodeEditor.cpp b/Source/Editor/Scripting/CodeEditors/VisualStudioCodeEditor.cpp index e047b6e6f..1147c4ed8 100644 --- a/Source/Editor/Scripting/CodeEditors/VisualStudioCodeEditor.cpp +++ b/Source/Editor/Scripting/CodeEditors/VisualStudioCodeEditor.cpp @@ -70,6 +70,16 @@ void VisualStudioCodeEditor::FindEditors(Array* output) return; } } + + // Detect Flatpak installations + { + if (Platform::RunProcess(TEXT("/bin/bash -c \"flatpak list --app --columns=application | grep com.visualstudio.code -c\""), String::Empty) == 0) + { + const String runPath(TEXT("flatpak run com.visualstudio.code")); + output->Add(New(runPath, false)); + return; + } + } #endif }