Skip to content

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).

License

Notifications You must be signed in to change notification settings

phriendx/ISEColorTheme.cmdlets

Repository files navigation

ISEColorTheme.Cmdlets

PowerShell Windows License: GPLv3 PowerShell Gallery

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

Cmdlet Description
Add-ISEThemeMenu Adds a theme manager menu to the ISE Add-Ons menu.
Export-GroupISETheme Exports all registry-stored themes to files.
Export-ISEThemeFile Saves a theme to a .ps1xml file.
Get-CurrentISETheme Returns the currently active theme as structured data.
Get-ImportedISETheme Lists all imported themes from the registry.
Get-ISETheme Loads a theme from file or registry.
Import-GroupISETheme Imports all .ps1xml themes from a folder.
Import-ISEThemeFile Imports a theme file into the registry and optionally applies it.
Remove-ISETheme Deletes a theme from the registry.
Select-ISETheme Opens a GUI to select a theme.
Set-ISEColor Adjusts the current theme (lighter, darker, warmer, etc.).
Set-ISETheme Applies a theme from file, registry, or object.
Set-ISEThemeColors Applies 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.

About

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).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published