Kev*_*chs 5 powershell visual-studio-code powershell-core
MS 文档在这里:抑制规则,但在使用 VS Code 时它实际上并不像文档那样工作。我的脚本顶部有以下内容:
# Supress some analyzer (linter) diagnostics:
[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingCmdletAliases','')]
Run Code Online (Sandbox Code Playgroud)
但是,分析器本身正在抱怨该声明“意外属性”。看起来像这样:
而且,谁愿意看到这一切红色!
有趣的是,当我添加第二个类似的语句时,如下所示:
# Supress some analyzer (linter) diagnostics:
[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSProvideCommentHelp','')]
[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingCmdletAliases','')]
Run Code Online (Sandbox Code Playgroud)
第一个语句不再被标记为错误,只有第二个语句被标记为错误。
但是,最重要的是,我试图压制这些消息是行不通的。
我在这里阅读了 .NET 文档
我什至尝试添加
Add-Type -Path 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Build.Workflow.dll'
Run Code Online (Sandbox Code Playgroud)
正如对这个问题的回答所建议的那样,但这没有什么区别。
我使用的是 PS Core 7.3.7,使用的是带有 .NET 7.0.5 的 Windows 10 Pro。和 VS 代码 1.82.1
我相信你的问题是你试图在它应该使用的上下文之外使用装饰,你需要使用它来装饰一个param
块。请参阅抑制规则。
一个简单的例子,在抑制之前:
之后:
而且,如果我删除该param
块,我会得到完全相同的解析错误:
对于您的特定用例,为了抑制PSAvoidUsingCmdletAliases
规则并遵循上述内容,您可以param()
在脚本文件的顶部使用虚拟值,它应该可以正常工作:
归档时间: |
|
查看次数: |
161 次 |
最近记录: |