2

我的 PowerShell 配置文件自定义提示和背景颜色。

$Host.UI.RawUI.BackgroundColor = 'Red';
function prompt
{
    Write-Host ("PS >") -nonewline -foregroundcolor Magenta
    return " "
}

当我打开 PowerShell 时,两种自定义都起作用:

PS >

当我打开 Git Shell 时,只有背景颜色自定义有效 背景是红色的,但提示不短。

C:\Users\BigFont\Documents\GitHub>

...然后,如果我运行. $profile以显式导入我的个人资料,则整个定制确实有效。

PS > 

如何让 Git Shell 更改提示而无需显式导入我的个人资料?

编辑

# 1

运行$profile | select *结果

AllUsersAllHosts       : C:\Windows\SysWOW64\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost    : C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts    : C:\Users\BigFont\Documents\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost : C:\Users\BigFont\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

#2

运行 . $profile确实会覆盖 Posh Gits 配置文件。这就是我想要的——现在我需要确定如何在不需要运行的情况下进行操作 . $profile

4

1 回答 1

1

posh-git 的主要功能之一是更改提示以显示添加、分支等,因此它的自定义可能会在您的自定义之后运行并覆盖它们。

通过重新导入您的配置文件,您实际上可能正在撤消 posh-git 的提示。要确定查看,请重新导入您的个人资料,然后cd将其导入存储库。

还要检查$profile | select *以查看所有可能生效的配置文件。最好简单地编辑 posh-git 的配置文件(即使只是点源您自己的)。

编辑

阅读完您的编辑后,我会说继续编辑每个配置文件,直到找到运行 posh-git 的配置文件。从控制台主机在 ISE 编辑器中启动配置文件的一种简单方法是执行以下操作:

ise $Profile.AllUsersAllHosts
ise $Profile.CurrentUserAllHosts

(ETC。)

请注意,配置文件可能实际上并不存在。如果它们不存在,您将无法在 ISE 中启动它,这很好。

一旦你找到了 posh-git 进行更改的文件,只需在最后点源你自己的文件。

或者,您可以删除该文件或将整个内容注释掉。

让我知道我是否有意义或者这是否令人困惑。

于 2014-09-23T01:22:39.963 回答