[Proof of Concept] Enable Code GitHub CoPilot to Install, Uninstall the .NET SDK / Runtimes #2375
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related: microsoft/vscode-dotnettools#2090 (comment)
microsoft/vscode#255860
Warning - This is only a proof of concept
This code is very draft (lots done with CoPilot), so it needs further review, such as checking the policy for whether we can install an MCP server or not and whether that's been disabled, validating that the install works and doesn't break other versions of code, and does not consider whether we should ship an MCP server within an extension. In addition, I haven't checked that the js file for the MCP server bundles properly, and currently its just a hardcoded source file. Finally, this assumes node is available on the dev machine, which is not always the case. We would want to ship a platform agnostic binary which would likely need to be signed and sign validated. Also, the PATH update doesn't seem to always trigger in this scenario. All of that would add a lot of overhead, this is more of a Proof of Concept.
What it does
nodeObservations
It seems to be able to install the SDK, which is awesome.
It also seems to be able to parse our informational and error diagnostics and provide further information, such as when I ask to re-install a version that's already on the box.