当前位置: 首页 > news >正文

在 Windows PowerShell(pwsh)中配置 Oh My Posh + Conda 环境美化与性能优化

在 Windows PowerShell(pwsh)中配置 Oh My Posh + Conda 环境美化与性能优化

🧩 背景

我目前的开发环境是 Windows 11 + PowerShell 7.5.3(pwsh),主要做后端与前端开发(Go + Node.js + Electron)。

平常我在 Windows 上使用 PowerShell,而在 WSL2 中使用 Zsh。虽然 WSL2 环境功能强大,但启动和输入响应较慢,于是我更倾向在 PowerShell 下直接开发前端、后端,并用它启动 Conda、Node、Go 等项目。

为了让命令行更好看、功能更强(能显示 Git 分支、Node 版本、Conda 环境等),我使用了:

  • 🧠 Oh My Posh:跨平台终端美化框架;
  • 💄 主题:M365Princess
  • 💡 Conda:管理 Python 环境;
  • ⚙️ pwsh 启动脚本(Profile):自定义启动行为与快捷命令。

💥 问题出现

在配置好 oh-my-posh 后,我希望能:

  1. 在提示符中显示当前的 conda 环境名称
  2. 最好还能显示 Python 版本
  3. 同时保持与主题的 彩色块拼接(Powerline)风格一致
  4. 启动速度不要太慢。

但遇到的问题是:

  • 默认的 python 段落模板完全没显示;
  • 网上大多数配置用 template,但在我的 oh-my-posh 27.1.0 版本里根本无效;
  • 只有我自己写的这一段才能正确显示:
{"type": "python","style": "plain","foreground": "#98C379","properties": {"display_virtual_env": true,"dispplay_default": true,"display_version": false,"home_enabled": true,"prefix": "\uE235 ","postfix": " ","display_mode": "always"}
}

虽然能显示,但样式单调,不是我想要的 Powerline 拼接风格。


🔧 目标

✅ 我想要的效果是这样的:

  • 提示符有彩色块;
  • 显示当前 Conda 环境名(如 base 3.10.16);
  • 与 Git、Node.js、时间等段落衔接自然。

🧰 解决方案

经过测试,我确认在 M365Princess 主题中,只要保持与原配置兼容的字段(properties),就能让 Powerline 样式也正确渲染。

最终我采用了以下配置:

彩色块拼接的 Conda 段

{"type": "python","style": "powerline","powerline_symbol": "\ue0b0","background": "p:teal","foreground": "p:white","properties": {"display_virtual_env": true,"display_version": true,"display_mode": "always","prefix": "\uE235 ","postfix": " "}
}

🔹 如果你只想显示环境名(去掉版本号),如下。

{"type": "python","style": "powerline","powerline_symbol": "\ue0b0","background": "p:teal","foreground": "p:white","properties": {"display_virtual_env": true,"display_virtual_env_name_only": true,   // 只显示 env 名"display_version": false,                 // 不显示版本"fetch_version": false,                   // 不去取版本(关键)"display_mode": "always","prefix": "\uE235 ","postfix": " "}
}

🧱 插入位置

在你的 M365Princess.omp.json 主题文件中,将这段插入在:

"git" 段后
"node" 段前

完整的区块示例:

{"background": "p:salmon","foreground": "p:white","type": "git",...
},
{"type": "python","style": "powerline","powerline_symbol": "\ue0b0","background": "p:teal","foreground": "p:white","properties": {"display_virtual_env": true,"display_version": true,"display_mode": "always","prefix": "\uE235 ","postfix": " "}
},
{"background": "p:sky","foreground": "p:white","type": "node",...
}

⚡ 效果展示

美化后,提示符如下:

ab-in  electron-go-app  ➜ (master)   base 3.10.16   22.20.0  ♥ 19:31 

或(仅环境名):

ab-in  electron-go-app  ➜ (master)   base   22.20.0  ♥ 19:31 

非常整洁,加载速度也很快。


🧩 其它优化

  1. Conda 初始化

    conda init powershell
    

    然后在 $PROFILE 中自动加载。

  2. Oh My Posh 初始化

    oh-my-posh init pwsh --config ~/Posh/M365Princess.omp.json | Invoke-Expression
    
  3. 性能优化

    • 不加载太多插件;
    • 避免在 $PROFILE 里执行复杂脚本;
    • 使用 JSON 格式主题(比 YAML 加载更快)。

✅ 总结

模块工具 / 设置
终端PowerShell 7.5.3(pwsh)
美化Oh My Posh 27.1.0
主题M365Princess
Python 管理Conda
关键功能Conda 环境名显示 + Powerline 拼接
关键段落"type": "python" Powerline 样式
优点快速、美观、跨平台、一致性高

✨ 最终展示

完成后你的 PowerShell 主题可以同时展示:

  • 用户名与路径
  • Git 分支
  • Conda 环境
  • Node 版本
  • 时间
    整体如:


http://www.dtcms.com/a/474435.html

相关文章:

  • 小榄做网站新专业建设的重点任务
  • 把AI“浓缩”到1KB:超紧凑型决策树在MCU上的极限优化实战
  • Spring Boot 原理篇
  • 站酷网免费素材图库官网竣工验收全国公示平台
  • eclipse 导入javaweb项目,以及配置教程(傻瓜式教学)
  • 【Chrome插件】‘顾得助手’ 新功能介绍
  • 【控制系统建模与分析#1】电系统建模
  • 【Linux系统】9. 基础开发工具(三)
  • 付费网站做推广哪个好wordpress 顶部导航
  • 什么是AIGC?AIAIGCAGI什么区别?
  • NLP入门
  • 最低成本做企业网站 白之家杭州动漫设计公司最新招聘
  • 外汇跟单网站建设西安软件培训
  • 逻辑填空1【词的辨析】
  • 江油网站建设传媒公司业务范围介绍
  • 企业做网络推广有什么好处网站seo如何做
  • 成都网站开发建wordpress论坛用户
  • uzi粉丝做的网站wordpress 制作首页模板
  • 顺企网是什么网站flashfxp怎么上传网站
  • 【ChatGPT5】:“关于在当前 conda 环境里装 CUDA 12.8”
  • 网站建设水平如何评价建设商务网站
  • QT-常用控件(三)-显示类
  • 【多线程】阻塞等待(Blocking Wait)(以C++为例)
  • c语言动态内存管理
  • 传媒大气的网站网页设计与制作广东开放大学
  • AI 改变数据库产品实践探索
  • 做企业的网站都要准备什么怎么导出wordpress 整个网站
  • 做博客网站赚钱wordpress论坛社区主题
  • 零代码AI开发:Coze平台
  • Docker版本