针对旧版PowerShell的PowerShell IntelliSense

较新版本的PowerShell ISE(以及PowerGUI等第三方PowerShell脚本环境)提供了非常好的IntelliSense支持.

但是,我经常编写脚本,我想在只安装了旧版本PowerShell的服务器上运行(特别是Windows Server 2008 R2上的PowerShell 2.0).我无法升级服务器上的PowerShell安装,而PowerShell 2.0 ISE没有IntelliSense.

有没有办法配置PowerShell 3.0或4.0 ISE,或PowerGUI(或任何其他免费的PowerShell脚本编辑器!),以提供仅限于PowerShell 2.0兼容代码的IntelliSense?

最佳答案
我已经确认了Jason的理论,即Intellisense在PSRemoting中对着已安装的Powershell版本起作用,但它看起来有点不同.我使用Powershell预览版本5.0.10018.0远程测试使用PS v2.0远程连接到Server 2008R2.我跑了:

$Procs = Get-Process
$Procs <Ctrl + Space>

这导致了Intellisense工具提示,其中包含以下选项:

$Procs.count
$Procs.Clear(

其中v3.0及更高版本只包含属性或方法名称,而不包含变量本身.

我还测试了在Intellisense中没有显示的.Where()和.Foreach()魔术方法.这似乎证实它正在对付已安装的版本.

转载注明原文:针对旧版PowerShell的PowerShell IntelliSense - 代码日志