PowerShell / PowerShell/PSScriptAnalyzer
Implementing interface in PowerShell class does not warn about non-implemented interface members
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.2k
- Forks
- 414
- Avg merge
- 13h 1m
- Merged PRs (30d)
- 2
Description
System Details
System Details Output
### VSCode version: 1.47.3 91899dcef7b8110878ea59626991a18c8a6a1b3e x64
### VSCode extensions:
DavidAnson.vscode-markdownlint@0.36.2
eamodio.gitlens@10.2.2
Fudge.auto-using@0.7.15
jchannon.csharpextensions@1.3.1
k--kato.docomment@0.1.17
mhutchie.git-graph@1.25.0
ms-azuretools.vscode-docker@1.4.1
ms-dotnettools.csharp@1.22.1
ms-vscode-remote.remote-wsl@0.44.4
ms-vscode.cpptools@0.29.0
ms-vscode.powershell@2020.6.0
ms-vscode.powershell-preview@2020.7.0
redhat.vscode-xml@0.13.0
streetsidesoftware.code-spell-checker@1.9.0
zhuangtongfa.material-theme@3.8.5
### PSES version: 2.3.0.0
### PowerShell version:
Name Value
---- -----
PSVersion 7.1.0-preview.5
PSEdition Core
GitCommitId 7.1.0-preview.5
OS Microsoft Windows 10.0.19041
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Issue Description
PowerShell class implementing an interface does not create an error if required interface members are not present. There is also not a code action to implement interface.
using namespace System.Management.Automation
class test : IArgumentCompleter
{
}
Expected Behaviour
VS code warns about non-implemented interface members like C#. Code action to implement interface.
Actual Behaviour
VS code does not warn about non-implemented interface members or show code action to resolve.

Attached Logs
Follow the instructions in the troubleshooting docs
about capturing and sending logs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the PowerShell class example implementing IArgumentCompleter and review how PSScriptAnalyzer reports missing interface members. Use the troubleshooting documentation if diagnostic logs are needed. Done means the editor warns about unimplemented interface members and offers a code action to implement them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, powershell
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100