Терминал Windows - запуск PowerShell с другим профилем

Как настроить терминал Windows для запуска Powershell с отдельным профилем, отличным от моего стандартного $Profile

Было бы полезно иметь модули импорта, такие как posh-git и psreadline, только в экземпляре Powershell, который я запускаю из wt.exe, а не из pwsh.exe.


person Ayan Pal    schedule 01.07.2020    source источник
comment
У вас уже есть установка Powershell для запуска профилей, отличных от файлов профилей, которые используются по умолчанию в $Profile? См. здесь если нет.   -  person apena    schedule 01.07.2020


Ответы (1)


Вы можете создать собственный файл профиля Powershell (.ps1) при вызове pwsh.exe или powershell.exe из wt.exe. Например, профиль posh-git в Windows Terminal settings.json будет выглядеть примерно так:

{
    "guid": "{01463d52-dda9-4109-b03f-c55899b52df2}",
    "name": "Powershell - Posh Git",
    "commandline": "powershell.exe -noprofile -noexit -command \"invoke-expression '. ''C:/PsProfilePoshGit.ps1''' \"",
    "icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
    "hidden": false
},

Вы можете сгенерировать уникальный guid для каждого нового профиля, который вы добавляете, выполнив команду [guid]::NewGuid() в Powershell.

Наконец, ваш специальный файл профиля Powershell: C:/PsProfilePoshGit.ps1 будет выглядеть примерно так (как минимум):

Import-Module posh-git
function global:prompt
{
    Write-Host -Object "Posh-Git" -NoNewline -ForegroundColor Magenta
 
    return "> "
}
person apena    schedule 01.07.2020
comment
в новом интерфейсе настроек WT.exe я поместил это в command line: %ProgramFiles%\PowerShell\7\pwsh.exe -noexit -noprofile -f %USERPROFILE%\GIT_profile.ps1 - person Hicsy; 14.06.2021