Skip to content

Add a popup/hint asking for expected behavior when first double-clicking on SDK-style project #9754

@PTwr

Description

@PTwr

Summary

New csproj formats can be edited without having to unload the project, thus a controversial design decision has been made to replace expected behavior of expand/collapse with edit by default. This, however breaks expected UX behavior of standard tree view, and years of muscle-memory go to waste.

After wadding through years of shitposting on this design choice while trying to find how in tarnation option to disable that behavior is called I came to quite obvious in hindsight realization that simple popup/hintbox exposing or informing of that option would be nice to have and easily avoid any further arguments on wisdom of enabling that by default.

The hidden option is:
Image

Related to: #4493

User Impact

Enabled-by-default edit instead of expand is annoying if you rarely feel the need to manually edit csproj.
It also allows "lesser beings" to see and potentially badly edit what previously was safely hidden, which is a headache when working in large team of varying knowledge.

If you happen to work with solution that uses both legacy and new csproj, it quickly becomes infuriating.

Last VS version with expected behavior

Not applicable.

Issue is limited to new SDK-style csproj files, which are default for .NET Core but legacy .NET Framework projects and .NET Standard projects can be migrated to it as well.

Expand/Edit behavior mismatch was always a thing since introduction of new csproj format(s). I just did not pay much attention to it as I usually work with legacy .NET 4.x projects.

Recently however I started migrating one enormous Solution to SDK csprojs because latest VS update broke Analyzers for legacy csprojs, and when working in mixed Solution that behavor mismatch became irritating enough for me to try to find out how to disable it. Internet is however full of shitposting, to say lightly, on this topic which makes finding out how to disable that mismatch rather tedious process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions