如何从powershell提示中删除“username@host”?

Sar*_* MB 5 posh-git powershell-4.0 windows-terminal

我正在使用带有外壳的 Windows 终端(预览版),就像1.PowerShell, 2.WSL在我的 Windows 10 机器中一样。我安装了最新版本oh-my-poshposh-git自定义终端。我当前的主题是Agnoster提供丰富多彩的自定义提示。但我想从我的提示中去掉“username@host”。

例如:

当前=> username@host D:\folder-name>

需要=> D:\文件夹名称>

我尝试了一些带有$GitPromptSettings变量的东西,也在 GitPrompt.ps1posh-git 文件夹内的文件中尝试了一些东西,但没有用。

另外,由于我有 oh-my-posh 和 posh-git,两者都具有快速自定义属性还是仅来自 posh-git?

任何帮助表示赞赏。

小智 7

删除类型为 session 的段 ~\Documents\WindowsPowerShell\Modules\oh-my-posh\3.101.23\themes\<themename>.omp.json


小智 6

您必须在导入模块之前设置 $DefaultUser。

例子:

$global:DefaultUser = [System.Environment]::UserName
Import-Module posh-git 
Import-Module oh-my-posh
Set-Theme Paradox
Run Code Online (Sandbox Code Playgroud)


Wil*_*lem 6

Oh My Posh 3中,隐藏该部分的方法username@host发生了变化,因为整个主题配置发生了变化。

电力线的部分username@host来自该"session"网段。配置选项session可以在这里找到: https: //ohmyposh.dev/docs/session

有趣的选项是:

  • display_user: boolean- 是否显示用户名 - 默认为true
  • display_host: boolean- 是否显示主机名 - 默认为true
  • default_user_name: string- 默认用户的名称 - 默认为空
  • display_default: boolean- 当用户匹配时是否显示段default_user_name- 默认为true

以及环境变量的注释:

POSH_SESSION_DEFAULT_USER- 用于覆盖硬编码default_user_name属性

解决方案

基于此,我做了以下修改:

  1. 对于主题,我将display_default: false属性添加到"session"段中:
    {
      "type": "session",
      // ....
      "properties": {
        "display_default": false
      }
    }```
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在我的 powershell 配置文件中,我将新的环境变量设置为我自己的用户名: $env:POSH_SESSION_DEFAULT_USER = [System.Environment]::UserName

user@host只要我使用默认用户名,这就会使提示部分消失。