Cuma Eğlencesi: Beni Teması!


Yanlış hatırlamıyorsam PowerShell 2.0'da görünümü özelleştirmek istiyorsanız ISE profil scriptinize bu gibi komutlar eklemeniz gerekiyordu.

# Set font name and size
$psISE.Options.FontName = 'Courier New'
$psISE.Options.FontSize = 16

# Set colors for command pane
$psISE.Options.ConsolePaneBackgroundColor    = '#FF000000'
$psISE.Options.ConsolePaneTextBackgroundColor    = '#FF000000'

# Set colors for script pane
$psise.options.ScriptPaneBackgroundColor    ='#FF000000'

Aslında o zamanlar Thomas Lee'nin harika bir senaryosuna rastlamıştım. Senaryosu, başka bir kişinin PowerShell ISE'de VIM görünümlü bir düzenleyici oluşturma konusunda yayınladığı bir şeyin PowerShell versiyonuydu. Üzerinde biraz çalıştıktan sonra bazı farklı dosya türlerini ve durumlarını ele almak için birkaç değişiklik yaptım. Bu, o senaryonun benim versiyonum.

#modified for powerShell 3.0

<#
.SYNOPSIS
    This script sets an ISE Theme to similar to the old VIM editor.
.DESCRIPTION
    This script sets the key values in $PsIse.Options to values consistent
    with the VIM editor, beloved by many, particularly on the Powershell
    product team. This script is based on Davis Mohundro's blog post ( http://bit.ly/iib5IM),
    updated for RTM of PowerShell V2.0. See also 
.NOTES
    File Name  : Set-ISEThemeVIM.ps1
    Author     : Thomas Lee - [email 
    Requires   : PowerShell Version 2.0 (ISE only)
.LINK
    This script posted to:
        http://www.pshscripts.blogspot.com
 .EXAMPLE
    This script when run resets colours on key panes, including
    colourising tokens in the script pane. Try it and see it...
#>

# PowerShell ISE version of the VIM blackboard theme at 
# http://www.vim.org/scripts/script.php?script_id=2280

# Set font name and size
$psISE.Options.FontName = 'Courier New'
$psISE.Options.FontSize = 16

# Set colours for command pane
$psISE.Options.ConsolePaneBackgroundColor    = '#FF000000'
$psISE.Options.ConsolePaneTextBackgroundColor    = '#FF000000'

# Set colours for script pane
$psise.options.ScriptPaneBackgroundColor    ='#FF000000'

# Set colours for tokens in Script Pane
$psISE.Options.TokenColors['Command'] = '#FFFFFF60'
$psISE.Options.TokenColors['Unknown'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Member'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Position'] = '#FFFFFFFF'
$psISE.Options.TokenColors['GroupEnd'] = '#FFFFFFFF'
$psISE.Options.TokenColors['GroupStart'] = '#FFFFFFFF'
$psISE.Options.TokenColors['LineContinuation'] = '#FFFFFFFF'
$psISE.Options.TokenColors['NewLine'] = '#FFFFFFFF'
$psISE.Options.TokenColors['StatementSeparator'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Comment'] = '#FFAEAEAE'
$psISE.Options.TokenColors['String'] = '#FF00D42D'
$psISE.Options.TokenColors['Keyword'] = '#FFFFDE00'
$psISE.Options.TokenColors['Attribute'] = '#FF84A7C1'
$psISE.Options.TokenColors['Type'] = '#FF84A7C1'
$psISE.Options.TokenColors['Variable'] = '#FF00D42D'
$psISE.Options.TokenColors['CommandParameter'] = '#FFFFDE00'
$psISE.Options.TokenColors['CommandArgument'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Number'] = '#FF98FE1E'

<#
Set the script foreground color to white so text files
display properly.
Set Verbose ForegroundColor to Yellow
Set Debug Foreground color to light purple

-JDH
#>
$psise.options.ScriptPaneForegroundColor= 'White'
$psise.Options.VerboseForegroundColor = '#FFFFFF00'
$psise.Options.DebugForegroundColor ='#FFE500E5'

$psise.Options.XmlTokenColors['Comment'] = '#FF00FF00'   
$psise.Options.XmlTokenColors['CommentDelimiter'] = '#FF00FF00'                                                                 
$psise.Options.XmlTokenColors['ElementName']= '#FFFFFF00'                      
$psise.Options.XmlTokenColors['MarkupExtension']= '#FFFF8C00'
$psise.Options.XmlTokenColors['Attribute']= '#FFFF0000'
$psise.Options.XmlTokenColors['Quote']= '#FFE5E500'                            
$psise.Options.XmlTokenColors['QuotedString']= '#FFFFFFFF'
$psise.Options.XmlTokenColors['Tag']= '#FF00FFFF'                                 
$psise.Options.XmlTokenColors['Text']= '#FFFFFFFF'                          
$psise.Options.XmlTokenColors['CharacterData']= '#FFD4D4D4'

Komut dosyasını ISE'de çalıştırırsanız şuna dönüşecektir:

Hala PowerShell 2,0 çalıştırıyorsanız bu betiği kullanmanız gerekir. Aslında bunu v3 ve v4'te de kullanabilirsiniz. Veya bu sürümlerde temaları da içe aktarabilirsiniz. Tema, gerekli tüm görünüm tanımlarını içeren bir ps1xml dosyasıdır. Devam ettim ve VIM temamı bir dosyaya aktardım. Bu dosyayı VIM_Theme.ps1xml gibi bir .ps1xml uzantısıyla kaydedin. Ardından PowerShell ISE'yi açın ve Araçlar - Seçenekler'e gidin. Renkler ve Yazı Tipleri sekmesinde Temaları Yönet'e tıklayın. İçe Aktar'a tıklayın ve ps1xml dosyasını alın. Bu onu İMKB'ye aktaracaktır. Uygulamak için listeden temayı seçmeniz ve Tamam'ı tıklamanız gerekebilir.

Bunu yalnızca bir kez yapmanız gerekir. Artık İMKB'yi her başlattığınızda bu temayı alacaksınız. Bundan kurtulmak istiyorsanız Renkler ve Yazı Tipleri sekmesinde Varsayılanları Geri Yükle düğmesi vardır. Ayrıca kendi temalarınızı da oluşturabilir ve dışa aktarabilirsiniz. Ancak bunu yaparsanız, .txt ve .xml gibi farklı dosya türleriyle test ettiğinizden emin olun. Ayrıca Verbose ve Warning gibi farklı akışları da test edin. Harika bir tema bulursanız umarım bunu PowerShell topluluğuyla paylaşırsınız.

İlgili makaleler