やりたいこと
PowerShellのデフォルトのプロンプトは、カレントフォルダのパスが長くなると視認性が著しく低下するため、下記のように変更する。
- コマンド行を2行に分割する(1行目にカレントフォルダを表示、2行目をコマンド行にする)
- コマンドの実行後に改行を挟む
デフォルトのプロンプト
PS C:\Users\*****> "hoge"
hoge
PS C:\Users\*****> "fuga"
fuga
PS C:\Users\*****>
変更後のプロンプト
PS C:\Users\*****
> "hoge"
hoge
PS C:\Users\*****
> "fuga"
fuga
PS C:\Users\*****
>
プロンプトをカスタマイズする
prompt関数を上書きすることでプロンプトの表示をカスタマイズできる。
prompt関数を確認する
関数の情報はGet-Item
コマンドレットで取得でき、
Definition
プロパティで関数の内容を確認できる。
> (Get-Item function:prompt).Definition
"PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
# .Link
# https://go.microsoft.com/fwlink/?LinkID=225750
# .ExternalHelp System.Management.Automation.dll-help.xml
プロファイルを編集する
プロファイルに同名の関数を定義することで、デフォルトの関数を上書きすることができる。
プロファイルのパスは$profile
で確認できる。
> $profile
C:\Users\*****\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Microsoft.PowerShell_profile.ps1
function prompt { "`r`nPS " + $(Get-Location) + "`r`n> " }
プロファイルを適用する
PowerShellを再起動するとプロファイルが適用される。
prompt関数が上書きされていることを確認
> (Get-Item function:prompt).Definition
"`r`nPS $(Get-Location)`r`n> "