Adventures in PowerShell Alchemy: Turning Code into Solutions

ISE Color Theme Cmdlets

ISE Color Theme Cmdlets

ISEColorTheme.Cmdlets is a PowerShell module that brings modern, customizable theme management to the PowerShell ISE. With functions to export, import, adjust, apply, and manage themes (including GUI support), it’s ideal for those who still use ISE and want greater visual control over their environment.

✨ Features

  • Import/export PowerShell ISE themes in .StorableColorTheme.ps1xml format
  • Modify themes (darker, lighter, warmer, cooler, greener)
  • Save/load themes to/from the registry
  • Apply themes directly from file, registry, or object
  • GUI-based theme selector
  • Add-on menu for easy access in ISE
  • Keyboard shortcut support
  • Includes 25+ pre-built themes with preview images
  • Lightweight, module-first design (no external dependencies)

πŸ“¦ Installation

Install-Module -Name ISEColorTheme.Cmdlets -Scope CurrentUser

πŸš€ Getting Started

Add the custom theme menu:

Add-ISEThemeMenu

Export the current theme:

Export-ISEThemeFile -Name 'MyTheme' -Directory 'C:\Themes'

Import and apply a theme:

Import-ISEThemeFile -FilePath 'C:\Themes\MyTheme.ps1xml' -ApplyTheme

Modify your theme:

Set-ISEColor -Cooler

Launch the GUI theme picker:

Select-ISETheme

🧠 Cmdlet Overview

CmdletDescription
Add-ISEThemeMenuAdds a theme manager menu to the ISE Add-Ons menu.
Export-GroupISEThemeExports all registry-stored themes to files.
Export-ISEThemeFileSaves a theme to a .ps1xml file.
Get-CurrentISEThemeReturns the currently active theme as structured data.
Get-ImportedISEThemeLists all imported themes from the registry.
Get-ISEThemeLoads a theme from file or registry.
Import-GroupISEThemeImports all .ps1xml themes from a folder.
Import-ISEThemeFileImports a theme file into the registry and optionally applies it.
Remove-ISEThemeDeletes a theme from the registry.
Select-ISEThemeOpens a GUI to select a theme.
Set-ISEColorAdjusts the current theme (lighter, darker, warmer, etc.).
Set-ISEThemeApplies a theme from file, registry, or object.
Set-ISEThemeColorsApplies raw theme color and font data to ISE.

πŸ“˜ Documentation

Each function includes full comment-based help. You can access it with:

Get-Help <FunctionName> -Detailed

Example:

Get-Help Set-ISETheme -Detailed

🎨 Included Themes

This module comes bundled with over 25 professionally styled PowerShell ISE color themes, ready to import and use immediately. Each theme is stored in .StorableColorTheme.ps1xml format and includes a preview image so you can browse before applying.

πŸ“ Theme Directory

You’ll find the themes organized under the ISEThemes/ directory:

ISEThemes/
β”œβ”€β”€ Ambients/
β”‚   β”œβ”€β”€ Ambients.StorableColorTheme.ps1xml
β”‚   └── Ambients_Example.PNG
β”œβ”€β”€ Monokai/
β”‚   β”œβ”€β”€ Monokai.StorableColorTheme.ps1xml
β”‚   └── Monokai_Example.PNG
...

πŸ–ΌοΈ Preview the Themes

Each theme folder contains a .PNG preview to help you choose your look before applying it.

πŸš€ Importing a Theme

To import and apply a theme, just run:

Import-ISEThemeFile -FilePath 'ISEThemes\Monokai\Monokai.StorableColorTheme.ps1xml'

🧩 Add Menu to Your ISE Profile

To always have quick access to theme selection, add the Add-ISEThemeMenu cmdlet to your PowerShell ISE profile script.

First, check the profile path and create it if it doesn’t exist:

if (-not (Test-Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}

Then edit your profile file, which is typically located at:

$PROFILE
# For example: C:\Users\<YourUserName>\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

Add the following:

Import-Module ISEColorTheme.Cmdlets
if (Get-Command Add-ISEThemeMenu -ErrorAction SilentlyContinue) {
    Add-ISEThemeMenu -AddShortcuts
}

You can omit -AddShortcuts if you don’t want the theme adjustment hotkeys mapped:

Add-ISEThemeMenu

πŸ“„ License

This project is licensed under the GNU General Public License v3.0. Feel free to modify, share, and contribute!

πŸ™ Credits

Built by Jeff Pollock at pXLabs
🌐 https://pxlabs.info
πŸ™Β GitHub – @phriendx

Special thanks to the open community for theme inspirationβ€”especially https://github.com/mortenya/PowerShell_ISE_Themes.

Share this

Jeff Pollock Avatar