microsoft / microsoft/vscode-dotnettools

[SUGGESTION] Loading specific sln files from command line or environment variables

Open
#600 0 comments 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

Our team (CloudBuild) has a very large C# codebase that Visual Studio struggles to load. We use Microsoft.Build.Traversal instead of a single solution, and generate our solutions with slngen.

Therefore, there's no .sln file until slngen has been called. Instead, we have a bunch of .csproj. To make things worse, we develop build engines and therefore have a bunch of .sln files that are actually adhoc data for tests sprawled all over our repository.

In this use-case, the C# Dev Kit doesn't really work well because it will typically open any random test .sln file which will often fail to restore (because it's a test!).

Ideally, one would be able to specify the .sln file to open via command line or environment variables.

Alternatives considered

The only workaround I know is to manually open the sln file in the Solution Explorer. However, because we have a very large repository one typically switches sln files relatively often, so this quickly turns bothersome.

Environment Information
  • OS: Windows
  • VS Code: 1.83
  • Extension Version: 0.5.150

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 files or tests; start by tracing how the extension discovers and opens solution files. Check the existing command-line and environment-variable handling, then define completion as allowing an explicit .sln path to be selected instead of opening an arbitrary repository solution.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.