【问题标题】:Visual Studio Code import library references for Powershell extensionPowershell 扩展的 Visual Studio Code 导入库引用
【发布时间】:2018-04-18 04:08:06
【问题描述】:

我在同一个文件夹中有 Powershell 文件,其中包含许多辅助函数。不幸的是,Visual Studio Code 编辑器在使用智能感知时无法识别这些函数。如何导入参考库并让 VSCode 搜索这些文件?

【问题讨论】:

  • 到目前为止我发现的唯一方法是使用 Powershell 集成控制台点源库。在集成控制台类型中:. .\YourFileName.ps1 这将在您的会话中加载文件,因此允许代码完成工作。但我觉得这应该自动完成,或者在 cmets 后面有一个 VSCode Powershell 扩展特定命令,比如在打字稿文件中:/// <reference path="YourFileName.ts" />## <reference path="YourFileName.ps1" />

标签: powershell visual-studio-code intellisense


【解决方案1】:

如果您希望代码可用于智能感知,您必须将其加载到两个位置之一,即 PowerShell 集成终端或您的编辑器。不过,在您的情况下,如果您需要一直加载它,我只需在 VS Code PS 配置文件中点源这些文件即可。您可以通过转到 PS 集成终端并使用 New-Item $PROFILE -ItemType File -Force 来创建它,它将创建一个 Microsoft.VSCode_profile.ps1。您在该文件中添加的任何内容都将加载到编辑器和 PS 集成终端上传启动中。

有关整个引擎以及智能感知在 VS Code 中如何工作的更多详细信息...

之所以如此,是因为 PowerShell 扩展中的主引擎是 PowerShellEditorService。这是在 PS 集成终端后面创建主机的引擎,以及您在编辑器本身中拥有的 PS 功能(例如智能感知、脚本分析器等)。

您可以通过将Import-Module somemodule 添加到 VS Code 中尚未加载到 PS 终端的新文件来查看此示例。这可能需要几秒钟,但在引擎加载模块后,您将拥有该模块的智能感知。就像你的代码一样。

在该编辑器中添加命令之前,我验证了该模块未加载。添加导入命令然后使用该模块中的命令后,模块将在后台加载。然后您可以看到模块已加载:

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多