dotnet / dotnet/vscode-csharp

Implementation CodeLens (`ImpLens`)

Open
#6,877 6 comments 1 reaction 0 assignees View on GitHub
Feature Request Triaged
Dominant language
TypeScript
Stars
3.1k
Forks
737
Avg merge
18h 40m
Merged PRs (30d)
31

Description

# The Issue

When implementing an `interface` / `abstract class`, it can be very obscure which members are actually implementing it.

# Describe the solution you would like

Add a CodeLens above the member implementing the `interface`.

Here is an example of a CodeLens (the CodeLens is the small text saying `references`):

![CodeLens References Example](https://github.com/dotnet/vscode-csharp/assets/115815794/846a0beb-a1ba-488a-b5c1-681a2c74eb3a)

The CodeLens ideally should have a special symbol next to it.

---

Example of desired CodeLens:

    Implements IEnumerable<int>
```cs
public bool MoveNext() => position < _people.Length;
```

# Applicable Scenarios

Ideally, there should be a setting for this (disabled by default).

This will apply to any member that is an implementation of an `interface` / `abstract class`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.