Windows Terminal动态配置中GUID的作用及匹配逻辑疑问
Windows Terminal动态配置程序定位疑问
我使用Windows Terminal已有一段时间,近期尝试将第三方命令行工具加入它的动态配置。使用commandline参数可以成功完成配置,但如果不使用该参数,Terminal是如何定位目标程序的?
观察自动生成的WSL或PowerShell配置:
{ "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "hidden": false, "name": "PowerShell", "source": "Windows.Terminal.PowershellCore" }, { "guid": "{d7b20cea-47a9-518c-95a4-c8bd91e2e1c6}", "hidden": false, "name": "Ubuntu 22.04.2 LTS", "source": "CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc" },
通过对照实验得到以下结果:
- 保留PowerShell的
guid,注释掉name和source,配置仍然生效; - 保留PowerShell的
name和source,注释掉guid,配置失效; - 保留Ubuntu 22.04.2 LTS的
guid,注释掉name和source,配置仍然生效; - 保留Ubuntu 22.04.2 LTS的
name和source,注释掉guid,配置仍然生效。
我有以下几个疑问:
- Windows Terminal如何通过GUID定位目标程序?
- 为何上述示例中,Ubuntu配置仅保留
source和name、没有guid时仍可生效? - 为何PowerShell配置仅保留
source和name、没有guid时却无法生效?
内容的提问来源于stack exchange,提问作者Little Train
相关产品推荐
相关产品推荐

