dotnet / dotnet/roslyn

Roslyn symbol highlighting conflicts with Copilot completions

Open
#83,039 2 comments 0 reactions 1 assignee Claimed by @JoeRobich View on GitHub
Area-IDE
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

18.6.0 Insiders [11627.55.main]

**Steps to Reproduce**:

1. Starrt up VS, open a toy C# project.
2. Make a change that generates a remote edit from NES
3. Try to find the NES suggestion

Consider this scenario:

Image
I typed a 3 on line 1. NES proposes adding a three to Point on line 5 but ...

- NES uses a green highlight -- the diff added word background -- to try and make the insertion stand out.
- Roslyn uses a slightly different green to highlight the symbol Point.
Net effect is that it is hard to see the NES suggestion.

This is not an issue in light theme (the Roslyn highlight symbol has a very different hue, so the insertion stands out).

There are two other problems with the Roslyn symbol highlight:
1. If the user has a non-empty selection, the highlight is based on the start of the selection. Compare this:
Image
with this:
Image

2. The Roslyn highlight conflicts with the editor's selection highlight
Image
the selection on line 10 -- the -- is hard to see because the Roslyn green highlight is so strong. The problem is worse when the entire word is selected: the fact that there is non-empty selection is not obvious (and it should be).

Note also the strange highlighting for other on line 11 -- other get the symbol highlight and the get both the symbol and the matching word highlight.

Suggestions:
Change Roslyn's symbol highlight color for the dark theme to not be green.
Change the logic of the symbol highlighter to only function if the selection is empty.

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.