From 85bdeeaacfc8a0b75de73d45998e6bbee60eeaaf Mon Sep 17 00:00:00 2001 From: "Yu Leng (from Dev Box)" Date: Tue, 15 Apr 2025 15:14:34 +0800 Subject: [PATCH] init --- .../Commands/NewExtensionForm.cs | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/NewExtensionForm.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/NewExtensionForm.cs index 326b7ac2b3..a32395a637 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/NewExtensionForm.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/NewExtensionForm.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.IO.Compression; +using System.Text.Json; using System.Text.Json.Nodes; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; @@ -28,69 +29,69 @@ internal sealed partial class NewExtensionForm : NewExtensionFormBase "body": [ { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_page_title}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_page_title)}}, "size": "large" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_page_text}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_page_text)}}, "wrap": true }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_name_header}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_name_header)}}, "weight": "bolder", "size": "default" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_name_description}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_name_description)}}, "wrap": true }, { "type": "Input.Text", - "label": "{{Properties.Resources.builtin_create_extension_name_label}}", + "label": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_name_label)}}, "isRequired": true, - "errorMessage": "{{Properties.Resources.builtin_create_extension_name_required}}", + "errorMessage": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_name_required)}}, "id": "ExtensionName", "placeholder": "ExtensionName", "regex": "^[^\\s]+$" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_display_name_header}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_display_name_header)}}, "weight": "bolder", "size": "default" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_display_name_description}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_display_name_description)}}, "wrap": true }, { "type": "Input.Text", - "label": "{{Properties.Resources.builtin_create_extension_display_name_label}}", + "label": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_display_name_label)}}, "isRequired": true, - "errorMessage": "{{Properties.Resources.builtin_create_extension_display_name_required}}", + "errorMessage": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_display_name_required)}}, "id": "DisplayName", "placeholder": "My new extension" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_directory_header}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_directory_header)}}, "weight": "bolder", "size": "default" }, { "type": "TextBlock", - "text": "{{Properties.Resources.builtin_create_extension_directory_description}}", + "text": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_directory_description)}}, "wrap": true }, { "type": "Input.Text", - "label": "{{Properties.Resources.builtin_create_extension_directory_label}}", + "label": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_directory_label)}}, "isRequired": true, - "errorMessage": "{{Properties.Resources.builtin_create_extension_directory_required}}", + "errorMessage": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_directory_required)}}, "id": "OutputPath", "placeholder": "C:\\users\\me\\dev" } @@ -98,7 +99,7 @@ internal sealed partial class NewExtensionForm : NewExtensionFormBase "actions": [ { "type": "Action.Submit", - "title": "{{Properties.Resources.builtin_create_extension_submit}}", + "title": {{FormatI18NJsonString(Properties.Resources.builtin_create_extension_submit)}}, "associatedInputs": "auto" } ] @@ -192,4 +193,10 @@ internal sealed partial class NewExtensionForm : NewExtensionFormBase // Delete the temp dir Directory.Delete(tempDir, true); } + + private string FormatI18NJsonString(string str) + { + // Escape the string for JSON + return JsonSerializer.Serialize(str); + } }