【问题标题】:PowerShell: Visual Studio Code - changes in modules are not reflectedPowerShell:Visual Studio Code - 不反映模块中的更改
【发布时间】:2020-11-13 13:20:53
【问题描述】:

我正在使用带有 PowerShell 插件的 Visual Studio Code 来编辑和调试 PowerShell 脚本。由于我的脚本太大而无法处理,我将一些部分提取到几个 psm1 模块中。所有文件都位于 VSC 工作区的同一目录 - 根目录中。

如果我第一次使用 Ctrl+F5 运行脚本,所有文件都会被编译并执行脚本。但是,如果我随后对导入的模块文件 (*.psm1) 进行任何修改,这些更改将不会反映,而是使用旧版本的模块。

唯一有用的是关闭和重新打开 VSC。如何配置 VSC 以便在运行/调试之前重建/重新编译工作区中更改的(或所有)模块?

【问题讨论】:

  • Remove-Module $moduleName -Force; Import-Module $moduleName
  • 我没有得到解决方案。我添加了 $moduleName = "./mymodule.psm1" Remove-Module $moduleName -Force; Import-Module $moduleName 在我的脚本开头。结果是“Remove-Module:没有模块被删除。验证要删除的模块的规范是否正确,并且这些模块存在于运行空间中。”
  • 如果您想实际重新加载模块,请在集成 shell 中运行(而不是 [Mark All]+[F5])
  • shell 出现同样的错误
  • 如果模块不可发现,您将需要两个不同的参数:Remove-Module mymodule -Force; Import-Module ./mymodule.psm1

标签: powershell visual-studio-code


【解决方案1】:

根据 Mathias 的评论,我发现将 -force 选项添加到 Import-Module 会有所帮助。

看起来像是 PowerShell 而不是 VS Code 的问题。

https://github.com/PowerShell/PowerShell/issues/2505

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多