Predictive IntelliSense in Azure Cloud Shell
Beginning January 2023 Azure Cloud Shell uses the version of PSReadLine that has Predictive IntelliSense enabled by default. We've also installed and enabled the Azure PowerShell predictor Az.Tools.Predictor module. Together, these changes enhance the command-line experience by providing suggestions that help new and experienced users of Azure discover, edit, and execute complete commands.
What is Predictive IntelliSense?
Predictive IntelliSense is a feature of the PSReadLine module. It provides suggestions for complete commands based on items from your history and from predictor modules, like Az.Tools.Predictor.
Prediction suggestions appear as colored text following the user's cursor. The following image shows
the default InlineView
of the suggestion. Pressing RightArrow key accepts an inline
suggestion. After accepting the suggestion, you can edit the command line before hitting
Enter to run the command.
PSReadLine also offers a ListView
presentation of the suggestions.
In ListView
mode, use the arrow keys to scroll through the available suggestions. List view also
shows the source of the prediction.
You can switch between InlineView
and ListView
by pressing the F2 key.
How to change the prediction color
The default color of the suggestions may be difficult for some people. PSReadLine allows you to configure the color of the suggestions.
The following command changes the color of inline suggestions to white text on a gray background.
Set-PSReadLineOption -Colors @{
InlinePrediction = $PSStyle.Foreground.White + $PSStyle.Background.BrightBlack
}
Learn more about color settings for Set-PSReadLineOption.
How to disable Predictive IntelliSense
If you don't want to take advantage of these updated features, PSReadLine allows you to turn off Predictive IntelliSense.
To disable Predictive IntelliSense, execute the following Set-PSReadLineOption
command or add to
the PowerShell profile script.
Set-PSReadLineOption -PredictionSource None
Keep your changes permanent
The commands to change the prediction color and enable or disable predictions only affect the current session. Add these commands to your PowerShell profile so that they're available every time you start Cloud Shell. The following instructions will guide you through configuring a profile for Cloud Shell. For more information on PowerShell profiles, see About_Profiles
How to check if you have a PowerShell profile in Cloud Shell
A PowerShell profile is a script that runs when PowerShell starts. Use Test-Path
to check if the
profile exists in Cloud Shell.
Test-Path -Path $Profile
How to Create a PowerShell profile in Cloud Shell
If the output is False, create a profile and add the customized color and behavior commands.
To store configuration commands for Predictive IntelliSense, Use the New-Item
cmdlet to create a
PowerShell profile.
New-Item -Path $Profile -ItemType File -Force
Directory: /home/jason/.config/PowerShell
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
-rw-r--r-- jason jason 11/19/2022 18:21 0 Microsoft.PowerShell_profile.ps1
Use the built-in open-source editor to edit the profile. To learn more, see Azure Cloud Shell editor.
The following example shows the profile commands that set the prediction color to default light grey and enables History predictions.
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -Colors @{ InLinePrediction = '#8d8d8d' }
How to Edit a PowerShell profile in Cloud Shell
If the output is True, then a profile already exists. Edit the existing profile to add the commands to configure the color and behavior of Predictive IntelliSense. Use the built-in open-source editor to edit the profile. To learn more, see Azure Cloud Shell editor.
Use the built-in Cloud Shell editor to edit the profile:
code $Profile
Next steps
For more information about configuring PSReadLine and managing predictors, see Using predictors in PSReadLine.
For more information on PowerShell profiles, see About_Profiles.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for