Каждый раз, когда вы используете рефлексию для взлома непубличных членов класса, вы рискуете сломаться в будущем выпуске.Вот что здесь произошло.
Тем не менее, попробуйте это:
$psise.CurrentPowerShellTab.Files | % {
$_.gettype().getfield("doc","nonpublic,instance").getvalue($_).Encoding = [text.encoding]::ascii
}
Или, процитировать весь сценарий:
# watch for changes to the Files collection of the current Tab
register-objectevent $psise.CurrentPowerShellTab.Files collectionchanged -action {
# iterate ISEFile objects
$event.sender | % {
# set encoding on private ITextDocument field to ASCII
$_.gettype().getfield("doc","nonpublic,instance").getvalue($_).Encoding = [text.encoding]::ascii
}
}