Oh Myposhにとって素晴らしい乗り心地でしたが、それを一段上げている時が来ました。開発者は、最近では1つのシェル/言語に固執していません。それらはすべて、特定の問題を解決するために使用するツールです。同じことがOh My Poshにも当てはまる必要があります。その哲学に適応する時が来ました。
そのため、このバージョンのOh My Poshがメンテナンスモードに入り、V3をドアから外すことに一生懸命取り組んでいます。 V3がフードの下でまったく異なることを考えると、今のところ個別にホストされています。ユーザーの観点からは、カスタムテーマがファーストクラスであり、コード市民ではないという追加の利点があるため、すぐに同じエクスペリエンスを提供する必要があります。
Install-Module oh - my - posh - Scope CurrentUser - AllowPrereleaseドキュメントも利用可能です。これは、このReadmeが過去数年間で持っているよりも良い体験を提供するはずです:-)
機能を追加したい開発者である場合は、V3を見て、すでに存在するかどうかを確認してください。そうでない場合は、V3で問題またはPRを自由に作成してください。これからはV2のバグ修正のみを受け入れます。
PS-ConfigでChris BentiがOSXとLinuxでOH-My-Zshで行った作業に触発されたPowerShellのテーマエンジン(したがって、名前)。
なぜこれを作ったのかについての詳細は、私のブログで見つけることができます。

特徴:
Conemu、Alacritty、Terminus、Hyper、Fluentterminal、または公式のWindowsターミナルなどの最新のコンソールホストを使用して、Windowsで優れた端末体験をする必要があります。
Windowsターミナルを取得するには、Microsoft Store、GitHub Repo、または以下のコマンドラインメソッドを取得するには、複数の方法があります。
Winget(Windowsの公式パッケージマネージャー):
winget install -- id = Microsoft.WindowsTerminal - eチョコレート経由:
choco install microsoft - windows - terminalScoop経由:
scoop install windows - terminal私が使用するフォントはパワーラインフォントで、それらを含む優れたリポジトリがあります。私は、カスタムカラーと一緒にコネムのセットアップでMeslo LG M Regular for Powerline Nerd Fontを使用しています。ここで私のテーマを見つけることができます。
選択したフォントをインストールした後に奇妙なグリフに気付いた場合は、グリフが利用可能であることを確認してください(フォントに別の場所がある場合、もしそうなら、正しい$ThemeSettingsアイコンを調整します)。必要な文字がサポートされていないことが判明した場合は、別のフォントを選択します。
PowerShellギャラリーを使用して、OH-MY-POSHをインストールする必要があります。
Posh-gitとOh-my-poshをインストールします:
Install-Module posh - git - Scope CurrentUser
Install-Module oh - my - posh - Scope CurrentUserプロンプトを有効にします:
# Start the default settings
Set-Prompt
# Alternatively set the desired theme:
Set-Theme Agnoster PS Coreでこれを実行している場合は、 PSReadLineのバージョン2.0.0-Beta1もインストールしてください
Install-Module - Name PSReadLine - AllowPrerelease - Scope CurrentUser - Force - SkipPublisherCheckエンジンを有効にするには、PowerShellプロファイルを編集します。
if ( ! ( Test-Path - Path $PROFILE )) { New-Item - Type File - Path $PROFILE - Force }
notepad $PROFILE次の行をPowerShellプロファイルに追加します。
Import-Module posh - git
Import-Module oh - my - posh
Set-Theme Paradox最後のコマンドは、コンソールのテーマを設定します。以下の利用可能なテーマリストを確認してください。
現在の構成をリストします:
$ThemeSettings 
$ThemeSettingsを操作することで、設定を微調整できます。この例では、Unicode文字を使用してブランチシンボルを調整できます。
$ThemeSettings .GitSymbols.BranchSymbol = [ char ]::ConvertFromUtf32( 0xE0A0 )また、Posh-Gitの設定自体を忘れないでください(たとえば、スタッシュの表示を有効にしてください):
$GitPromptSettings Agnoster、Fish、Honukai、Paradox、Sorinのテーマの仮想マシンにないときは、 username@domainを非表示にします。
$DefaultUser = ' yourUsernameHere ' Set-Theme :テーマディレクトリからテーマを設定します。一致が見つからない場合、変更されません。 AutoCompleteは、利用可能なテーマをリストし、完全に使用できます。
Set-Theme paradox Show-ThemeColors :テーマで使用される色を表示します

Show-Colors :Conemuで構成された表示色

















テーマを作成したい場合は、 $ThemeSettings.MyThemesLocation (フォルダーがデフォルトで~DocumentsWindowsPowerShellPoshThemesに示されているフォルダーにmytheme.psm1ファイルを追加することで、かなり簡単に実行できます。
必要な唯一の関数はWrite-Themeです。次のテンプレートを使用して開始できます。
# requires -Version 2 -Modules posh -git
function Write-Theme
{
param (
[ bool ]
$lastCommandFailed ,
[ string ]
$with
)
# enter your prompt building logic here
}
$sl = $ global :ThemeSettings # local settings Public Helper Functions Get-VCSStatus 、 Get-VcsInfo 、 Get-FormattedRootLocation 、 Get-ShortPath 、 Set-CursorForRightBlockWrite 、 Set-CursorUp 、 Set-Newline 、または独自のロジックを完全に追加してください。
Conemuの出力をテストするには、テーマに切り替えるだけです。
Set-Theme mythemeテーマをOh-My-Poshに含めたい場合は、PRを送ってください。できるだけ早くフィードバックをしようとします。
幸せなテーマ!
PushD/POPDを使用するときにスタック情報にアクセスできるように見えるため、テーマ内からミッションインポッシングのようなものであるため、Jonathan Leech-Pepinが提案した回避策を使用できます。 $PROFILEに、正しくスコープされたポインターとして機能する変数を追加して、スタックコンテキストを取得します。
$getStackContext = { Get-Location - Stack}次に、カスタムテーマで、表示する情報にアクセスします。
$stackCount = ( & $getStackContext ).countこれは、 ConsoleTitle機能によって引き起こされます。 Andrew Stanton-Nurseで説明されているように、ターミナルがOSCコードでどのように機能するかにリンクされています。修正は、次のスニペットを$PROFILEに追加することにより、ITERM2にいるときにConsoleTitle機能を無効にすることです。
if ( $ env: LC_TERMINAL -eq " iTerm2 " ) {
$ThemeSettings .Options.ConsoleTitle = $false
}