Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
PSReadLine 2.1.0 introdujo la característica IntelliSense predictiva . IntelliSense predictivo proporciona sugerencias de comandos completos basados en elementos del historial de PSReadLine. PSReadLine 2.2.2 amplía la potencia de IntelliSense predictivo agregando compatibilidad con módulos de complemento que usan lógica avanzada para proporcionar sugerencias para comandos completos. La versión más reciente, PSReadLine 2.2.6, habilita las predicciones de forma predeterminada.
Uso de IntelliSense predictivo
Cuando IntelliSense predictivo está habilitado, la sugerencia de predicción aparece como texto coloreado después del cursor del usuario. Las sugerencias de IntelliSense predictivo ayudan a los usuarios nuevos y experimentados de PowerShell a detectar, editar y ejecutar comandos completos en función de las predicciones coincidentes. Las sugerencias pueden proceder del historial del usuario y de complementos específicos de dominio adicionales.
Las imágenes anteriores muestran el valor predeterminado InlineView
de la sugerencia. Al presionar la tecla RightArrow , se acepta una sugerencia insertada. Después de aceptar la sugerencia, puede editar la línea de comandos antes de presionar Entrar para ejecutar el comando.
PSReadLine también ofrece una ListView
presentación de las sugerencias.
Cuando se encuentra en la vista de lista, puede usar las teclas de dirección para desplazarse por las sugerencias disponibles. La vista de lista también muestra el origen de la predicción.
PSReadLine tiene InlineView
como valor predeterminado . Puede cambiar entre InlineView
y ListView
presionando la tecla F2 . También puede usar el parámetro PredictionViewStyle de Set-PSReadLineOption
para cambiar la vista.
Gestión de las funciones predictivas de IntelliSense
Para usar IntelliSense predictivo, debe tener instalada una versión más reciente de PSReadLine . Para obtener los mejores resultados, instale la versión más reciente del módulo.
Para instalar PSReadLine mediante PowerShellGet:
Install-Module -Name PSReadLine
O bien, instale mediante el nuevo módulo PowerShellGet v3 :
Install-PSResource -Name PSReadLine
PSReadLine se puede instalar en Windows PowerShell 5.1 o en PowerShell 7 o posterior. Para usar complementos de predicción, debe ejecutarse en PowerShell 7.2 o superior. Windows PowerShell 5.1 puede usar el predictor basado en el historial.
En PSReadLine 2.2.6, IntelliSense predictivo está habilitado de forma predeterminada en función de las condiciones siguientes:
- Si se admite el terminal virtual (VT) y PSReadLine que se ejecuta en PowerShell 7.2 o posterior, PredictionSource se establece en
HistoryAndPlugin
- Si se admite VT y PSReadLine que se ejecuta en PowerShell anterior a la 7.2, PredictionSource se establece en
History
- Si no se admite VT, PredictionSource se establece en
None
.
Use el siguiente comando para ver la configuración actual:
Get-PSReadLineOption | Select-Object -Property PredictionSource
Puede cambiar el origen de predicción mediante el Set-PSReadLineOption
cmdlet con el parámetro PredictionSource .
PredictionSource se puede establecer en:
None
History
Plugin
HistoryAndPlugin
Nota:
Las predicciones basadas en el historial proceden del historial mantenido por PSReadLine. Ese historial es más completo que el historial basado en sesión que puede ver mediante Get-History
. Para obtener más información, consulte la sección Historial de comandos de about_PSReadLine.
Establecimiento del color de predicción
De forma predeterminada, las predicciones aparecen en texto gris claro en la misma línea que el usuario está escribiendo. Para satisfacer las necesidades de accesibilidad, puede personalizar el color de predicción. Los colores se definen mediante secuencias de escape ANSI. Puede usar $PSStyle
para crear secuencias de escape ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
O bien, puede crear su propio. El color predeterminado del texto de predicción gris claro se puede restaurar mediante la siguiente secuencia de escape ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Para obtener más información sobre cómo establecer el color de predicción y otras configuraciones de PSReadLine, vea Set-PSReadLineOption.
Cambio de asignación de teclas
PSReadLine contiene funciones para navegar y aceptar predicciones. Por ejemplo:
-
AcceptSuggestion
- Aceptar la sugerencia en línea actual -
AcceptNextSuggestionWord
- Aceptar la siguiente palabra de la sugerencia insertada -
AcceptSuggestion
se construye dentro deForwardChar
, que está vinculado a RightArrow de forma predeterminada. -
AcceptNextSuggestionWord
se compila dentro de la funciónForwardWord
, que se puede enlazar a Ctrl+f
Puede usar el Set-PSReadLineKeyHandler
cmdlet para cambiar los enlaces de clave.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Con esta asignación, al presionar Ctrl+f se acepta la siguiente palabra de una sugerencia en línea cuando el cursor está al final de la línea de edición actual. Puede enlazar otras claves a AcceptSuggestion
y AcceptNextSuggestionWord
para funcionalidades similares. Por ejemplo, puede que quiera hacer que RightArrow acepte la siguiente palabra de la sugerencia insertada, en lugar de toda la línea de sugerencias.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Uso de otros complementos de predicción
El módulo Az.Tools.Predictor fue el primer complemento para IntelliSense predictivo. Usa Machine Learning para predecir qué comando de Azure PowerShell desea ejecutar y los parámetros que desea usar. Para obtener más información e instrucciones de instalación, consulte Anuncio de la disponibilidad general de Az.Tools.Predictor.
El módulo CompletionPredictor agrega una experiencia de IntelliSense para cualquier cosa que se pueda completar mediante tabulación en PowerShell. Con PSReadLine establecido en InlineView
, obtendrá la experiencia de finalización de tabulación normal. Al cambiar a ListView
, obtendrá la experiencia de IntelliSense. Puede instalar el módulo CompletionPredictor desde la Galería de PowerShell.
Como se indicó anteriormente, ListView
muestra el origen de la predicción. Si tiene varios complementos instalados, las predicciones se agrupan por origen con historial enumerado primero seguido de cada complemento en el orden en que se cargaron.
Creación de su propio módulo de predicción
Puede escribir su propio predictor mediante C# para crear un módulo de PowerShell compilado. El módulo debe implementar la interfaz System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Esta interfaz declara los métodos usados para consultar los resultados de la predicción y proporcionar comentarios.
Para obtener más información, consulte Creación de un predictor de línea de comandos.