【问题标题】:PowerShell IntelliSense targeting older versions of PowerShell针对旧版本 PowerShell 的 PowerShell IntelliSense
【发布时间】:2015-03-25 00:34:11
【问题描述】:

较新版本的 PowerShell ISE(以及第三方 PowerShell 脚本环境,如 PowerGUI)提供了很好的 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?

【问题讨论】:

  • 如果您的远程计算机安装了 2.0 但未安装 3.0,那么我认为(但尚未测试)如果您打开该 2.0 计算机的远程选项卡,您的 Intellisense 将针对 2.0 -但只是在远程选项卡中。

标签: powershell intellisense


【解决方案1】:

我已经证实了 Jason 的理论,即 Intellisense 确实可以针对已安装的 Powershell 版本在 PSRemoting 中工作,但它看起来有点不同。我使用 Powershell preview build 5.0.10018.0 remoting 到带有 PS v2.0 的 Server 2008R2 进行了测试。我跑了:

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

这导致了一个带有以下选项的 Intellisense 工具提示:

$Procs.count
$Procs.Clear(

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

我还测试了 Intellisense 中没有出现的 .Where() 和 .Foreach() 魔术方法。这似乎证实了它与已安装的版本不符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2021-02-18
    • 2019-02-26
    相关资源
    最近更新 更多