Cambiar el título de una ventana en powershell

A medida que crece nuestra habilidad como desarrollador de PowerShell y aumenta la complejidad de nuestros scripts, comenzamos a incorporar nuevos elementos para mejorar la experiencia del usuario. Eso podría incluir cambiar las fuentes, el color de fondo o el título de la ventana de la consola. Aprendamos como cambiar el titulo de la consola en powershell, esto nos permitiría agregar el contexto de lo que hacemos.

Métodos

Exploraremos dos formas de cambiar el título de la ventana de la consola.

  • La variable $Host.
  • Consola de secuencias de terminales virtuales.

La variable automática $Host

Esta variable contiene un objeto que representa la aplicación host actual para PowerShell. Este objeto contiene una propiedad llamada que nos permite cambiar varios aspectos del host de la ventana de PowerShell actual, incluido el título de la ventana. Así es como lo hacemos.$Host.UI.RawUI

$Host.UI.RawUI.WindowTitle = 'ConsoleForMyProject!'

Y con solo un cambio de valor de propiedad, nuestro título de ventana cambió.

Powershell in macOS

Por más simple y sencillo que sea el método anterior, hay algo a tener en cuenta. La variable $Host automática depende del directamente del host.

Secuencias de terminales virtuales

Las secuencias de terminal virtual de la consola son secuencias de caracteres de control que pueden controlar varios aspectos de la consola cuando se escriben. Las secuencias de terminal son interceptadas por el host de la consola cuando se escriben en el flujo de salida. Para ver todas las secuencias y ejemplos más detallados, vaya a la página de documentación de Microsoft . Se prefieren las secuencias de terminales virtuales porque siguen un estándar bien definido y están totalmente documentadas. El título de la ventana está limitado a 255 caracteres.

Para cambiar el título de la ventana, la secuencia es o , ESC]0;<string><ST>ESC]2;<string><ST>, donde

  • ESC es el carácter 0x1B.
  • <ST> es el terminador de cadena, que en este caso es el carácter “Campana” 0x7.

El carácter de campana también se puede utilizar con la secuencia de escape \a. Así es como cambiamos el título de una ventana de consola con secuencias de terminales virtuales.

$title = 'Title with terminal sequences!'

Write-Host "$([char]0x1B)]0;$title$([char]0x7)"

# Using the escape sequence.
Write-Host "$([char]0x1B)]0;$title`a"

Referencia: https://devblogs.microsoft.com/powershell-community/changing-console-title/

Recuerda siempre seguir aprendiendo con mis cursos en mteheran.dev/cursos