%20%E3%81%A7%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E5%AE%9F%E8%A1%8C%E3%81%A8%E7%B7%A8%E9%9B%86.png)
私はPowershell_ISEを搭載したWindows Server(2012)を使用していますが、追加のソフトウェアをインストールする前に、Powershell_ISEでスクリプトを編集してテストしたいと考えていました(これはより良いネイティブたとえばタブ編集のため、メモ帳 + cmd.exe を使用するよりも解決策があります)
アイデア: メニューエントリ(メニューの「アドオン」の下)へのキーボードショートカット。パーラ現在のスクリプトパスをパラメータとして呼び出されます。
次の行を試しました:
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+q')
(saps=start-process の場合) または
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath },'Ctrl+Alt+e')
(& = 外部コマンドを実行)または
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl",{$cur=$psISE.CurrentFile; saps "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+w')
(プロセスを開始して待機)
コマンド ウィンドウが短時間点滅しますが、コンソール ペインには出力がありません。(Perl スクリプトは単に「test」と出力し、& "c:\strawberry\perl\bin\perl.exe" $cur.FullPath
コンソール ペインで直接実行した場合は動作します)
これが機能する場合は、Powersehll_ISEの$profileにこの行を追加して、適切なバイナリを呼び出すことですべての言語のスクリプトを編集/実行できます。
答え1
1 分後、次の行を試しました ( を と&
組み合わせて使用すると-wait
、動作します)。
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl-Menu_Entry",{$cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+y')
(「F」キーも使用できます - たとえば、「ctrl+alt+y」の代わりに「F4」を使用します)
実行前にファイルを保存するには、$psise.CurrentFile.Save()
次の行を追加します。
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Perl-Menu_Entry",{$psise.CurrentFile.Save(); $cur=$psISE.CurrentFile; & "c:\strawberry\perl\bin\perl.exe" $cur.FullPath -wait },'Ctrl+Alt+y')