Uso de Visual Studio Code para el desarrollo de PowerShell
Visual Studio Code (VS Code) es un editor de scripts multiplataforma de Microsoft. Junto con la extensión de PowerShell y, proporciona una experiencia de edición de scripts enriquecida e interactiva, lo que facilita la escritura de scripts de PowerShell fiables. Visual Studio Code con la extensión de PowerShell es el editor recomendado para escribir scripts de PowerShell.
Admite las siguientes versiones de PowerShell:
- PowerShell 7.2 y versiones posteriores (Windows, macOS y Linux)
- Windows PowerShell 5.1 (solo Windows) con .NET Framework 4.8
Nota
Visual Studio Code no es lo mismo que Visual Studio.
Empezar
Antes de empezar, asegúrese de que PowerShell existe en el sistema. Para las cargas de trabajo modernas en Windows, macOS y Linux, consulte los vínculos siguientes:
- instalación de PowerShell en Linux
- Instalación de PowerShell en macOS
- instalación de PowerShell en Windows
Para las cargas de trabajo tradicionales de Windows PowerShell, consulte Instalación de Windows PowerShell.
Importante
Windows PowerShell ISE sigue estando disponible para Windows. Sin embargo, ya no se incluye en el desarrollo activo de características. El ISE solo funciona con PowerShell 5.1 y versiones anteriores. Como componente de Windows, sigue recibiendo soporte oficial para correcciones de seguridad y de servicio de alta prioridad. no tenemos planes para quitar el ISE de Windows.
Instalación de VS Code y la extensión de PowerShell
Instale Visual Studio Code. Para más información, consulte la información general que se describe en Configuración de Visual Studio Code.
Hay instrucciones de instalación para cada plataforma:
Instale la extensión de PowerShell.
- Inicie la aplicación vs Code escribiendo
code
en una consola ocode-insiders
si instaló Visual Studio Code Insiders. - Inicie Apertura Rápida en Windows o Linux presionando Ctrl+P. En macOS, presione Cmd+P.
- En Apertura Rápida, escriba
ext install powershell
y presione Enter. - Se abre la vista Extensiones en la barra lateral. Seleccione la extensión de PowerShell de Microsoft.
- Haga clic en el botón Instalar en la extensión de PowerShell de Microsoft.
- Después de la instalación, si ve que el botón Instalar se convierte en Volver a cargar, haga clic en Volver a cargar.
- Una vez que VS Code se haya vuelto a cargar, estará listo para editarlo.
- Inicie la aplicación vs Code escribiendo
Por ejemplo, para crear un archivo, haga clic en Archivo > Nuevo. Para guardarlo, haga clic en Archivo > Guardar y proporcione un nombre de archivo, como HelloWorld.ps1
. Para cerrar el archivo, haga clic en el X
situado junto al nombre de archivo.
Para salir de VS Code, haga clic en Archivo > Salir.
Instalación de la extensión de PowerShell en sistemas restringidos
Algunos sistemas están configurados para requerir la validación de todas las firmas de código. Puede recibir el siguiente error:
Language server startup failed.
Este problema puede producirse cuando la directiva de ejecución de PowerShell se establece mediante la directiva de grupo de Windows. Para aprobar manualmente PowerShell Editor Services y la extensión de PowerShell para VS Code, abra una consola de PowerShell y ejecute el siguiente comando:
Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1
Se le pide ¿Desea ejecutar software desde este publicador que no es de confianza? Escriba A
para ejecutar el archivo. A continuación, abra VS Code y compruebe que la extensión de PowerShell funciona correctamente. Si sigue teniendo problemas para empezar, háznoslo saber en un problema de GitHub.
Elección de una versión de PowerShell para usarla con la extensión
Con la instalación de PowerShell en paralelo con Windows PowerShell, ahora es posible usar una versión específica de PowerShell con la extensión de PowerShell. Esta característica examina algunas rutas de acceso conocidas en diferentes sistemas operativos para detectar instalaciones de PowerShell.
Siga estos pasos para elegir la versión:
- Abra la paleta de comandos en Windows o Linux con Ctrl+Mayús+P. En macOS, use Cmd+Mayús+P.
- Busque Sesión.
- Haga clic en PowerShell: Show Session Menu (PowerShell: Mostrar menú de sesión).
- Elija la versión de PowerShell que desea usar en la lista.
Si instaló PowerShell en una ubicación no típica, es posible que no aparezca inicialmente en el menú sesión. Para extender el menú de la sesión, agregue sus propias rutas de acceso personalizadas tal como se describe a continuación.
También se puede acceder al menú de sesión de PowerShell desde el icono de {}
de la esquina inferior derecha de la barra de estado. Al pasar el cursor sobre este icono o seleccionarlo, se muestra un acceso directo al menú de la sesión y un pequeño icono de anclaje. Si selecciona el icono de pin, el número de versión se agrega a la barra de estado. El número de versión es un acceso directo al menú de sesión que requiere menos clics.
Nota
Anclar el número de versión replica el comportamiento de la extensión en versiones de VS Code anteriores a la 1.65. La versión 1.65 de VS Code cambió las API que usa la extensión de PowerShell y normalizó la barra de estado para las extensiones de lenguaje.
Opciones de configuración para Visual Studio Code
En primer lugar, si no se está familiarizado con la forma de cambiar la configuración en VS Code, se recomienda leer la documentación sobre la configuración de Visual Studio Code.
Después de leer la documentación, puede agregar opciones de configuración en settings.json
.
{
"editor.renderWhitespace": "all",
"editor.renderControlCharacters": true,
"files.trimTrailingWhitespace": true,
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
Si no desea que esta configuración afecte a todos los tipos de archivos, VS Code también permite configuraciones por lenguaje. Cree una configuración específica del idioma colocando la configuración en un campo [<language-name>]
. Por ejemplo:
{
"[powershell]": {
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
}
Sugerencia
Para obtener más información sobre la codificación de archivos en VS Code, consulte Descripción de la codificación de archivos. Además, consulte Cómo replicar la experiencia de ISE en VS Code para obtener otras sugerencias sobre cómo configurar VS Code para la edición de PowerShell.
Agregar sus propias rutas de acceso de PowerShell al menú de sesión
Puede agregar otras rutas de acceso ejecutables de PowerShell al menú de sesión mediante la configuración de Visual Studio Code: powershell.powerShellAdditionalExePaths
.
Puede hacerlo mediante la GUI:
- En la paleta de comandos, busque y seleccione Abrir configuración de usuario. O bien, use el método abreviado de teclado en Windows o Linux Ctrl+,. En macOS, use Cmd+,.
- En el editor de configuración, busque Rutas de acceso adicionales de Exe de PowerShell.
- Haga clic en Agregar elemento.
- Para la clave (bajo el elemento ), proporcione el nombre de su elección para esta instalación adicional de PowerShell.
- Para el valor (en Valor), proporcione la ruta de acceso absoluta al propio ejecutable.
Puede agregar tantas rutas de acceso adicionales como desee. Los elementos agregados aparecen en el menú de sesión con la clave especificada como nombre.
Como alternativa, puede agregar pares clave-valor al objeto powershell.powerShellAdditionalExePaths
en el settings.json
:
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
"Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
},
}
Nota
Antes de la versión 2022.5.0 de la extensión, esta configuración era una lista de objetos con las claves necesarias exePath
y versionName
. Se introdujo un cambio importante para admitir la configuración a través de la GUI. Si ha configurado anteriormente esta configuración, conviértela en el nuevo formato. El valor dado para versionName
ahora es la clave de, y el valor dado para exePath
ahora es el valor de. Para ello, puede restablecer el valor y usar la interfaz Configuración.
Para establecer la versión predeterminada de PowerShell, establezca el valor powershell.powerShellDefaultVersion
en el texto que se muestra en el menú de sesión (el texto usado para la clave):
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
},
"powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}
Después de configurar esta opción, reinicie VS Code o vuelva a cargar la ventana actual de VS Code desde la paleta de comandos de , escriba Developer: Reload Window
.
Si abre el menú de sesión, verá las instalaciones adicionales de PowerShell.
Sugerencia
Si compila PowerShell desde su código fuente, esta es una excelente manera de probar la compilación local de PowerShell.
Depuración con Visual Studio Code
Depuración fuera del área de trabajo
En VS Code versión 1.9 (o posterior), puede depurar scripts de PowerShell sin abrir la carpeta que contiene el script de PowerShell.
- Abra el archivo de script de PowerShell con Archivo > Abrir archivo….
- Establecer un punto de interrupción: seleccione una línea y presione F9
- Presione F5 para iniciar la depuración.
Verá que aparece el panel de acciones de depuración, que le permite iniciar el depurador, realizar la depuración paso a paso, reanudarla y detenerla.
Depuración del área de trabajo
La depuración del área de trabajo hace referencia a la depuración en el contexto de una carpeta que se ha abierto desde el menú Archivo mediante Abrir carpeta... Suele tratarse de la carpeta del proyecto de PowerShell o la raíz del repositorio de Git. La depuración en el área de trabajo permite definir varias configuraciones de depuración además de simplemente depurar el archivo que está abierto actualmente.
Siga estos pasos para crear un archivo de configuración de depuración:
Abra la vista Depurar en Windows o Linux con Ctrl+Mayús+D. En macOS, presione Cmd+Mayús+D.
Haga clic en el vínculo crear un archivo launch.json.
En el mensaje Seleccionar entorno, seleccione PowerShell.
Elija el tipo de depuración que desea usar:
- Iniciar archivo actual: iniciar y depurar el archivo en la ventana del editor activo
- Iniciar script: iniciar y depurar el archivo o comando especificado
- Sesión interactiva - comandos de depuración ejecutados desde la consola integrada
- Adjuntar: adjuntar el depurador a un proceso de host de PowerShell en ejecución
VS Code crea un directorio y un archivo .vscode\launch.json
en la raíz de la carpeta del área de trabajo para almacenar la configuración de depuración. Si tus archivos están en un repositorio de Git, normalmente querrás hacer commit del archivo launch.json
. El contenido del archivo launch.json
son:
{
"version": "0.2.0",
"configurations": [
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch (current file)",
"script": "${file}",
"args": [],
"cwd": "${file}"
},
{
"type": "PowerShell",
"request": "attach",
"name": "PowerShell Attach to Host Process",
"processId": "${command.PickPSHostProcess}",
"runspaceId": 1
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Interactive Session",
"cwd": "${workspaceRoot}"
}
]
}
Este archivo representa los escenarios de depuración comunes. Al abrir este archivo en el editor, verá un botón Agregar configuración.... Puede hacer clic en este botón para agregar más configuraciones de depuración de PowerShell. Una configuración muy útil que conviene agregar es PowerShell: Iniciar Script. Con esta configuración, puede especificar un archivo que contenga argumentos opcionales que se usan siempre que presione F5 independientemente del archivo que esté activo en el editor.
Una vez establecida la configuración de depuración, puede seleccionar la configuración que desea usar durante una sesión de depuración. Seleccione una configuración de la lista desplegable de configuraciones de depuración en la barra de herramientas de la vista Depurar.
Solución de problemas de la extensión de PowerShell
Si experimenta algún problema con el uso de VS Code para el desarrollo de scripts de PowerShell, consulte la guía de solución de problemas de en GitHub.
Recursos útiles
Hay algunos vídeos y entradas de blog que pueden resultar útiles para empezar a usar la extensión de PowerShell para VS Code:
Vídeos
- Uso de Visual Studio Code como editor de PowerShell predeterminado
- Visual Studio Code: profundizar en la depuración de los scripts de PowerShell
Entradas de blog
- Extensión de PowerShell
- Escribir y depurar scripts de PowerShell en Visual Studio Code
- Instrucciones de depuración de Visual Studio Code
- Depuración de PowerShell en Visual Studio Code
- Introducción al desarrollo de PowerShell en Visual Studio Code
- características de edición de Visual Studio Code para el desarrollo de PowerShell: parte 1
- características de edición de Visual Studio Code para el desarrollo de PowerShell: parte 2
- Depuración de scripts de PowerShell en Visual Studio Code, parte 1
- Depuración de scripts de PowerShell en Visual Studio Code, parte 2
Código fuente del proyecto de extensión de PowerShell
El código fuente de la extensión de PowerShell se puede encontrar en GitHub.
Si está interesado en contribuir, las solicitudes de incorporación de cambios resultan muy apreciadas. Siga la documentación de para desarrolladores en GitHub para empezar.