较新版本的PowerShell ISE(以及第三方PowerShell脚本环境,如PowerGUI)提供了非常好的IntelliSense支持。
但是,我经常编写我想要在仅安装旧版本PowerShell的服务器上运行的脚本(特别是Windows Server 2008 R2上的PowerShell 2.0)。我无法在服务器上升级PowerShell安装,而PowerShell 2.0 ISE也没有智能感知。
有没有办法配置PowerShell 3.0或4.0 ISE或PowerGUI(或任何其他免费的PowerShell脚本编辑器!)来提供仅限PowerShell 2.0兼容代码的IntelliSense?
答案 0 :(得分:1)
我已经确认了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()魔术方法。这似乎证实它正在对付已安装的版本。