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
相关推荐
Hello eveybody7 分钟前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
2301_7950997420 分钟前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
呆萌的代Ma25 分钟前
python读取并加载.env的配置文件
python
Muyuan199826 分钟前
27.RAG 系统中的上下文充分性判断:从 Chunk 数量、FAISS 距离到 LLM Relevance Gate
python·django·pdf·fastapi·faiss
U盘失踪了1 小时前
python curl转python脚本
开发语言·chrome·python
FQNmxDG4S1 小时前
Java泛型编程:类型擦除与泛型方法的应用场景
java·开发语言·python
bzmK1DTbd1 小时前
JDBC编程规范:PreparedStatement与事务管理
数据库·python·eclipse
我星期八休息1 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
代码小书生1 小时前
math,一个基础的 Python 库!
人工智能·python·算法
leo825...2 小时前
Claude Code Skills 清单(本地)
java·python·ai编程