2012-12-10 11 views
21

Node.js. kullanarak bir Windows projesi için PowerShell kullanmaya başlıyorum. Powershell commmand satırından birçok programı (düğüm, yönetici ve npm dahil) çalıştırırken, PowerShell arka planım ve ön plan renklerim varsayılan Powershell renklerinden değişmeye başlar. PowerShell'de tutarlı bir görünümü nasıl koruyabilirim, böylece komut komutlarının sonuçlarını kolayca okuyabilirim? PowerShell sizi sağlayacak olmadığını kontrolBir program çalıştırdıktan sonra bozulursa, Windows PowerShell için renkleri nasıl sıfırlayabilirsiniz?

function prompt { 
    [Console]::ResetColor() 
} 

Üçüncüsü:,

test-path $profile 
new-item -path $profile -itemtype file -force 
notepad $profile 

İkinci dosyasında bu kodu koymak: Eğer zaten bir tane var yoksa

+0

Vay, 3 iyi cevap. – jimhark

cevap

14

Özellikle ctrl + C bir yapı olduğunda, MSBuild ile ilgili bu sorun var. Bu benim profile.ps1 dosyasında koymak budur: MSBuild onları berbat zaman

$OrigBgColor = $host.ui.rawui.BackgroundColor 
$OrigFgColor = $host.ui.rawui.ForegroundColor 

# MSBUILD has a nasty habit of leaving the foreground color red 
# if you Ctrl+C while it is outputting errors. 
function Reset-Colors { 
    $host.ui.rawui.BackgroundColor = $OrigBgColor 
    $host.ui.rawui.ForegroundColor = $OrigFgColor 
} 

Sonra ben sadece Reset-Colors çağırmak.

13

İlk PowerShell'de bir profil oluşturmak komut dosyalarını çalıştır.

Get-ExecutionPolicy 

bu Kısıtlı sonra aşağıdaki AS Yönetici çalıştırmak diyorsa (Güvenlik etkilerini anlamak emin olun):

Set-ExecutionPolicy RemoteSigned 

yeni PowerShell istemi açın ve mümkün çalıştırma düğümü veya diğer olmalıdır herhangi bir renk sorunu olmayan komutlar.

+3

Eklemek isterseniz, posh-git'i kullanırsanız, bir 'prompt' işlevini tanımlayan varsayılan profili kullandığınız için bir şans var demektir, bu nedenle bu işleve' [Console] :: ResetColor() 'eklediğinizden emin olun aksi halde Üzerine yazacağım ve tüm o güzelliği kaybedecek. – Pureferret

52

bir kerelik işlem sadece bu çalıştırmak gibi:

> [Console]::ResetColor() 

From the docs:

ön plan ve arka plan renkleri cari işlem başlamadan önce var renklere restore olan (vurgu eklenmiştir).

+3

Bu kabul edilen cevap olmalı. Profil kurulumu gerekli değil. – Matt

+1

Bu benim için işe yaramadı ve aslında başka bir pencereden '$ host.ui.rawui' değerlerini kopyalayarak sorunu elle düzeltmeden sonra iyi bir yanıt kabul olurdu, bu sorun geri dönüşü yapar. – mdonoughe

İlgili konular