2012年12月27日木曜日

◆PowerShell ISE でコメント編集(V3)

V3になってPowerShell ISEもインテリセンスが効くので本格的に使っても良いかと思うのだが、残念なことに致命的な機能不足としてコメント編集ができないのである。

ここまで高機能にしたにも拘わらず、コメント編集のようなポピュラーな機能がないというのは一体全体どういう事なのだろう。

と嘆いていても仕方がないのでなんとか自前でAdd-Onを作ってと思ったのだが、どうにもこうにも・・・・。

$psiseのSelectedTextがリードオンリーなのでちょっとうまい方法が浮かばない。

以下の様に力技でやってはみたものの、選択した行と全く同じ行が他にもあるとそちらもヒットしてしまう。

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020

#コメント化
$comment =
 {
 
$psise.CurrentFile.Editor.Text -split "`r`n" |  %
{
   
$targets =
 
   
$psise.CurrentFile.Editor.SelectedText  -split "`r`n";$result=
@()
  }{
   
if($_ -ne "" -and $targets -contains $_
){
   
$result += ("#" + $_)}else{$result += $_
}
  }{
   
$cmresult =
 
   
$result -join "`r`n";$psise.CurrentFile.Editor.Text = $cmresult
  }

 
$out = $psise.CurrentPowerShellTab.ConsolePane.
text
 
$out = $out.replace(('PS>' + $comment),""
)
 
cls
  $out
}
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.
Add(
                       
"Comment",$comment,"Alt+Z") | Out-Null

いろいろと調べたが、どうやらV3から追加になったブロック選択の機能を使うのが次善の策といった感じのようだ。

「Alt」キーを押しながらマウスで先頭カラムを範囲選択した上で”#”を打ち込めば一発で入るという寸法だ。
ちょっと見えづらいがこんな感じ
imageimage

マウスを使わない場合は「Alt」+「Shift」を押しながら矢印キーで選択していけばよい。

なれればほぼ我慢できるかなぁ。

0 件のコメント:

コメントを投稿