Oh-my-posh 主题与 Powerline 字体和 ConEmu 无法正常工作

Ara*_*han 7 shell powershell customization prompt posh-git

我在 Windows 7 上使用 PowerShell 作为我的 shell。我发现 ConEmu 是一个非常好的终端。由于我不在 Windows 10 上,因此无法使用 Windows 终端,但 ConEmu 一点也不差。我了解了 posh-git 和 oh-my-posh 以及它们如何自定义您的 PowerShell 体验。我安装了 oh-my-posh,Paradox 主题看起来不错。但是我在 Prompt 中的随机位置看到了一些空框。悖论问题

这是我在所有主题上都面临的一个问题。颜色和设计都很漂亮,我想使用它,但那些奇怪的盒子让我无法这样做。我还想告诉我,我使用 Cascadia Code 作为我的字体,这也是 Cascadia Code 的电力线版本。所以,我认为它应该像例外一样工作。接下来,为了解决这个问题,我去了 nerdfont.com 并从那里安装了 Cascadia Code,而不是微软的官方 GitHub 存储库。然后我将 ConEmu 的字体设置为我从 nerdfonts 安装的 Cascadia,结果发生了: 在此处输入图片说明

以某种方式我可以看到 Python 符号和更多符号更好,但仍然有一个框无法呈现。但是如果我更改存储库,情况会变得更糟: 在此处输入图片说明

“master”后面有一个奇怪的问号。我想我已经满足了使用 oh-my-posh 的所有先决条件,比如安装 posh-git 和 PSReadLine 并拥有 powerline Cascadia Code 字体,并且还按照他们的官方建议使用了 ConEmu。如果有人可以帮助我摆脱这种混乱并建议如何解决我的提示,我将非常感激。

PS 我正在使用 PowerShell 7 核心。

HAL*_*256 18

当您看到方框时,这意味着该字体没有指定的字符。例如,有很多专用字体没有定义每个字符位置。

就在oh-my-posh GitHub 页面上,引用:

如果您在安装所选字体后发现奇怪的字形,请确保这些字形可用(也许它们在字体中的位置不同,如果是这样,请调整正确的$ThemeSettings图标)。如果发现不支持您想要的字符,请选择其他字体。

同样在oh-my-posh GitHub 页面上,使用的字体是:

我使用的字体是 Powerline 字体,有一个 包含它们的很棒的存储库。我Meslo LG M Regular用于电力线书呆子字体

如果使用Meslo LG M Regular不能解决您的问题,那么您必须手动将图标重新映射到所选字体中正确的 unicode 位置。

对于Oh My Posh 的第 2 版,您必须编辑该$ThemeSettings变量。按照 GitHub 上有关配置主题设置的说明进行操作。例如:

$ThemeSettings.GitSymbols.BranchSymbol = [char]::ConvertFromUtf32(0xE0A0) 
Run Code Online (Sandbox Code Playgroud)

对于 Oh My Posh 的 3+ 版本,您必须编辑 JSON配置文件以进行更改,例如:

...
{
    "type": "git",
    "style": "powerline",
    "powerline_symbol": "\uE0B0",
....
Run Code Online (Sandbox Code Playgroud)

  • 简短的回答是的。PowerShell 控制台的呈现方式与 VS Code 终端不同。请记住,VS Code 是一个 Electron 应用程序,因此使用多个 `<canvas>` 元素渲染 PowerShell 终端,或者可以更改为使用 [DOM](https://code.visualstudio.com/docs/editor/集成终端#_改变终端如何渲染)。尝试让任何类型的主题在两者上都发挥相同的作用,是一种希望和祈祷;-)。 (2认同)

小智 11

发布此回复是因为我遵循了 @HAL9256 的回复,它非常有帮助,但我必须更进一步。如果您使用的是 Windows 终端,则实际上必须将终端设置为使用 nerd 字体。这花了我太长时间才弄清楚,所以希望它能帮助下一个人。

在Windows终端中,打开设置,然后打开左侧的默认值,然后打开外观选项卡,最后将字体更改为书呆子字体

https://www.jondjones.com/media/rhzobluq/customise-your-powershell-prompt-like-a-boss-c.gif

来源:https ://www.jondjones.com/tropics/productivity/customise-your-powershell-prompt-like-a-boss/