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
.
En resumen:
Enter-PSSession -ComputerName foo
inicia una sesión a través de WinRMEnter-PSSession -ContainerId foo
yEnter-PSSession -VmId foo
inician una sesión a través de PowerShell DirectEnter-PSSession -HostName foo
inicia una sesión a través de SSH
Para más información, consulte la documentación para Enter-PSSession.
Como vamos a conectarnos de forma remota a una máquina virtual de Ubuntu en Azure, usamos SSH.
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ésemos editando un script local.
Ejecute
Open-EditorFile test.ps1
opsedit test.ps1
para abrir el archivotest.ps1
remoto.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.