терминал Windows (о, мой шикарный) не показывает статус git после того, что я пробовал

описание

  1. Я импортирую posh-git, но не использую его быстрый стиль. и мой терминал Windows $PROFILE, например:

    •           Import-Module posh-git
      Import-Module oh-my-posh
      Set-PoshPrompt -Theme default
      #$env:POSH_GIT_ENABLED = $true
      
  2. Я прочитал аналогичный вопрос [Windows Terminal + oh-my-posh не показывает статус git и изменил файл темы, но он также не работает.

    • сегмент "git" файла темы, например:

                    {
                "type": "git",
                "background": "p:green",
                "background_templates": [
                  "{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}",
                  "{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}",
                  "{{ if gt .Ahead 0 }}#49416D{{ end }}",
                  "{{ if gt .Behind 0 }}#7A306C{{ end }}"
                ],
                "foreground": "p:black",
                "foreground_templates": [
                  "{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}",
                  "{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}",
                  "{{ if gt .Ahead 0 }}p:white{{ end }}"
                ],
                "powerline_symbol": "\ue0b0",
                "properties": {
                  "display_status": true,
                  "display_stash_count": true,
                  "display_upstream_icon": true,
                  "branch_max_length": 25,
                  "fetch_status": true,
                  "fetch_upstream_icon": true,
                  "github_icon": "\uf7a3"
                },
                "style": "powerline",
                "template": " {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{ .BranchStatus }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} "
          },
      

      все свойства отображения ("display_status" ...) верны.

изображение:

он не отображает статус git!! Почему??фотка

Вопрос

Я просто хочу знать, устарел ли oh-my-posh отображение статуса git ???

и я прочитал страницу блога oh-my-posh , в отображении статуса git нет никаких изменений

1 ответ

  1. устарел их модуль PowerShell и просит пользователей выполнить миграцию . Итак, в качестве первого шага выполните шаги миграции, описанные в документах, и замените Import-Module oh-my-poshтак же как Set-PoshPrompt -Theme defaultс, например,

            oh-my-posh init pwsh --config ~/.custom.omp.json | Invoke-Expression
    
  2. Раскомментировать

            #$env:POSH_GIT_ENABLED = $true
    

    так включен. Подсказка отключена по умолчанию :

    PowerShell предлагает поддержку модуля автодополнения, но по умолчанию он отключен. Чтобы включить это, установите $env:POSH_GIT_ENABLED = $trueв твоей $PROFILE.

  3. В README написано:

    posh-git не заменит функцию подсказки, если обнаружит, что у вас есть собственная настроенная функция подсказки.

    Хорошо, вот что нам нужно: использовать вместо подсказки. Так как же нам превратить последнее в первое?

  4. В твоей oh-my-posh.omp.jsonконфигурационный файл, добавьте сегмент в нужном вам месте:

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

    Соответствующая разница здесь в том, что это тип poshgit, не типа gitбольше (последний, насколько я вижу, является «встроенным»).

Это работает для меня™, в первом приближении. Вам нужно будет добавить пользовательский foreground_templateмагии и т. д. для дальнейшей настройки, но эти настройки должны позволять posh-gitподскажите, по крайней мере, отобразить из вашего oh-my-poshодин.

Другие вопросы по тегам