2016-09-14 3 views
0

これは私のコンソールZパワーシェルであり、私も気持ちの良い環境を望んでいましたが動作しません。PowerShellのプロンプト機能(例えば、ConsoleZとposh-git)を組み合わせる

ConsoleZ power-shell

このコード行は、私は今の時間のカップルをしようとしているのMicrosoft 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> " 
} 

で、POSH-gitが私のconsoleZへ統合されていません。

問題は、$ profileに必要なすべてのスクリプトを置いた後でposh-gitを実行しないということです。

私はこのようになることはできません。

Example consoleZ with posh-git running

UPDATE

Burt_Harrisコメントは正しかった、それが理由posh_gitをいじったプロンプト機能を、今私の問題は、作業2つの機能を取得する方法ですでしたか? 2つのプロンプトの機能を統合する

UPDATE 2

私のスクリプト。代わりにposh_git例プロファイルでこの

Write-Host($pwd.ProviderPath) -nonewline 

を使用するだけで、私に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

を与え、私は

Write-Host(Split-Path -leaf $pwd.ProviderPath) -nonewline 
にそれを修正しました

そのトリックをした、別のfuを作る必要はなかったnction。

+0

私の質問は、私の$ profileのスクリプトに間違っています。私は、コンソールZで走っている怒鳴りを得ることができない。 git環境はconsoleZで動作しますが、posh-gitはconsoleZに表示されません。 – juscuizon

+0

おそらくposh-git(これまで私が使ったことのない)はプロンプト機能を置き換えることで動作し、あなたのスクリプトはプロンプト機能をそれ自身のものに置き換えます。スクリプトの先頭に 'function prompt'を入れてみてください。 –

+0

@Burt_Harrisまったく正しい、2つのプロンプト機能を同時に動作させる方法を知っていますか?助言がありますか。 – juscuizon

答えて

0

代わりのposh_git例プロファイルにこの

Write-Host($pwd.ProviderPath) -nonewline 

を使用して、私はトリックをした

Write-Host(Split-Path -leaf $pwd.ProviderPath) -nonewline 

にそれを変更し、別のものを作る必要はありませんでした関数。

0

古いプロンプト関数を保存して、オーバーライドされたバージョンで呼び出すと、別の情報を連結します。たとえば:

$previousPrompt = $function:prompt 

function prompt() { 
    "MyPrompt`n$(&$previousPrompt)" 
    } 
+0

function global:{ "myPrompt'n $(&$ posh_gitPrompt)" } – juscuizon

関連する問題