2012-12-10 6 views
21

मैं node.js. का उपयोग कर एक विंडोज प्रोजेक्ट के लिए PowerShell का उपयोग शुरू कर रहा हूँ। पावरहेल कमांड लाइन से कई प्रोग्राम (नोड, पर्यवेक्षक और एनपीएम सहित) चलाते समय, मेरी पावरशेल पृष्ठभूमि और अग्रभूमि रंग डिफ़ॉल्ट पावरहेल रंगों से बदलना शुरू कर देते हैं। मैं PowerShell के भीतर एक सतत रूप को कैसे बनाए रख सकता हूं ताकि मैं आसानी से चल रहे आदेशों के परिणाम पढ़ सकूं? ,यदि वे प्रोग्राम चलाने के बाद दूषित हो जाते हैं तो आप Windows PowerShell के लिए रंग कैसे रीसेट कर सकते हैं?

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

दूसरा फ़ाइल में इस कोड डाल:

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

तीसरा, तो देखें कि क्या PowerShell को आप की अनुमति देगा

+0

वाह, 3 अच्छे उत्तर। – jimhark

उत्तर

14

मुझे MSBuild के साथ यह समस्या है, खासकर जब मैं ctrl + c एक बिल्ड करता हूं। यह वही है मैं अपने profile.ps1 फ़ाइल में डाल दिया है:

$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 
} 

तब मैं सिर्फ आह्वान रीसेट-रंग जब MSBuild उन्हें में गड़बड़ हो गया है।

13

पहले अगर आप पहले से ही एक नहीं है PowerShell में एक प्रोफ़ाइल बना स्क्रिप्ट चलाएं।

Get-ExecutionPolicy 

इस कहते प्रतिबंधित उसके बाद निम्न के रूप में प्रशासक चलाते हैं (कृपया सुनिश्चित करें कि आप सुरक्षा के प्रभाव को समझते हैं):

Set-ExecutionPolicy RemoteSigned 

एक नया PowerShell प्रॉम्प्ट खोलें और आप में सक्षम रन नोड या अन्य होना चाहिए बिना किसी रंग के मुद्दों के आदेश।

+3

जोड़ने के लिए टिप्पणी करते हुए, यदि आप पॉश-गिट का उपयोग करते हैं तो एक मौका है कि आप डिफ़ॉल्ट प्रोफ़ाइल का उपयोग कर रहे हैं, जो 'प्रॉम्प्ट' फ़ंक्शन को परिभाषित करता है, इसलिए सुनिश्चित करें कि आप उस कार्य में '[कंसोल] :: रीसेटकॉलर() 'जोड़ दें अन्यथा आप 'इसे ओवरराइट कर देगा, और उस पॉश-गिट नीचनेस को ढीला कर देगा। – Pureferret

52

एक बार की संचालन सिर्फ इस चलाने के रूप में:

> [Console]::ResetColor() 

From the docs: (जोर जोड़ा)

अग्रभूमि और पृष्ठभूमि रंग रंग कि अस्तित्व में जब वर्तमान प्रक्रिया शुरू करने के लिए बहाल कर रहे हैं

+3

यह स्वीकार्य उत्तर होना चाहिए। कोई प्रोफ़ाइल सेटअप आवश्यक है। – Matt

+1

यह एक अच्छा स्वीकार्य उत्तर होगा, सिवाय इसके कि यह मेरे लिए काम नहीं करता है, और वास्तव में किसी अन्य विंडो से '$ host.ui.rawui' मानों की प्रतिलिपि बनाकर समस्या को मैन्युअल रूप से ठीक करने के बाद यह समस्या वापस आती है। – mdonoughe

संबंधित मुद्दे

 संबंधित मुद्दे