もしじるし

エンジニアとしての学び。人生の気付き。憧れの人へ出会うまでの道のり。

Powershellのプロンプト(ディレクトリ名を表示している左端の部分)を変更する

Powershellのプロンプトを変更する

エンジニアでターミナルを使用しない人はいないと思います。Windows10にはコマンドプロンプトのほか、Powershellというターミナルが標準でついています。 開発の際に常に目にするものであり、目にするからこそ少し遊び心が欲しいなと思い調べてみたところ、どうもディレクトリを表示している左端の部分(プロンプト)を変更できるようです。

そこで、さっそく変更してみました。

変更の方法

実行ポリシーを変更する

スクリプトファイルというものを作成してプロンプトを変更するのですが、初期状態だとスクリプトファイルを読み込むことができません。
そのため、先にスクリプトファイルを実行可能なように設定します。

Powershellを管理者権限で開く

Powershellを管理者権限で開いてください。

Set-ExecutionPolicyの実行

Set-ExecutionPolicy RemoteSigned

上記コマンドで実行ポリシーをRemoteSignedに変更します。

f:id:moshi1121:20190203222736p:plain
Yを入力してEnterで進んでください。

実行ポリシーを詳しく知りたい方は以下の記事が参考になります。

www.atmarkit.co.jp

ディレクトリとファイルの作成

C:\Users\ユーザーネーム\Documents\WindowsPowerShellという名称でディレクトリを作成する。
Microsoft.PowerShell_profile.ps1という名称のファイルを作成する。

Microsoft.PowerShell_profile.ps1を編集

私は以下のように編集しています。

function prompt () {
    Write-Host "["(Split-Path (Get-Location) -Leaf)"]" -NoNewLine -ForegroundColor "Green"
    Write-Host "(*'-')>" -NoNewLine -ForegroundColor "Magenta"
    return " "
}
Write-Host "実行ポリシーは" (Get-ExecutionPolicy) "だよ!" -ForegroundColor "Yellow"

コマンドを読み解く

Write-Host

こちらでコンソール上に文字を表示。

Split-Path (パス) -Leaf

パスから特定の要素を抽出する。-Leafは末端の要素。

Get-Location

カレントディレクトリのパスを取得。いわゆるpwd

-NoNewLine

改行しない

-ForegroundColor

文字色の変更

Get-ExecutionPolicy

実行ポリシーの表示。確認できるように記述。

注意点

  • 最後にreturn " "をいれないと標準のプロンプトが入りますので注意が必要です。
  • プロンプトの部分に全角文字を使用するとスペースを使用した際に位置がずれることがあります。

参考

www.atmarkit.co.jp

docs.microsoft.com

Write-HostとWrite-Outputの違い - しばたテックブログ