DEV Community

Thomas Alcala Schneider
Thomas Alcala Schneider

Posted on

34 7

Fish-like Autosuggestion in Powershell

For a year, working on Windows laptops has been nonoptional for me. I've been desperately trying to make my environment as close as it is on Mac OS, with the added challenge to do it without the Windows Subsystem for Linux (WSL). So this relies heavily on Powershell.

One thing I like from the fish shell (and was reproduced in zsh by the zsh-autosuggestion plugin) is the autosuggestion feature.

It's that thing where when you start typing something and there is something that starts with the same letters in your history, it'll write it after the cursor in grayed colors. And it's awesome.

For Powershell, it´s called predictive IntelliSense in PSReadLine.

Prerequisites

  • Powershell 5.1 or higher

Installation

  1. First, install ´PSReadLine´ version 2.1.0

    
    
    Install-Module PSReadLine -RequiredVersion 2.1.0
    
1. Then, initialize it with the command below
    ```


    Import-Module PSReadLine
    Set-PSReadLineOption -PredictionSource History


Enter fullscreen mode Exit fullscreen mode

And there it is!

(Optional) Initialize it in your profile

  1. Check if you already have a profile

    
    
    Test-path $profile
    
1. If false, create one
    ```


    New-item –type file –force $profile


Enter fullscreen mode Exit fullscreen mode
  1. If yes, edit it

    
    
    notepad $profile
    
1. Run this command and close your terminal
    ```


    Set-ExecutionPolicy RemoteSigned


Enter fullscreen mode Exit fullscreen mode
  1. Update your profile file like in step 3, and add those lines to it

    
    
    Import-Module PSReadLine
    Set-PSReadLineOption -PredictionSource History
    

And that's it!

![Autosuggest in Powershell](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0yg202h1ju1o1cd4aeb.gif)
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (8)

Collapse
 
fcoclavero profile image

Thanks a lot!

If you get the following error:

Set-PSReadLineOption : A parameter cannot be found that matches parameter name 'PredictionSource'
Enter fullscreen mode Exit fullscreen mode

installing a prerelease may solve the issue:

Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
Enter fullscreen mode Exit fullscreen mode
Collapse
 
parshuram-patil profile image
Parshuram Patil • Edited

I am able to get the autosuggestions but still unable to get ZSH like view like green >, colors, etc. Am I missing something?

Image description

Collapse
 
castellodev profile image
CastelloDev

The gif seems to be using starship terminal:
starship.rs/

Collapse
 
cisnuxseed profile image
Cisnux

Thanks bro, this useful for me

Collapse
 
matrixcloud profile image
atom

thanks, very useful.

Collapse
 
wangaevans profile image
Wanga Evans

Thanks alot! I Love it

Collapse
 
ffrmns profile image
ffrmns

Thanks, this will help learning powershell in ease

Collapse
 
dphov profile image
Dmitry Petukhov

Thank you, Thomas
Now it looks more like fish :)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay