терминал Windows (о, мой шикарный) не показывает статус git после того, что я пробовал
описание
Я импортирую posh-git, но не использую его быстрый стиль. и мой терминал Windows $PROFILE, например:
-
Import-Module posh-git Import-Module oh-my-posh Set-PoshPrompt -Theme default #$env:POSH_GIT_ENABLED = $true
-
Я прочитал аналогичный вопрос [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 ответ
устарел их модуль PowerShell и просит пользователей выполнить миграцию . Итак, в качестве первого шага выполните шаги миграции, описанные в документах, и замените
Import-Module oh-my-posh
так же какSet-PoshPrompt -Theme default
с, например,oh-my-posh init pwsh --config ~/.custom.omp.json | Invoke-Expression
Раскомментировать
#$env:POSH_GIT_ENABLED = $true
так включен. Подсказка отключена по умолчанию :
PowerShell предлагает поддержку модуля автодополнения, но по умолчанию он отключен. Чтобы включить это, установите
$env:POSH_GIT_ENABLED = $true
в твоей$PROFILE
.В README написано:
posh-git не заменит функцию подсказки, если обнаружит, что у вас есть собственная настроенная функция подсказки.
Хорошо, вот что нам нужно: использовать вместо подсказки. Так как же нам превратить последнее в первое?
В твоей
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
один.