Install lsp plugin - #9782
Open
dibarbet wants to merge 7 commits into
Open
Install lsp plugin#9782dibarbet wants to merge 7 commits into
dibarbet wants to merge 7 commits into
Conversation
dibarbet
force-pushed
the
dibarbet-copilot-lsp-setup
branch
from
September 18, 2026 01:18
fa37bbb to
df12ab7
Compare
dibarbet
force-pushed
the
dibarbet-copilot-lsp-setup
branch
from
September 18, 2026 02:01
df12ab7 to
06d21a6
Compare
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
New user-facing strings/settings were added without propagating them to the checked-in locale bundles (package.nls.* and l10n/bundle.l10n.*), which will leave translations incomplete.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 3
Open (3)
What changed in this PR
Adds an automatic installer for the GitHub Copilot “dotnet” plugin (from dotnet-agent-skills) to the C# extension, including Copilot CLI discovery/execution support, telemetry, user messaging, tests, and documentation so the feature is observable and user-controllable.
Changes:
- Introduces Copilot CLI discovery + execution helpers and a
.NET pluginauto-install flow with caching/telemetry. - Wires the installer into extension activation and adds unit tests covering install, caching, failure, timeout, and cancellation paths.
- Documents the feature and adds a user setting to disable auto-install.
| File | Description |
|---|---|
| test/lsptoolshost/unitTests/dotnetPlugin.test.ts | Unit tests for plugin auto-install behavior, caching, and failure/timeout/cancel flows. |
| test/lsptoolshost/unitTests/copilotCli.test.ts | Unit tests for Copilot CLI discovery, execution, and plugin list parsing. |
| src/shared/telemetryEventNames.ts | Adds telemetry event names for plugin install success/failure reporting. |
| src/shared/copilot/dotnetPlugin.ts | Implements the auto-install + caching + telemetry + user notification logic. |
| src/shared/copilot/copilotCli.ts | Implements CLI discovery (standalone/app) + execFile wrapper + inventory parsing. |
| src/main.ts | Starts plugin registration/installation during activation (non-test extension mode). |
| README.md | Adds a link to the new Copilot .NET plugin documentation. |
| package.nls.json | Adds localized string key for the new auto-install setting description. |
| package.json | Adds the dotnet.copilotDotnetPlugin.enableAutoInstall setting contribution. |
| l10n/bundle.l10n.json | Adds localized UI strings used by the install notification. |
| docs/readme.md | Adds doc index entry for Copilot .NET plugin install/removal. |
| docs/Copilot-Dotnet-Plugin.md | Adds end-user documentation for install rationale, disabling, uninstall, and troubleshooting. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+15
to
+17
| To uninstall make sure all Copilot / VSCode instances are closed, then: | ||
| 1. For the Copilot CLI, run `copilot plugin uninstall dotnet@dotnet-agent-skills` | ||
| 2. For the GitHub Copilot App, go to `Customize`, select the `Plugins` tab and right click to uninstall the `dotnet` plugin from `dotnet-agent-skills` |
Comment on lines
71
to
+73
| "Unable to generate assets to build and debug. {0}.": "Unable to generate assets to build and debug. {0}.", | ||
| "Learn More": "Learn More", | ||
| "Installed the C# LSP .NET plugin for GitHub Copilot": "Installed the C# LSP .NET plugin for GitHub Copilot", |
Comment on lines
31
to
34
| "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting.", | ||
| "configuration.dotnet.defaultSolution.description": "The path of the default solution to be opened in the workspace when multiple solutions are available.", | ||
| "configuration.dotnet.copilotDotnetPlugin.enableAutoInstall": "Automatically install the official .NET plugin for GitHub Copilot when a compatible Copilot installation is available. (Requires extension restart)", | ||
| "configuration.dotnet.server.path": "Specifies the absolute path to the server (LSP or O#) executable. When left empty the version pinned to the C# Extension is used. (Requires extension restart)", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

No description provided.