PowerShell / PowerShell/PSScriptAnalyzer
Accept `-Fix` for `-ScriptDefinition`
还没有人认领这个 Issue。
- 主要语言
- C#
- 星标
- 2.2k
- 派生
- 414
- 平均合并
- 13 小时 1 分钟
- 30 天内合并 PR
- 2
描述
Summary of the new feature
Currently the -Fix parameter is mutual exclusive with the -ScriptDefinition parameter:
Invoke-ScriptAnalyzer -ScriptDefinition 'GCI *' -Fix
Invoke-ScriptAnalyzer: Parameter set cannot be resolved using the specified named parameters. One or more parameters issued cannot; be used together or an insufficient number of parameters were provided.
Proposed technical implementation details (optional)
When both ( -Fixand -ScriptDefinition) parameters, are supplied, I would expect to get a fixed ScriptDefinition back (instead of a [Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.DiagnosticRecord]).
This way, it would be easier to (pester) test a rule with SuggestedCorrections.
(You might of cause check the SuggestedCorrections property but that will not confirm it has been correctly inserted in the script.)
Besides it will allow to fix scripts by creating a fixed copy rather than make sure that you have a backup of your files when using this parameter.
Wishful thinking:
Get-Content *.ps1 | Foreach-Object { Invoke-ScriptAnalyzer -ScriptDefinition $_ | Set-Content "Fixed\$($_.Name)" }
What is the latest version of PSScriptAnalyzer at the point of writing
1.21.0
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先检查 Invoke-ScriptAnalyzer 的入口点及其当前对 -ScriptDefinition 和 -Fix 的处理方式。验证该命令当前如何返回诊断结果,然后定义以下覆盖范围:接受这两个参数、返回修复后的脚本定义,以及确认已应用 SuggestedCorrections。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell
- 领域
- cli, tooling
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100