首页 > 解决方案 > Windows 终端 + oh-my-posh 未显示 git 状态

问题描述

我已经在我的 Windows 终端中安装了 oh-my-posh 和 posh-git,但是它不会跟踪任何 git 更改,如图所示。不管我做了什么改变,它都只是这样显示,没有状态:

在此处输入图像描述

我也尝试过不使用 posh-git,因为我认为 oh-my-posh 默认具有此功能,但结果仍然相同。

这是我的 oh-my-posh 主题:

{
  "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
  "blocks": [
    {
      "alignment": "left",
      "segments": [
        {
          "background": "#91ddff",
          "foreground": "#100e23",
          "powerline_symbol": "",
          "properties": {
            "folder_icon": "",
            "folder_separator_icon": "  ",
            "home_icon": "",
            "style": "agnoster"
          },
          "style": "powerline",
          "type": "path"
        },
        {
          "background": "#95ffa4",
          "foreground": "#193549",
          "powerline_symbol": "",
          "style": "powerline",
          "type": "git"
        },
        {
          "background": "#906cff",
          "foreground": "#100e23",
          "powerline_symbol": "",
          "properties": {
            "prefix": "  "
          },
          "style": "powerline",
          "type": "python"
        },
        {
          "background": "#ff8080",
          "foreground": "#ffffff",
          "powerline_symbol": "",
          "style": "powerline",
          "type": "exit"
        }
      ],
      "type": "prompt"
    }
  ],
  "final_space": true
}

标签: oh-my-zshwindows-terminalposh-git

解决方案


在这里找到了答案:https ://ohmyposh.dev/docs/git/ 。显然 git status 默认是禁用的,所以你需要在 git 配置中添加一个属性部分:

{
  "type": "git",
  "style": "powerline",
  "powerline_symbol": "\uE0B0",
  "foreground": "#193549",
  "background": "#ffeb3b",
  "properties": {
    "display_status": true,
    "display_stash_count": true,
    "display_upstream_icon": true
  }
}

也可以使用 posh-git:

{
  "type": "poshgit",
  "style": "powerline",
  "powerline_symbol": "\uE0B0",
  "foreground": "#ffffff",
  "background": "#0077c2"
}

推荐阅读