vscode-nushell-lang icon indicating copy to clipboard operation
vscode-nushell-lang copied to clipboard

dotnet/c# build task uses nushell when set as default

Open atakiya opened this issue 11 months ago • 3 comments

Hello, I'm not sure which extension is at fault exactly here, however, so far I can only reproduce this with the vscode-nushell-lang extension and it's included Nushell profile, no other.

Environment setup:

// settings.json
{
  "terminal.integrated.defaultProfile.windows": "Nushell",
  "terminal.integrated.automationProfile.windows": {
    "path": "C:/WINDOWS/System32/cmd.exe"
  },
}

Ways to reproduce / Problem description

Attempting to F5 / Run/Debug any C# project, such as the .NET9 "Hello World" consoleApp template will attempt to build it before launching the debugger.

With the default shell set to the included Nushell profile, the build task invoked will launch the last used terminal shell in interactive mode, which breaks the build process.

Any other profile will not change the build shell in that situation, which makes me believe that this might be an issue on this extension.

Creating a custom Nushell profile also does fix the issue, which I currently use as a workaround, such as below.

// settings.json
{
  "terminal.integrated.profiles.windows": {
    "Nushell-custom": {
      "path": "nu",
      "icon": "terminal"
    }
  },
}

atakiya avatar Jan 25 '25 02:01 atakiya

I'm not following what the problem is. Maybe you're saying that nushell shouldn't be used as a build task even when it's set as the default?

fdncred avatar Jan 25 '25 14:01 fdncred

I'm not following what the problem is. Maybe you're saying that nushell shouldn't be used as a build task even when it's set as the default?

Yes, vscode should not use the default shell for automation tasks, which is the entire point of the automationProfile setting.
This extension breaks that with the bundled shell profile.

Edit: This isn't even about it using it as default, it just completely breaks the task shell, any execution calls aren't even forwarded, the shell just sits idly there. No matter what other profile one sets, even a custom nushell profile as in my original post, works, it's only the profile bundled with the extension that does this.

atakiya avatar Jan 26 '25 00:01 atakiya

ok. I'd accept a PR for this.

fdncred avatar Jan 26 '25 00:01 fdncred