這是我的ConsoleZ powershell,我希望擁有一個posh-git環境,但不起作用。將PowerShell提示功能(例如ConsoleZ與posh-git)結合使用
這行代碼是微軟PowerShell配置
Write-Host "Setting up GitHub Environment"
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
Write-Host "Setting up Posh-Git"
. (Resolve-Path "$env:github_posh_git\profile.example.ps1")
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
我一直在努力,現在一對夫婦的時間內,豪華,git會不會上集成到我的consoleZ。
問題是在將$ profile中所需的所有腳本放入後,它不會運行posh-git。
我不能這樣做。
UPDATE
Burt_Harris評論是正確的,這是因爲與posh_git搞亂提示功能的,現在我的問題是如何讓兩個功能工作?
更新2
我的腳本兩個提示功能結合起來。只要給我PS>代替文件夾目錄>
# Prompt for shortened link on command line
function myPrompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
$myPrompt = $function:myPrompt
# Set up a simple prompt, adding the git prompt parts inside git repos
function posh_gitPrompt {
$realLASTEXITCODE = $LASTEXITCODE
Write-Host($pwd.ProviderPath) -nonewline
Write-VcsStatus
$global:LASTEXITCODE = $realLASTEXITCODE
return "> "
}
# Combine myPrompt & posh_gitPrompt
function global:prompt {
"myPrompt`n$(&$posh_gitPrompt)"
}
SOLUTION
而不是在posh_git示例性配置文件使用此
Write-Host($pwd.ProviderPath) -nonewline
的,我把它修改爲
Write-Host(Split-Path -leaf $pwd.ProviderPath) -nonewline
那個伎倆,不需要再做另一個fu nction。
我的問題是我的$ profile文件有什麼問題。我似乎無法使用consoleZ運行posh-git。 git環境與consoleZ協同工作,但posh-git不會在consoleZ上顯示。 – juscuizon
也許posh-git(我從來沒有用過)通過替換提示函數來操作,而你的腳本用它自己替換它的提示函數。嘗試在腳本的開頭放置'function prompt'。 –
@Burt_Harris完全正確,你知道如何使兩個提示功能同時工作嗎?有什麼建議麼。 – juscuizon