microsoft / microsoft/vscode-dotnettools

[SUGGESTION] respect default shell profile when searching for .NET Core SDK

Open
#741 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-sdk 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

I'm trying to develop on a remote HPC system where I do not have admin rights using VSCode. As I don't have admin rights I cannot make the .NET SDK available globally and I am struggling to get the C# Dev Kit extension to find dotnet in my environment.

The .NET Core SDK cannot be located: Error running dotnet --info: Error: Command failed: dotnet --info /bin/sh: dotnet: command not found /bin/sh: dotnet: command not found . .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.

My default shell on the remote system when accessed from VSCode is bash and dotnet is on the PATH in this shell

[burta2@ec-hub1-sc1 warp]$ which dotnet
~/.dotnet/dotnet

Would it be better if you used the same shell as a user lands in when locating the SDK?

Alternatives considered

Creating configurations for sh at ~/.profile or ~/.shrc which add dotnet to the PATH did not solve the problem.

Environment Information
  • OS: MacOS local, RHEL 8.6 remote
  • VSCode Version: 1.85.0-insider (Universal)
    Commit: 345c8d0927402d41f42402411d856eeec4013e5e
  • Extension version v1.0.4 (I think)

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

Start by tracing the SDK lookup that runs dotnet --info and compare its /bin/sh environment with the user's default bash shell. Review the mentioned ~/.profile and ~/.shrc behavior, then define completion as successfully locating ~/.dotnet/dotnet on the remote system through the user's default shell environment.

Written by the indexing model from the issue text.

Assessment

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