[Monaco]Fix Json format preview setting (#36867)

This commit is contained in:
Jaime Bernardo 2025-01-14 17:13:42 +00:00 коммит произвёл GitHub
Родитель 80461c0241
Коммит 3a10facb36
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
2 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -7,7 +7,6 @@ using System.Text.Json.Serialization;
namespace Microsoft.PowerToys.FilePreviewCommon.Monaco.Formatters; namespace Microsoft.PowerToys.FilePreviewCommon.Monaco.Formatters;
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(JsonDocument))] [JsonSerializable(typeof(JsonDocument))]
internal sealed partial class FilePreviewJsonSerializerContext : JsonSerializerContext internal sealed partial class FilePreviewJsonSerializerContext : JsonSerializerContext
{ {

Просмотреть файл

@ -14,9 +14,12 @@ namespace Microsoft.PowerToys.FilePreviewCommon.Monaco.Formatters
private static readonly JsonSerializerOptions _serializerOptions = new JsonSerializerOptions private static readonly JsonSerializerOptions _serializerOptions = new JsonSerializerOptions
{ {
WriteIndented = true,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
}; };
private static readonly FilePreviewJsonSerializerContext _filePreviewJsonSerializerContext = new(_serializerOptions);
/// <inheritdoc/> /// <inheritdoc/>
public string Format(string value) public string Format(string value)
{ {
@ -27,8 +30,7 @@ namespace Microsoft.PowerToys.FilePreviewCommon.Monaco.Formatters
using (var jDocument = JsonDocument.Parse(value, new JsonDocumentOptions { CommentHandling = JsonCommentHandling.Skip })) using (var jDocument = JsonDocument.Parse(value, new JsonDocumentOptions { CommentHandling = JsonCommentHandling.Skip }))
{ {
FilePreviewJsonSerializerContext context = new(_serializerOptions); return JsonSerializer.Serialize(jDocument, _filePreviewJsonSerializerContext.JsonDocument);
return JsonSerializer.Serialize(jDocument, context.JsonDocument);
} }
} }
} }