Powershell中的PSReadLine插件提供了基于历史记录的智能提示功能,此外,还有几款插件可提供基于机器学习的智能提示。全部配置完成后,可在Powershell里实现类似IDE的智能提示体验。 (图中效果即来自于历史记录和插件的智能提示)
建议安装 Windows Terminal 作为默认终端: 安装并开始设置 Windows 终端
搜索最新版本的 PowerShell:
winget search Microsoft.PowerShell
使用 id 参数安装 PowerShell:
winget install --id Microsoft.Powershell --source winget
使用 PowerShellGet 安装 PSReadLine:
Install-Module -Name PSReadLine
安装Az.Accounts插件(智能提示插件Az.Tools.Predictor的前置插件):
Install-module -name Az.Accounts -Force
安装Az.Tools.Predictor插件:
Install-module -name Az.Tools.Predictor -Force
启用Az.Tools.Predictor插件:
Enable-AzPredictor -AllSession
安装CompletionPredictor插件:
Install-Module -Name CompletionPredictor -Repository PSGallery
用记事本打开 Powershell 配置文件:
notepad $PROFILE
以上命令如果出错,先创建配置文件:
New-Item -Path $PROFILE -Type File -Force
在打开的配置文件里,粘贴上如下配置内容:
# 导入智能提示模块
Import-Module PSReadLine
Import-Module Az.Tools.Predictor
Import-Module -Name CompletionPredictor
# 设置 IntelliSense 预测来源和历史记录和插件
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
保存配置文件并重新加载(或者重启Powershell):
. $PROFILE
这样,Powershell 就拥有了基于机器学习的智能提示。智能提示有两种展示方式,一种是行内展示,输入时按 右箭头
选择预测结果。另一种是列表预测视图,输入时可按 上/下方向键
选择预测结果。
按 F2
切换 行内预测
和 列表预测
模式。如果要让 Powershell 每次启动都自动切换到 列表预测
模式,在配置文件里加上这句内容:
Set-PSReadLineOption -PredictionViewStyle ListView
oh-my-posh 插件可提供 Powershell 美化、git 信息展示,posh-git 插件可提供 git 命令的智能补全。例如,安装 posh-git 插件后,键入 git ch
,然后按 Tab
键,会自动补全为 git checkout
,继续按 Tab
键,会在例如 git cherry
和 git cherry-pick
等命令之间循环。
通过 winget 安装:
winget install JanDeDobbeleer.OhMyPosh -s winget
使用 oh-my-posh 插件时需要配套使用 Nerd 字体,否则会出现乱码。 Nerd Fonts 这个网站收录了一些常用的Nerd字体。
通过这个命令可调出所有 oh-my-posh 主题:
Get-PoshThemes
选择了喜欢的主题后(例如选择markbull主题), 再次进入 Powershell 配置文件,在里面加入如下内容:
# 配置 oh-my-posh 为防病毒软件例外,并选择markbull主题为默认主题
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/markbull.omp.json" | Invoke-Expression
配置完成后,保存配置文件并重新加载(或者重启Powershell):
. $PROFILE
Install-Module posh-git -Scope CurrentUser -Force
安装完成后,在 Powershell 配置文件里添加如下内容:
# 导入智能提示模块
Import-Module posh-git
请修改对应编辑器终端的字体为 Nerd 字体。