首页 > 解决方案 > 导入模块时的 Powershell 智能感知

问题描述

在工作中,我们正在使用 VSCode、PowerShell 扩展和 PSScriptAnalyzer 开发 PowerShell 解决方案。我们的文件被定义为.psm1包含类的文件,并用于使用相对路径using module导入其他文件。.psm1

问题是,这using module似乎不支持智能感知,即 PowerShell 解析器无法静态分析:This can also be due the type not being known at parse time due to types imported by 'using' statements. PSScriptAnalyzer(TypeNotFound)

我想知道是否有一种方法可以使用相对路径导入其他模块,同时仍然支持智能感知。

理想情况下,这会发生在.psm1文件本身中,以减少新开发人员的设置时间,但我可以接受额外的设置步骤,即将它们添加到$env:PSModulePath.

这就是文件现在的结构:

# ./BaseClass.psm1
class BaseClass {
  # ...
}

# ./SomeClass.psm1
using module .\BaseClass.psm1

class SomeClass : BaseClass {
  # ...
}

标签: powershellvisual-studio-code

解决方案


推荐阅读