PowerShell 3.0ではPowerShell ISEも機能追加されています。 今回はISE 3.0のツールバーにはない隠し機能を1つ紹介します。
なお、ISE2.0以前ではできません。
目的
PowerShell ISEでコードを書いていて、現在のラインにあるコードを直下の行と入れ替えたい時に利用します。 通常であれば、コード行を選択してカット、入れ替えたい上/下の行でペーストです。
コマンド
至って簡単です。 このコマンドを入れ替えたい行にカーソルがあるときに押します。
Alt+Shit+T
すると、直下行という制限付きですがコマンド1つで入れ替えが出来ます。
サンプル
以下のコードを用意しました。
Get-Item #1 Get-Process #2 Get-Alias #3 Get-AppxLog #4
Get-Alias #3の位置で、Alt+Shit+Tを押すとGet-AppxLog #4と位置が入れ替わります。
Get-Item #1 Get-Process #2 Get-AppxLog #4 Get-Alias #3
たとえば以下のサンプルコードでも、インテンドも考慮して入れ替えしてくれるので楽です。
FullPathの位置でAlt+Shit+Tを実行します。
Get-ChildItem ` | ForEach-Object { $directory = $_.Directory $fileName = $_.Name "FullPath `t: " + $directory + $fileName "File Name `t: " + $fileName } ` | sort
インテンドを含めて行が入れ替わっています。
Get-ChildItem ` | ForEach-Object { $directory = $_.Directory $fileName = $_.Name "File Name `t: " + $fileName "FullPath `t: " + $directory + $fileName } ` | sort
残念ながら直上のラインと入れ替えするコマンドがない。