in Source/RiderSourceCodeAccess/Private/RiderPathLocator/Common/RiderPathLocator.cpp [12:34]
FString ExtractPathFromSettingsJson(const FString& ToolboxPath)
{
const FString SettingJsonPath = FPaths::Combine(ToolboxPath, TEXT(".settings.json"));
if (FPaths::FileExists(SettingJsonPath))
{
FString JsonStr;
FFileHelper::LoadFileToString(JsonStr, *SettingJsonPath);
TSharedRef<TJsonReader<TCHAR>> JsonReader = TJsonReaderFactory<TCHAR>::Create(JsonStr);
TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject());
if (FJsonSerializer::Deserialize(JsonReader, JsonObject) && JsonObject.IsValid())
{
FString InstallLocation;
if (JsonObject->TryGetStringField(TEXT("install_location"), InstallLocation))
{
if (!InstallLocation.IsEmpty())
{
return InstallLocation;
}
}
}
}
return {};
}