我正在尝试在Powershell中复制我的cmder动态提示。
此动态提示使用某些特定unicode字符以及背景和前景颜色的组合来生成可包含项目的提示,例如:
cmder提示符可以创建奇迹,并且我使用带有代码的Microsoft.Powershell_profile.ps1
脚本设法重现了大部分内容(如果不是全部的话)。
然而,在运行一些git命令(如git pull
)之后,powershell提示会变得混乱。症状是突然关闭这些转义码的处理。如果我只使用cmder
,则不会发生这种情况。
示例:
从cmder运行顶部git lg
(git log on one line,decorated)命令,注意提示带有颜色。
然后我切换到中间正上方的powershell,注意我在那里得到了相同的提示,只有这是从powershell配置文件脚本生成的。
然而,在再次运行git lg
之后,仅从Powershell运行,转义代码的处理被禁用,现在提示完全混乱。
我的问题是:
我是否可以在powershell配置文件中执行任何操作,以便在生成提示之前启用此功能,或者防止这种情况发生?
这是一个非常简单的PowerShell配置文件:
function prompt {
"" + [char]0x001b + "[39;44mTEST" + [char]0x001b + "[0m" + [char]0x000a + "> "
}
只需将其放入名为:
的文件中即可C:\Users\<USERNAME>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
(如果文件已存在,请务必备份该文件!)
然后启动Powershell,你应该可以重现这个:
请注意,提示前的最后一行包含逐字转义码。
我尝试的事情:
git lg
之后,仍然搞砸了。 / LI>