这是一个使用的简单函数ValidateSet
:
function TestLongValidateSet
{
param
(
[ValidateSet(...)]
$abc
)
$abc
}
我的版本有 3001 个项目,而不是...
.
如果你想在家里跟着,这里有一种方法可以生成一个适合放置在那里的 3001 元素列表:
(0..3000 | foreach { (Get-Random -Count 30 (65..90 | ForEach-Object { [char]$_ })) -join '' } | ForEach-Object { "`"$_`"" }) -join ', ' | Out-File test.txt
无论如何,上面的函数加载到 PowerShell 中就好了。但是,第一次尝试使用 IntelliSense 会触发数分钟的延迟。PowerShell ISE 还会继续消耗几 GB 的 RAM。在此延迟之后,RAM 使用量恢复正常,IntelliSense 工作,一切都响应。甚至$abc
变量的完成也是响应式的。
有没有办法避免长时间的初始延迟?