Uso de Visual Studio Code para edición y depuración remotas
Para aquellos que están familiarizados con el ISE, es posible que recuerde que podría ejecutar psedit file.ps1
desde la consola integrada para abrir archivos ( local o remoto) directamente en el ISE.
Esta característica también está disponible en la extensión de PowerShell para VSCode. En esta guía se muestra cómo hacerlo.
Prerrequisitos
En esta guía se da por supuesto que tiene lo siguiente:
- Un recurso remoto (por ejemplo, una máquina virtual, un contenedor) al que tiene acceso
- PowerShell ejecutándose en éste y en la máquina 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 una máquina remota a través de WinRM, PowerShell Direct o SSH. Si quiere usar SSH, pero usa Windows, consulte la versión win32 de SSH!
Importante
Los comandos Open-EditorFile
y psedit
solo funcionan en la consola integrada de PowerShell creada por la extensión de PowerShell para VSCode.
Ejemplos de uso
En estos ejemplos se muestra la edición y depuración remota desde un MacBook Pro hacia una máquina virtual Ubuntu que se ejecuta en Azure. El proceso es idéntico en Windows.
Edición de archivos locales 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 local foo.ps1 directamente en el editor.
Nota
El archivo foo.ps1
ya debe existir.
Desde allí, podemos:
Agregar puntos de interrupción en el medianil.
del margen
Presione F5 para depurar el script de PowerShell.
Durante la depuración, puede interactuar con la consola de depuración, consultar las variables del ámbito de la izquierda y todas las demás herramientas de depuración estándar.
Edición remota de archivos con Open-EditorFile
Ahora veamos la edición y la depuración de un archivo remoto. Los pasos son casi iguales, hay solo una cosa que debemos hacer primero: escriba nuestra sesión de PowerShell en el servidor remoto.
Hay un cmdlet para hacerlo. Se denomina Enter-PSSession
.
En resumen:
Enter-PSSession -ComputerName foo
inicia una sesión mediante WinRMEnter-PSSession -ContainerId foo
yEnter-PSSession -VmId foo
iniciar 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.
Puesto que nos estamos conectando de forma remota a una VM Ubuntu en Azure, estamos usando SSH.
En primer lugar, en la consola integrada, ejecute Enter-PSSession
. Se conecta a la sesión remota cuando [<hostname>]
aparece a la izquierda del símbolo del sistema.
Ahora, podemos realizar los mismos pasos que si editamos un script local.
Ejecute
Open-EditorFile test.ps1
opsedit test.ps1
para abrir el archivo detest.ps1
remotodel sistema remoto
Editar el archivo/establecer puntos de interrupción.
Iniciar la depuración (F5) del archivo remoto
Si tiene algún problema, puede abrir incidencias en el repositorio de GitHub .