microsoft / microsoft/vscode-dotnettools

[SUGGESTION] Class View

Open
#206 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-solution enhancement
Dominant language
No language data
Stars
321
Forks
54
Avg merge
2d 19h
Merged PRs (30d)
2

Description

Describe the feature you'd like

Around two years ago, I had requested a Class View / Object Browser or a similar kind of namespace based code navigation tool in the vscode-csharp project: https://github.com/dotnet/vscode-csharp/issues/4759.

Now that the C# development experience in VSCode is being revamped, can we please consider the above suggestion in the feature backlog? The rationale being, in C#, code structure does not map 1:1 onto the file structure, hence to understand code organization, it is necessary to see the actual projects > namespaces > classes > members hierarchy.

Other attributes of the class view:

  1. View inherited members of a class
  2. View inheritance hierarchy (base classes and implemented interfaces)

Link to the Visual Studio panel:
https://learn.microsoft.com/en-us/visualstudio/ide/viewing-the-structure-of-code?view=vs-2022#class-view-visual-basic-c-c

Key text:

Class View is shown as part of Solution Explorer and as a separate window. Class View displays the elements of an application. The upper pane displays namespaces, types, interfaces, enumerations, and classes, and the lower pane displays the members that belong to the type selected in the upper pane. By using this window, you can move to member definitions in the source code (or in the Object Browser if the element is defined outside your solution).

Image:

image

Alternatives considered
Solution Explorer

This presents a semi-structured, file-oriented view.

File Explorer

This presents the raw directory structure of the project.

Environment Information
  • OS: Windows
  • VSCode: 1.79.2, 695af097c7bd098fbf017ce3ac85e09bbc5dda06, x64
  • Extension: v0.1.103, Preview

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name implementation files or tests. Start by reviewing the C# Dev Kit and related extension code-navigation areas, then compare the prior vscode-csharp issue and the linked Visual Studio Class View description. Done would require an agreed scope and a working namespace, type, member, and inheritance view.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, vscode
Domain
developer-experience, 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.