Publicado en

PowerShell 7 IntelliSense predictivo: cómo aceptar sugerencias y configurar la tecla Tab con PSReadLine

PowerShell 7

PowerShell 7 IntelliSense predictivo: cómo aceptar sugerencias y configurar la tecla Tab con PSReadLine

¿Ves sugerencias en gris mientras escribes en PowerShell 7? Eso es el IntelliSense predictivo de PSReadLine. Aquí te explico cómo aceptarlas, cómo hacer que Tab las acepte (si quieres) y cómo dejarlo automático en tu perfil.

¿Qué es el IntelliSense predictivo en PowerShell?

El IntelliSense predictivo muestra sugerencias en gris claro mientras tecleas. Lo gestiona la extensión PSReadLine, que mejora la experiencia interactiva en la consola (historial, edición de línea, atajos, etc.).

Por defecto, la tecla Tab sigue siendo el autocompletado tradicional (rutas, comandos y parámetros). Para aceptar la sugerencia sombreada del predictor, se usa otra tecla.

Cómo aceptar la sugerencia predictiva

  • Presiona → (flecha derecha) para aceptar la sugerencia completa.
  • Usa Ctrl + → para aceptar palabra por palabra.

Captura sugerida: una imagen de la consola mostrando el texto que escribes y, en gris, la sugerencia propuesta por PSReadLine.

¿Quieres que Tab acepte la sugerencia predictiva?

Si prefieres que Tab acepte la sugerencia (en lugar del autocompletado tradicional), puedes reasignarla con PSReadLine:

Import-Module PSReadLine
Set-PSReadLineKeyHandler -Key Tab -Function AcceptSuggestion

Importante: esto reemplaza el comportamiento clásico de Tab. Si sueles completar rutas/carpetas con Tab, quizá te convenga dejarlo como viene de fábrica y usar la flecha derecha.

Captura sugerida: secuencia corta: 1) antes de reasignar, Tab completa rutas; 2) después de reasignar, Tab acepta la predicción en gris.

Dejar la configuración permanente en tu perfil

Para que los cambios a PSReadLine se carguen siempre, colócalos en tu perfil de PowerShell:

  1. Revisa la ruta del perfil:
    $PROFILE
  2. Si el archivo no existe, créalo:
    if (-not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
  3. Ábrelo en tu editor:
    notepad $PROFILE
  4. Agrega estas líneas (ajusta a tu gusto):
    Import-Module PSReadLine
    # Aceptar sugerencias predictivas con flecha derecha (por defecto)
    # Set-PSReadLineKeyHandler -Key RightArrow -Function AcceptSuggestion
    
    # (Opcional) Usar TAB para aceptar la predicción
    # OJO: esto reemplaza el autocompletado clásico con TAB
    # Set-PSReadLineKeyHandler -Key Tab -Function AcceptSuggestion
    
    # Predicción más completa (historial + plugins)
    Set-PSReadLineOption -PredictionSource HistoryAndPlugin

Captura sugerida: una ventana de notepad mostrando el contenido del $PROFILE con las líneas anteriores.

Opciones útiles de PSReadLine (avanzado)

  • Estilo de predicción (apariencia de la sugerencia):
    Set-PSReadLineOption -PredictionViewStyle ListView   # lista abajo
    Set-PSReadLineOption -PredictionViewStyle InlineView # sugerencia en línea (gris)
  • Volver al comportamiento por defecto de Tab:
    Set-PSReadLineKeyHandler -Key Tab -Function Complete
  • Desactivar predicción (si no te gusta):
    Set-PSReadLineOption -PredictionSource None

Solución de problemas

  • No veo predicciones: verifica que el módulo esté cargado (Get-Module PSReadLine) y que la opción no esté en None.
  • Conflicto en VS Code: comprueba el terminal integrado; si usas perfiles distintos (Windows Terminal vs PowerShell externo), edita el $PROFILE correcto.
  • Quiero predecir solo por historial: usa -PredictionSource History.

Captura sugerida: VS Code con el terminal de PowerShell y la predicción en InlineView vs ListView.

Conclusión

El IntelliSense predictivo acelera tu escritura en PowerShell. Acepta sugerencias con , o reasigna Tab si lo prefieres. Guarda la configuración en el $PROFILE para que sea permanente y ajusta el estilo de predicción a tu flujo de trabajo.

¿Quieres que deje tu perfil listo con atajos y opciones recomendadas? Déjame un comentario y te comparto un snippet personalizado.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tiempo excedido. Por favor completa el captcha nuevamente

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.