From 100d560f9eb4beea5a82a96ce94774a60803875a Mon Sep 17 00:00:00 2001 From: Shawn Yuan <128874481+shuaiyuanxx@users.noreply.github.com> Date: Thu, 24 Apr 2025 14:58:01 +0800 Subject: [PATCH 1/2] [CmdPal] Added fallback for time and date (#38918) * Added fallback for time and date Signed-off-by: Shawn Yuan * only support week/now/time/year query Signed-off-by: Shawn Yuan * Add week option Signed-off-by: Shawn Yuan * Changed setting for time date fallback. Signed-off-by: Shawn Yuan * update globalization string Signed-off-by: Shawn Yuan * use week of year. Signed-off-by: Shawn Yuan * update Signed-off-by: Shawn Yuan --------- Signed-off-by: Shawn Yuan --- .../FallbackTimeDateItem.cs | 104 ++++++++++++++++++ .../Helpers/AvailableResultsList.cs | 18 +-- .../Helpers/SettingsManager.cs | 25 ++--- .../Helpers/TimeDateCalculator.cs | 19 +--- .../Properties/Resources.Designer.cs | 63 ++++++----- .../Properties/Resources.resx | 21 ++-- .../TimeDateCommandsProvider.cs | 3 + 7 files changed, 172 insertions(+), 81 deletions(-) create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/FallbackTimeDateItem.cs diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/FallbackTimeDateItem.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/FallbackTimeDateItem.cs new file mode 100644 index 0000000000..267ab43989 --- /dev/null +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/FallbackTimeDateItem.cs @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Globalization; +using System.Linq; +using Microsoft.CmdPal.Ext.TimeDate.Helpers; +using Microsoft.CommandPalette.Extensions; +using Microsoft.CommandPalette.Extensions.Toolkit; + +namespace Microsoft.CmdPal.Ext.TimeDate; + +internal sealed partial class FallbackTimeDateItem : FallbackCommandItem +{ + private readonly HashSet _validOptions; + private SettingsManager _settingsManager; + + public FallbackTimeDateItem(SettingsManager settings) + : base(new NoOpCommand(), Resources.Microsoft_plugin_timedate_fallback_display_title) + { + Title = string.Empty; + Subtitle = string.Empty; + _settingsManager = settings; + _validOptions = new(StringComparer.OrdinalIgnoreCase) + { + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagDate", CultureInfo.CurrentCulture), + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagDateNow", CultureInfo.CurrentCulture), + + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagTime", CultureInfo.CurrentCulture), + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagTimeNow", CultureInfo.CurrentCulture), + + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagFormat", CultureInfo.CurrentCulture), + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagFormatNow", CultureInfo.CurrentCulture), + + Resources.ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagWeek", CultureInfo.CurrentCulture), + }; + } + + public override void UpdateQuery(string query) + { + if (!_settingsManager.EnableFallbackItems || string.IsNullOrWhiteSpace(query) || !IsValidQuery(query)) + { + Title = string.Empty; + Subtitle = string.Empty; + Command = new NoOpCommand(); + return; + } + + var availableResults = AvailableResultsList.GetList(false, _settingsManager); + ListItem result = null; + var maxScore = 0; + + foreach (var f in availableResults) + { + var score = f.Score(query, f.Label, f.AlternativeSearchTag); + if (score > maxScore) + { + maxScore = score; + result = f.ToListItem(); + } + } + + if (result != null) + { + Title = result.Title; + Subtitle = result.Subtitle; + Icon = result.Icon; + } + else + { + Title = string.Empty; + Subtitle = string.Empty; + Command = new NoOpCommand(); + } + } + + private bool IsValidQuery(string query) + { + if (_validOptions.Contains(query)) + { + return true; + } + + foreach (var option in _validOptions) + { + if (option == null) + { + continue; + } + + var parts = option.Split(';', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries); + + if (parts.Any(part => string.Equals(part, query, StringComparison.OrdinalIgnoreCase))) + { + return true; + } + } + + return false; + } +} diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/AvailableResultsList.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/AvailableResultsList.cs index bc6a3b972c..60ccaf38b5 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/AvailableResultsList.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/AvailableResultsList.cs @@ -33,6 +33,7 @@ internal static class AvailableResultsList var dateTimeNowUtc = dateTimeNow.ToUniversalTime(); var firstWeekRule = firstWeekOfYear ?? TimeAndDateHelper.GetCalendarWeekRule(settings.FirstWeekOfYear); var firstDayOfTheWeek = firstDayOfWeek ?? TimeAndDateHelper.GetFirstDayOfWeek(settings.FirstDayOfWeek); + var weekOfYear = calendar.GetWeekOfYear(dateTimeNow, firstWeekRule, firstDayOfTheWeek); results.AddRange(new[] { @@ -59,14 +60,20 @@ internal static class AvailableResultsList AlternativeSearchTag = ResultHelper.SelectStringFromResources(isSystemDateTime, "Microsoft_plugin_timedate_SearchTagFormat"), IconType = ResultIconType.DateTime, }, + new AvailableResult() + { + Value = weekOfYear.ToString(CultureInfo.CurrentCulture), + Label = Resources.Microsoft_plugin_timedate_WeekOfYear, + AlternativeSearchTag = ResultHelper.SelectStringFromResources(isSystemDateTime, "Microsoft_plugin_timedate_SearchTagDate"), + IconType = ResultIconType.Date, + }, }); - if (isKeywordSearch || !settings.OnlyDateTimeNowGlobal) + if (isKeywordSearch) { // We use long instead of int for unix time stamp because int is too small after 03:14:07 UTC 2038-01-19 var unixTimestamp = ((DateTimeOffset)dateTimeNowUtc).ToUnixTimeSeconds(); var unixTimestampMilliseconds = ((DateTimeOffset)dateTimeNowUtc).ToUnixTimeMilliseconds(); - var weekOfYear = calendar.GetWeekOfYear(dateTimeNow, firstWeekRule, firstDayOfTheWeek); var era = DateTimeFormatInfo.CurrentInfo.GetEraName(calendar.GetEra(dateTimeNow)); var eraShort = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedEraName(calendar.GetEra(dateTimeNow)); @@ -251,13 +258,6 @@ internal static class AvailableResultsList IconType = ResultIconType.Date, }, new AvailableResult() - { - Value = weekOfYear.ToString(CultureInfo.CurrentCulture), - Label = Resources.Microsoft_plugin_timedate_WeekOfYear, - AlternativeSearchTag = ResultHelper.SelectStringFromResources(isSystemDateTime, "Microsoft_plugin_timedate_SearchTagDate"), - IconType = ResultIconType.Date, - }, - new AvailableResult() { Value = DateTimeFormatInfo.CurrentInfo.GetMonthName(dateTimeNow.Month), Label = Resources.Microsoft_plugin_timedate_Month, diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/SettingsManager.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/SettingsManager.cs index 5b30a4816f..7b351fe3b8 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/SettingsManager.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/SettingsManager.cs @@ -75,11 +75,11 @@ public class SettingsManager : JsonSettingsManager Resources.Microsoft_plugin_timedate_SettingFirstDayOfWeek, _firstDayOfWeekChoices); - private readonly ToggleSetting _onlyDateTimeNowGlobal = new( - Namespaced(nameof(OnlyDateTimeNowGlobal)), - Resources.Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal, - Resources.Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal_Description, - true); // TODO -- double check default value + private readonly ToggleSetting _enableFallbackItems = new( + Namespaced(nameof(EnableFallbackItems)), + Resources.Microsoft_plugin_timedate_SettingEnableFallbackItems, + Resources.Microsoft_plugin_timedate_SettingEnableFallbackItems_Description, + true); private readonly ToggleSetting _timeWithSeconds = new( Namespaced(nameof(TimeWithSecond)), @@ -93,12 +93,6 @@ public class SettingsManager : JsonSettingsManager Resources.Microsoft_plugin_timedate_SettingDateWithWeekday_Description, false); // TODO -- double check default value - private readonly ToggleSetting _hideNumberMessageOnGlobalQuery = new( - Namespaced(nameof(HideNumberMessageOnGlobalQuery)), - Resources.Microsoft_plugin_timedate_SettingHideNumberMessageOnGlobalQuery, - Resources.Microsoft_plugin_timedate_SettingHideNumberMessageOnGlobalQuery, - true); // TODO -- double check default value - private readonly TextSetting _customFormats = new( Namespaced(nameof(CustomFormats)), Resources.Microsoft_plugin_timedate_Setting_CustomFormats, @@ -145,14 +139,12 @@ public class SettingsManager : JsonSettingsManager } } - public bool OnlyDateTimeNowGlobal => _onlyDateTimeNowGlobal.Value; + public bool EnableFallbackItems => _enableFallbackItems.Value; public bool TimeWithSecond => _timeWithSeconds.Value; public bool DateWithWeekday => _dateWithWeekday.Value; - public bool HideNumberMessageOnGlobalQuery => _hideNumberMessageOnGlobalQuery.Value; - public List CustomFormats => _customFormats.Value.Split(TEXTBOXNEWLINE).ToList(); internal static string SettingsJsonPath() @@ -168,10 +160,7 @@ public class SettingsManager : JsonSettingsManager { FilePath = SettingsJsonPath(); - /* The following two settings make no sense with current CmdPal behavior. - Settings.Add(_onlyDateTimeNowGlobal); - Settings.Add(_hideNumberMessageOnGlobalQuery); */ - + Settings.Add(_enableFallbackItems); Settings.Add(_timeWithSeconds); Settings.Add(_dateWithWeekday); Settings.Add(_firstWeekOfYear); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/TimeDateCalculator.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/TimeDateCalculator.cs index eb4eed18cd..38f417ad5b 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/TimeDateCalculator.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/TimeDateCalculator.cs @@ -40,7 +40,7 @@ public sealed partial class TimeDateCalculator var lastInputParsingErrorMsg = string.Empty; // Switch search type - if (isEmptySearchInput || (!isKeywordSearch && settings.OnlyDateTimeNowGlobal)) + if (isEmptySearchInput || (!isKeywordSearch)) { // Return all results for system time/date on empty keyword search // or only time, date and now results for system time on global queries if the corresponding setting is enabled @@ -91,23 +91,6 @@ public sealed partial class TimeDateCalculator } } - /*htcfreek:Code obsolete with current CmdPal behavior. - // If search term is only a number that can't be parsed return an error message - if (!isEmptySearchInput && results.Count == 0 && Regex.IsMatch(query, @"\w+\d+.*$") && !query.Any(char.IsWhiteSpace) && (TimeAndDateHelper.IsSpecialInputParsing(query) || !Regex.IsMatch(query, @"\d+[\.:/]\d+"))) - { - // Without plugin key word show only if message is not hidden by setting - if (!settings.HideNumberMessageOnGlobalQuery) - { - var er = ResultHelper.CreateInvalidInputErrorResult(); - if (!string.IsNullOrEmpty(lastInputParsingErrorMsg)) - { - er.Details = new Details() { Body = lastInputParsingErrorMsg }; - } - - results.Add(er); - } - } */ - if (results.Count == 0) { var er = ResultHelper.CreateInvalidInputErrorResult(); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs index d62d76eefd..a21759d10a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs @@ -213,6 +213,15 @@ namespace Microsoft.CmdPal.Ext.TimeDate { } } + /// + /// Looks up a localized string similar to Open Time Data Command. + /// + public static string Microsoft_plugin_timedate_fallback_display_title { + get { + return ResourceManager.GetString("Microsoft_plugin_timedate_fallback_display_title", resourceCulture); + } + } + /// /// Looks up a localized string similar to Date and time in filename-compatible format. /// @@ -609,6 +618,15 @@ namespace Microsoft.CmdPal.Ext.TimeDate { } } + /// + /// Looks up a localized string similar to Current Week; Calendar week; Week of the year; Week. + /// + public static string Microsoft_plugin_timedate_SearchTagWeek { + get { + return ResourceManager.GetString("Microsoft_plugin_timedate_SearchTagWeek", resourceCulture); + } + } + /// /// Looks up a localized string similar to Second. /// @@ -663,6 +681,24 @@ namespace Microsoft.CmdPal.Ext.TimeDate { } } + /// + /// Looks up a localized string similar to Enable fallback items for TimeDate (week, year, now, time, date). + /// + public static string Microsoft_plugin_timedate_SettingEnableFallbackItems { + get { + return ResourceManager.GetString("Microsoft_plugin_timedate_SettingEnableFallbackItems", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show time and date results when typing keywords like "week", "year", "now", "time", or "date". + /// + public static string Microsoft_plugin_timedate_SettingEnableFallbackItems_Description { + get { + return ResourceManager.GetString("Microsoft_plugin_timedate_SettingEnableFallbackItems_Description", resourceCulture); + } + } + /// /// Looks up a localized string similar to First day of the week. /// @@ -780,33 +816,6 @@ namespace Microsoft.CmdPal.Ext.TimeDate { } } - /// - /// Looks up a localized string similar to Hide 'Invalid number input' error message on global queries. - /// - public static string Microsoft_plugin_timedate_SettingHideNumberMessageOnGlobalQuery { - get { - return ResourceManager.GetString("Microsoft_plugin_timedate_SettingHideNumberMessageOnGlobalQuery", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show only 'Time', 'Date' and 'Now' result for system time on global queries. - /// - public static string Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal { - get { - return ResourceManager.GetString("Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Regardless of this setting, for global queries the first word of the query has to be a complete match.. - /// - public static string Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal_Description { - get { - return ResourceManager.GetString("Microsoft_plugin_timedate_SettingOnlyDateTimeNowGlobal_Description", resourceCulture); - } - } - /// /// Looks up a localized string similar to Show time with seconds. /// diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.resx b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.resx index f1a36e2a90..35862592ca 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.resx +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.resx @@ -265,15 +265,6 @@ This setting applies to the 'Date' and 'Now' result. - - Hide 'Invalid number input' error message on global queries - - - Show only 'Time', 'Date' and 'Now' result for system time on global queries - - - Regardless of this setting, for global queries the first word of the query has to be a complete match. - Show time with seconds @@ -433,4 +424,16 @@ Days in month + + Open Time Data Command + + + Current Week; Calendar week; Week of the year; Week + + + Enable fallback items for TimeDate (week, year, now, time, date) + + + Show time and date results when typing keywords like "week", "year", "now", "time", or "date" + \ No newline at end of file diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/TimeDateCommandsProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/TimeDateCommandsProvider.cs index 05597c4553..d29356fa77 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/TimeDateCommandsProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/TimeDateCommandsProvider.cs @@ -18,6 +18,7 @@ public partial class TimeDateCommandsProvider : CommandProvider private static readonly SettingsManager _settingsManager = new(); private static readonly CompositeFormat MicrosoftPluginTimedatePluginDescription = System.Text.CompositeFormat.Parse(Resources.Microsoft_plugin_timedate_plugin_description); private static readonly TimeDateExtensionPage _timeDateExtensionPage = new(_settingsManager); + private readonly FallbackTimeDateItem _fallbackTimeDateItem = new(_settingsManager); public TimeDateCommandsProvider() { @@ -45,4 +46,6 @@ public partial class TimeDateCommandsProvider : CommandProvider } public override ICommandItem[] TopLevelCommands() => [_command]; + + public override IFallbackCommandItem[] FallbackCommands() => [_fallbackTimeDateItem]; } From 5691c5754bfbde78e47eb777601ffd1ab08e5f27 Mon Sep 17 00:00:00 2001 From: Yu Leng <42196638+moooyo@users.noreply.github.com> Date: Thu, 24 Apr 2025 16:07:10 +0800 Subject: [PATCH 2/2] [cmdpal] Ref to AotCompatibility in some cmdpal project. (#39061) * Ref to AotCompatibility * Typo issue --------- Co-authored-by: Yu Leng (from Dev Box) --- .../Microsoft.CmdPal.Ext.Calc/Microsoft.CmdPal.Ext.Calc.csproj | 1 + .../Microsoft.CmdPal.Ext.Registry.csproj | 2 ++ .../Microsoft.CmdPal.Ext.Shell.csproj | 2 ++ .../Microsoft.CmdPal.Ext.TimeDate.csproj | 3 ++- .../Microsoft.CmdPal.Ext.WindowWalker.csproj | 2 ++ .../Microsoft.CmdPal.Ext.WindowsServices.csproj | 2 ++ .../Microsoft.CmdPal.Ext.WindowsTerminal.csproj | 2 ++ 7 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Calc/Microsoft.CmdPal.Ext.Calc.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Calc/Microsoft.CmdPal.Ext.Calc.csproj index 85f06768ce..59f5ccbc70 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Calc/Microsoft.CmdPal.Ext.Calc.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Calc/Microsoft.CmdPal.Ext.Calc.csproj @@ -1,5 +1,6 @@  + Microsoft.CmdPal.Ext.Calc $(SolutionDir)$(Platform)\$(Configuration)\WinUI3Apps\CmdPal diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Registry/Microsoft.CmdPal.Ext.Registry.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Registry/Microsoft.CmdPal.Ext.Registry.csproj index 2ff67f859f..c7633d7356 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Registry/Microsoft.CmdPal.Ext.Registry.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Registry/Microsoft.CmdPal.Ext.Registry.csproj @@ -1,5 +1,7 @@  + + Microsoft.CmdPal.Ext.Registry $(SolutionDir)$(Platform)\$(Configuration)\WinUI3Apps\CmdPal diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Microsoft.CmdPal.Ext.Shell.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Microsoft.CmdPal.Ext.Shell.csproj index c95f2a93b2..934e6d264a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Microsoft.CmdPal.Ext.Shell.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Microsoft.CmdPal.Ext.Shell.csproj @@ -1,5 +1,7 @@  + + enable Microsoft.CmdPal.Ext.Shell diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Microsoft.CmdPal.Ext.TimeDate.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Microsoft.CmdPal.Ext.TimeDate.csproj index 733ed8634e..34301712cf 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Microsoft.CmdPal.Ext.TimeDate.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Microsoft.CmdPal.Ext.TimeDate.csproj @@ -1,6 +1,7 @@  - + + Microsoft.CmdPal.Ext.TimeDate false diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Microsoft.CmdPal.Ext.WindowWalker.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Microsoft.CmdPal.Ext.WindowWalker.csproj index 2ed59ad6a3..e346e824c8 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Microsoft.CmdPal.Ext.WindowWalker.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Microsoft.CmdPal.Ext.WindowWalker.csproj @@ -1,5 +1,7 @@  + + enable Microsoft.CmdPal.Ext.WindowWalker diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsServices/Microsoft.CmdPal.Ext.WindowsServices.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsServices/Microsoft.CmdPal.Ext.WindowsServices.csproj index 2b7b9345ec..9038a2d671 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsServices/Microsoft.CmdPal.Ext.WindowsServices.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsServices/Microsoft.CmdPal.Ext.WindowsServices.csproj @@ -1,5 +1,7 @@  + + Microsoft.CmdPal.Ext.WindowsServices $(SolutionDir)$(Platform)\$(Configuration)\WinUI3Apps\CmdPal diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Microsoft.CmdPal.Ext.WindowsTerminal.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Microsoft.CmdPal.Ext.WindowsTerminal.csproj index 7ea6f17148..1c09c35c5d 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Microsoft.CmdPal.Ext.WindowsTerminal.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Microsoft.CmdPal.Ext.WindowsTerminal.csproj @@ -1,6 +1,8 @@  + + Microsoft.CmdPal.Ext.WindowsTerminal