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