Ten post jest stary, ale doszedłem do wniosku, że mogę go opublikować, ponieważ google przywiózł mnie tutaj z tym samym problemem.
I w końcu po prostu napisał ten mały funkcję, która nie robi dokładnie to, co PO chciała, ale być może inne Googlersi znajdzie to przydatne:
function Build {
#Reload file
$CurrentFile = $psise.CurrentFile
$FilePath = $CurrentFile.FullPath
$PsISE.CurrentPowerShellTab.Files.remove($CurrentFile)
$PsISE.CurrentPowerShellTab.Files.add($FilePath)
iex $PsISE.CurrentPowerShellTab.Files.Editor.Text
}
$psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Clear()
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Reload file and run",{Build},'f4')
Nie jest idealny, ale jest wystarczająco dobre dla mnie teraz . Wszystko co robisz to tworzenie wiązania klucza, które zamyka, ponownie otwiera, a następnie wykonuje bieżący plik. Jest to trochę drażliwe, ponieważ po uruchomieniu go stracisz aktualną pozycję kursora, gdy plik zostanie zamknięty i ponownie otwarty. Jestem pewien, że możesz przechowywać pozycję kolumny i linii kursora i przywracać ją podczas ponownego ładowania, ale jestem zbyt leniwy, aby na razie zawracać sobie tym głowę.
Edytuj: Przypadkowo opublikowałem starszą, niedziałającą wersję mojego kodu. Zaktualizowano wersję roboczą.
Jaką wersję Powerhellgui używasz? Mój robi to teraz i jest wersja 2.4.0.1659 – JNK
@JPBlanc Fwiw, Znalazłem PowerGUI jako nieco błędne. [Względna ścieżka zakończenia jest wyłączona] (http://en.community.dell.com/techcenter/powergui/f/4833/t/19603445), a przy skomplikowanym debugowaniu często dostaję się do stanów, w których to, co jest w niektórych zmiennych, nie zmieni się, dopóki nie zrestartuję PowerGUI, stanu, który jest trudny do wykrycia. Może też czasami trochę odczuwać pamięć RAM. Gdybyśmy mogli mieć stabilność ISE z niuansami PowerGUI (lub nawet po prostu edytować detekcję), byłbym o wiele szczęśliwszy. Ta * jest * "cechą zabójcy", której brakuje w ISE 3. – ruffin
Ponieważ PowerShell 3 używam ISE, to jest dla mnie w porządku. – JPBlanc