PowerShell / PowerShell/PSScriptAnalyzer

UseCompatibleCommands should recognise partial parameter matches

Offen
#1,201 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Area - Rules Issue - Enhancement
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Summary of the new feature

PowerShell allows for the usage of partial parameter names, like Import-Module 'MyModule' -Pass.

UseCompatibleCommands currently sees this is a compatibility error.

While PSScriptAnalyzer should discourage truncated parameter names (like command aliases), UseCompatibleCommands should be able to recognise the difference between a truncated parameter that will work and something that will not.

Proposed technical implementation details (optional)

The query API currently uses a dictionary to look up parameters. Instead of this, it should lazily compute a trie of parameters that is able to tell whether a parameter is uniquely resolved given an input.

What is the latest version of PSScriptAnalyzer at the point of writing

1.18.0

/cc @JamesWTruher

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, UseCompatibleCommands und seine Query-API nachzuverfolgen, um die aktuelle wörterbuchbasierte Parametersuche zu finden. Prüfe, wie partielle PowerShell-Parameternamen klassifiziert werden, und verifiziere anschließend das Verhalten bei eindeutig aufgelösten sowie mehrdeutigen oder ungültigen Verkürzungen. Als erledigt gilt die Aufgabe, wenn gültige partielle Übereinstimmungen akzeptiert werden, ohne die bestehenden Kompatibilitätsprüfungen des Analyzers abzuschwächen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.