每次打开新的标签页,Powershell 都会输出下面的代码
Loading personal and system profiles took 3566ms.
时间不固定,有时1s到10s都可能有,时间不固定。 这个加载速度是非常慢的。
然后我打开一个非oh-my-posh的窗口,输入
oh-my-posh debug
看到其中几行日志:
2022/07/09 12:20:23 error: HTTPRequest
Get "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json": context deadline exceeded
2022/07/09 12:20:23 HTTPRequest duration: 5.0072715s, args: https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json
2022/07/09 12:20:23 downloadConfig duration: 5.0072715s, args: https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json
2022/07/09 12:20:23 resolveConfigPath duration: 5.0072715s, args:
2022/07/09 12:20:23 Init duration: 5.0072715s, args:
好家伙,原来每次启动,oh-my-posh还去github上下载了一个文件。
因为下载文件而拖慢了整个启动过程。
然后在github issue上倒找:https://github.com/JanDeDobbeleer/oh-my-posh/issues/2251
oh-my-posh init pwsh –config ~/default.omp.json
其中关键一点是启动oh-my-posh的时候,如果不用–config配置默认的文件,oh-my-posh就回去下载默认的配置文件。
所以问题就好解决了。
首先下载https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json 这个文件,然后再保存到用户的家目录里面。
然后打开terminal, 输入: code $profile
前提是你的电脑上要装过vscode, 然后给默认的profile加上–config参数,试了一下,问题解决。
oh-my-posh init pwsh --config ~/default.omp.json | Invoke-Expression
Import-Module PSReadLine
New-Alias -Name ll -Value ls
if ($host.Name -eq 'ConsoleHost')
{
Import-Module PSReadLine
Set-PSReadLineOption -EditMode Emacs
}