如何刷新Powershell_ise在IDE外部修改的內容。Powershell_ise不刷新在
多數時候我會開了倆Powershell_ise和記事本+
如果我確實在Powershell_ise變化,記事本++的時候請求重新加載,但如果我在記事本修改++是沒有辦法在Powershell_ise刷新。
是否有任何方式刷新內容或我俯瞰任何功能提供此?
如何刷新Powershell_ise在IDE外部修改的內容。Powershell_ise不刷新在
多數時候我會開了倆Powershell_ise和記事本+
如果我確實在Powershell_ise變化,記事本++的時候請求重新加載,但如果我在記事本修改++是沒有辦法在Powershell_ise刷新。
是否有任何方式刷新內容或我俯瞰任何功能提供此?
PowerShell ISE不支持自動刷新更改的文件。即使在ISE v3中也不存在。
然而,這可以使用PowerShell ISE對象模型和PowerShell三項賽來完成。探索$ psise.CurrentFile和$ psise.CurrentPowerShellTab.Files集合。這必須爲您提供足夠的信息來編寫您自己的簡單插件。
已投票... +1。我從來不喜歡ISE。這只是缺乏太多的方式。他們應該讓一些視覺工作室團隊開展工作。在那之前PowerGUI FTW :-) – 2012-01-10 11:44:34
你在v3中使用過ISE嗎?你可以做很多! – ravikanth 2012-01-10 12:30:58
簡而言之,只是給了它另一種看法,你是對的,它變得更好。 Intellisense提供商woot:'hklm:\'...然後放下...很好。 – 2012-01-10 13:10:25
這篇文章是舊的,但我想我會發布這個谷歌帶我在這裏有同樣的問題。
我最終只是寫了這個小功能,沒有做完全OP想要的東西,但也許其他Google員工會發現它有用:
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')
它並不完美,但它足以讓我好現在。所有的工作就是創建一個關鍵綁定,關閉,重新打開,然後執行當前文件。它有點刺耳,因爲當你運行它時,當文件關閉並重新打開時,你將失去當前的光標位置。我相信你可以存儲光標的列和行位置,並在重新加載時恢復它,但我暫時懶得打擾。
編輯:我不小心張貼了一箇舊的非工作版本的我的代碼。更新與工作版本。
這裏是red888的劇本不同的旋轉:
function Reload {
$CurrentFile = $psise.CurrentFile
$FilePath = $CurrentFile.FullPath
$lineNum = $psise.CurrentFile.Editor.CaretLine
$colNum = $psise.CurrentFile.Editor.CaretColumn
$PsISE.CurrentPowerShellTab.Files.remove($CurrentFile) > $null
$newFile = $PsISE.CurrentPowerShellTab.Files.add($FilePath)
$newfile.Editor.SetCaretPosition($lineNum,$colNum)
}
$psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Clear()
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Reload File",{Reload},'f4') > $null
它恢復重裝後插入符的位置。我刪除了行
iex $PsISE.CurrentPowerShellTab.Files.Editor.Text
因爲我並不需要它,它也不會一樣運行腳本(因此導致像$script:MyInvocation.MyCommand.Path
報表奇怪的行爲)。順便說一句,如果你將這些代碼放入你的ISE配置文件中,它會在第一次加載ISE時自動運行。 ISE配置文件只是一個powershell腳本,其位置由$profile
變量給出。
下面是一些創建配置文件的命令,如果它不存在,然後將其打開。從ISE內部運行它:
if (!(Test-Path (Split-Path $profile))) { mkdir (Split-Path $profile) } ;
if (!(Test-Path $profile)) { New-Item $profile -ItemType file } ;
notepad $profile
您正在使用什麼版本的powershellgui?我現在這樣做,並且是版本2.4.0.1659 – JNK 2012-01-09 14:25:32
@JPBlanc Fwiw,我發現PowerGUI是有點兒車。 [相對路徑完成關閉](http://en.community.dell。com/techcenter/powergui/f/4833/t/19603445),並且通過複雜的調試,我經常進入狀態,在重啓PowerGUI之前,某些變量中的內容不會改變,這是一種難以檢測的狀態。有時候它也可能會讓一些內存很餓。如果我們能夠通過PowerGUI的精確度(甚至只是編輯檢測)來保持ISE的穩定性,我會更加快樂。這*是ISE 3缺失的「殺手功能」。 – ruffin 2015-01-06 15:29:04
由於PowerShell 3我使用ISE,所以對我來說沒問題。 – JPBlanc 2015-01-06 19:44:22