为什么要写这个呢?
主要吧,现在在Windows上,不管有什么多种多样的shell移植如Msys,Cygwin之类,用得最多最方便的,特别是和我目前主要使用的两个IDE/编辑器: Visual Studio与Visual Studio Code最相合的,肯定是Powershell。
但是,默认的Powershell自动补全非常难用,可以自动补全的参数就寥寥几个。我觉得还是可以稍微改进一下。
方法
首先需要安装好PSReadLine
模块。
安装好后,使用你最喜欢的编辑器,编辑$PROFILE
这个变量对应的文件。这里我们以使用Windows自带的记事本notepad
为例,在Powershell中输入:
添加如下片段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Import-Module PSReadLine
# Shows navigable menu of all options when hitting Tab Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
# Autocompleteion for Arrow keys Set-PSReadLineOption -HistorySearchCursorMovesToEnd Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineOption -ShowToolTips Set-PSReadLineOption -PredictionSource History
#Set the color for Prediction (auto-suggestion) Set-PSReadLineOption -Colors @{ Command = 'Magenta' Number = 'DarkBlue' Member = 'DarkBlue' Operator = 'DarkBlue' Type = 'DarkBlue' Variable = 'DarkGreen' Parameter = 'DarkGreen' ContinuationPrompt = 'DarkBlue' Default = 'DarkBlue' InlinePrediction = 'DarkGray' }
oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression
|
每句配置的含义都非常容易懂。颜色部分是我自己定义的,都可以自由改动。此外我还使用了oh-my-posh
定义shell的样式。改动结束后,保存文件,重新打开Powershell即可应用配置。或者使用. $PROFILE
以在当前终端读取配置文件。