dotnet / dotnet/roslyn

Unions: improve IDE handling

Open
#82,607 0 comments 0 reactions 0 assignees View on GitHub
Area-IDE Feature - Unions
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

Tracks some follow-ups on https://github.com/dotnet/roslyn/pull/82604
Most of the suggestions were implemented in https://github.com/dotnet/roslyn/pull/82526 already (we can re-use those commits)

`// PROTOTYPE consider using a separate classification type for unions so users can color them differently`
`// PROTOTYPE consider having a separate NavigateToItemKind category for unions`
`PROTOTYPE Consider displaying unions as `union MyUnion` instead of `struct MyUnion` and with a separate classification type`
`PROTOTYPE Consider listing case types in QuickInfo tooltip for unions`

Note: this may require new compiler APIs, such as `IsUnion` to `INamedTypeSymbol`

Relates to test plan https://github.com/dotnet/roslyn/issues/81074

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked pull requests 82604 and 82526, then read the related test plan in issue 81074. Identify which prototype ideas remain for classification, NavigateTo, display text, and QuickInfo, and determine whether compiler API changes such as IsUnion are needed. Done means the selected IDE behaviors are implemented and covered by the relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
compilers, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.