oh-my-posh 配置自定义主题

  1. 效果展示
    展示为:➜ username on  D:/myworkspace/auto-epub ( master) (venv)  3.10.19
  1. 直接在 tokyonight_storm.omp.json 基础上修改

    javascript 复制代码
    {
      "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
      "console_title_template": " {{ .Folder }} :: {{if .Root}}Admin{{end}}",
      "palette": {
        "main-bg": "#24283b",
        "terminal-red": "#f7768e",
        "pistachio-green": "#9ece6a",
        "terminal-green": "#73daca",
        "terminal-yellow": "#e0af68",
        "terminal-blue": "#7aa2f7",
        "celeste-blue": "#b4f9f8",
        "light-sky-blue": "#7dcfff",
        "terminal-white": "#c0caf5",
        "white-blue": "#a9b1d6",
        "blue-bell": "#9aa5ce",
        "pastal-grey": "#cfc9c2",
        "terminal-magenta": "#bb9af7",
        "blue-black": "#565f89",
        "terminal-black": "#414868",
        "t-background": "p:main-bg"
      },
      "blocks": [
        {
          "alignment": "left",
          "segments": [
            {
              "type": "text",
              "style": "plain",
              "background": "transparent",
              "foreground": "p:terminal-blue",
              "template": "\u279c "
            },
            {
              "foreground": "#85b42e",
              "style": "plain",
              "template": "\ueb99 {{ .UserName }} on",
              "type": "session"
            },
            {
              "foreground": "p:terminal-magenta",
              "options": {
              "folder_separator_icon": "/",
              "style": "full"
            },
              "style": "plain",
              "template": " \uf07b {{ .Path }} ",
              "type": "path"
            },
            {
              "type": "git",
              "style": "plain",
              "foreground": "p:light-sky-blue",
              "foreground_templates": [
                "{{ if or (.Working.Changed) (.Staging.Changed) }}p:terminal-red{{ end }}",
                "{{ if and (gt .Ahead 0) (gt .Behind 0)}}p:light-sky-blue {{ end }}",
                "{{ if gt .Ahead 0 }}p:terminal-blue{{ end }}",
                "{{ if gt .Behind 0 }}p:celeste-blue{{ end }}"
              ],
              "template": "({{ .HEAD}})",
              "options": {
                "fetch_status": true,
                "branch_icon": "\ue725 "
              }
            },
            {
              "type": "status",
              "style": "plain",
              "foreground": "p:terminal-red",
              "template": " \uf00d"
            }
          ],
          "type": "prompt"
        },
        {
          "alignment": "right",
          "overflow": "hide",
          "segments": [
            {
              "type": "node",
              "style": "plain",
              "foreground": "p:pistachio-green",
              "template": "\ue718 {{ .Full }} "
            },
            {
              "type": "php",
              "style": "plain",
              "foreground": "p:terminal-yellow",
              "template": "\ue73d {{ .Full }} "
            },
            {
              "type": "python",
              "style": "plain",
              "foreground": "p:terminal-blue",
              "background": "transparent",
              "leading_diamond": "(",
              "trailing_diamond": ")",
              "template": "({{ .Venv }}) \uE235 {{ .Full }} "
            },
            {
              "type": "julia",
              "style": "plain",
              "foreground": "p:terminal-magenta",
              "template": "\uE624 {{ .Full }}"
            },
            {
              "type": "ruby",
              "style": "plain",
              "foreground": "p:terminal-red",
              "template": "\uE791 {{ .Full}}"
            },
            {
              "type": "go",
              "style": "plain",
              "foreground": "p:light-sky-blue",
              "template": "\uFCD1 {{ .Full}}"
            }
          ],
          "type": "prompt"
        },
        {
          "alignment": "left",
          "newline": true,
          "segments": [
            {
              "foreground": "transparent",
              "style": "plain",
              "template": "\u25b6",
              "type": "text"
            }
          ],
          "type": "prompt"
        }
      ],
      "secondary_prompt": {
        "background": "transparent",
        "foreground": "p:terminal-blue",
        "template": "\u279c "
      },
      "transient_prompt": {
        "background": "transparent",
        "foreground": "p:terminal-blue",
        "template": "\u279c "
      },
      "final_space": true,
      "version": 4,
      "terminal_background": "p:t-background"
    }
    1. 修改 Microsoft.PowerShell_profile.ps1

      bash 复制代码
      # 1. 给VSCode终端补全oh-my-posh的环境变量,防止识别不到
      $env:Path += ";$HOME\AppData\Local\Programs\oh-my-posh\bin"
      
      # 2. 避免与 Python 虚拟环境默认提示符冲突的关键设置,确保 oh-my-posh 能够完全控制提示符显示。
      $env:VIRTUAL_ENV_DISABLE_PROMPT = $true
      
      # 3. 加载oh-my-posh主题
      oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/tokyonight_storm.omp.json" | Invoke-Expression
相关推荐
free_731 分钟前
超越“回答”,AI Agent迎来全链路安全治理挑战
人工智能·python·网络安全
sg_knight3 分钟前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式
飞Link11 分钟前
告别 ROS 的臃肿:用 ZeroMQ 构建极速具身智能分布式大脑(附 Python 实战)
开发语言·分布式·python
嫂子的姐夫14 分钟前
039-DES:gov招标(解密)
爬虫·python·js逆向·逆向
jgyzl16 分钟前
2026.3.20 用EasyExcel实现excel报表的导入与导出
java·python·excel
weixin_4331793324 分钟前
python - 正则表达式Regex
python·正则表达式
Riemann~~31 分钟前
ros2写一个可以修改参数的node
开发语言·python·ros2·机器人系统
郝学胜-神的一滴31 分钟前
PyTorch 张量基础:零张量/一张量/指定值张量全解析
人工智能·pytorch·python
7yewh31 分钟前
Dense / 全连接层 / Gemm — 综合全局特征理解与运用
网络·人工智能·python·深度学习·cnn
工业互联网专业36 分钟前
基于Python的黑龙江旅游景点数据分析系统的实现_flask+spider
python·flask·vue·毕业设计·源码·课程设计·spider