针对旧版本 PowerShell 的 PowerShell IntelliSense

标签 powershell intellisense

较新版本的 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?

最佳答案

我已经确认 Jason 的理论,即 Intellisense 确实可以针对已安装的 Powershell 版本在 PSRemoting 中工作,但它看起来有点不同。我使用 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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756953/

相关文章:

visual-studio - 将 <returns> xml 标签显示到 Visual Studio 智能感知中

GO,VS代码: no completion for external packages (intellisense)

c# - PowerShell 添加类型 : Cannot add type. 已存在

sorting - 文件名唯一部分的Powershell列表

c++ - 在为 Android 开发时如何在 Eclipse 中获得 C++ 的智能感知?

Angularjs - Resharper intellisense 打破了 TypeScript?

c# - 忽略另一个项目中的错误以在解决方案中运行当前项目

internet-explorer - powershell 可以等到 IE 准备好 DOM 吗?

powershell - 列出 cosmos 数据库的连接字符串不会返回结果,但列出键可以工作

node.js - 如何将 Powershell 命令添加到 NPM 脚本?