Uso de Visual Studio Code para la edición y la depuración de forma remota
Aquellos usuarios que están familiarizados con el ISE pueden recordar que era posible ejecutar psedit file.ps1 desde la consola integrada para abrir archivos, locales o remotos, directamente en el ISE.
Esta característica también está disponible en la extensión de PowerShell para VSCode. Esta guía muestra cómo hacerlo.
Prerequisites
En esta guía se da por supuesto que tiene lo siguiente:
- un recurso remoto (p. ej.: una máquina virtual, un contenedor) al que tiene acceso.
- PowerShell ejecutándose en él y en el equipo host
- VSCode y la extensión de PowerShell para VSCode
Esta característica funciona en PowerShell y Windows PowerShell.
Esta característica también funciona al conectarse a un equipo remoto a través de WinRM, PowerShell Direct o SSH. Si desea usar SSH, pero está usando Windows, consulte la versión Win32 de SSH.
Importante
Los comandos Open-EditorFile y psedit solo funcionan en la consola integrada de PowerShell que la extensión de PowerShell crea para VSCode.
Ejemplos de uso
Estos ejemplos muestran la depuración y la edición remotas desde un equipo MacBook Pro a una máquina virtual Ubuntu que se ejecuta en Azure. El proceso es idéntico en Windows.
Edición de archivo local con Open-EditorFile
Con la extensión de PowerShell para VSCode iniciada y la consola integrada de PowerShell abierta, podemos escribir Open-EditorFile foo.ps1 o psedit foo.ps1 para abrir el archivo foo.ps1 local directamente en el editor.

Nota
El archivo foo.ps1 ya debería existir.
Desde ahí, podemos hacer lo siguiente:
Agregar puntos de interrupción en el medianil.

Presionar F5 para depurar el script de PowerShell.

Durante la depuración, puede interactuar con la consola de depuración y consultar las variables en el ámbito de la izquierda y todas las demás herramientas de depuración estándar.
Edición de archivo remoto con Open-EditorFile
Ahora veamos la edición y la depuración de un archivo remoto. Los pasos son prácticamente los mismos, solo hay una cosa que debemos hacer primero: escribir nuestra sesión de PowerShell en el servidor remoto.
Hay un cmdlet para hacerlo. Se llama Enter-PSSession.
La explicación desglosada del cmdlet es:
Enter-PSSession -ComputerName fooinicia una sesión a través de WinRMEnter-PSSession -ContainerId fooyEnter-PSSession -VmId fooinician una sesión a través de PowerShell DirectEnter-PSSession -HostName fooinicia una sesión a través de SSH
Para más información, consulte la documentación para Enter-PSSession.
Como vamos desde macOS a una máquina virtual Ubuntu en Azure, usamos SSH para la comunicación remota.
En primer lugar, ejecute Enter-PSSession en la consola integrada. Se conecta a la sesión remota cuando [<hostname>] aparece a la izquierda del símbolo del sistema.

Ahora, podemos completar los mismos pasos que llevaríamos a cabo si estuviéramos editando un script local.
- Ejecute
Open-EditorFile test.ps1opsedit test.ps1para abrir el archivotest.ps1remoto.

Editar el archivo/establecer los puntos de interrupción

Iniciar la depuración (F5) del archivo remoto

Si tiene algún problema, puede abrir los problemas que hay en el repositorio de GitHub.