Posh-git在包管理器控制台中不显示分支

3
我在Windows PowerShell中安装了posh-git,它在shell中运行得很好。然而,它也应该在包管理器控制台中工作。它确实可以工作,但不像普通的powershell窗口那样显示当前分支。
我按照this tutorial进行操作,一切都很顺利,除了我的包管理器控制台没有像他的那样带有分支名称。

你在VS 2012包管理器控制台中只能看到PM>

但在 PowerShell 中它可以正常工作。
1个回答

5

Nuget有一个单独的配置文件(~\Documents\WindowsPowerShell\NuGet_profile.ps1),因此它没有加载默认配置文件中安装的posh-git。

让posh-git工作最简单的方法是从“包管理器控制台”运行install.ps1。或者,如果您希望您的配置文件匹配,可以在Nuget配置文件中加载默认配置文件:

$PROFILEDIR = (Split-Path -Path $MyInvocation.MyCommand.Definition -Parent)
Push-Location $PROFILEDIR

. .\Microsoft.PowerShell_profile.ps1

Pop-Location

(已编辑以包括切换到个人文件夹; 捕获位置在 $PROFILEDIR 中是可选的,但我发现它很方便。)

感谢您的回答。我必须稍微调整您建议添加到 NuGet_profile.ps1 中的行,以添加到 . $HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1。如果没有这个更改,就不会加载默认配置文件 - 实际上,如果我在包管理器控制台中运行您提出的命令,Powershell 会抱怨找不到脚本。 - edymtt
哦,是的,配置文件是从默认工作目录的上下文中执行的。看看我的编辑,了解我通常如何处理这个问题。 - dahlbyk
感谢您的跟进和改进答案 - 这样我在Powershell中学到了新东西。 - edymtt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接