-
Notifications
You must be signed in to change notification settings - Fork 645
Add lsp config for dotnet. #234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
SDK Consistency ReviewI've reviewed this PR for cross-SDK consistency. Summary✅ No consistency issues found - This PR adds development tooling (LSP configuration) for the .NET SDK and does not modify any SDK client APIs or functionality. AnalysisThe changes add:
This is infrastructure/tooling for development environment support (IDE integration, code intelligence), not SDK client functionality. ObservationThe
If the intent is to centralize LSP configuration for all SDKs in ConclusionThis PR maintains consistency - it's adding optional development tooling that doesn't impact SDK feature parity or public APIs.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds Language Server Protocol (LSP) configuration for the dotnet/C# SDK components of the repository. It configures the csharp-ls language server to provide IDE features like intellisense, go-to-definition, and other language services for C# files.
Changes:
- Added dotnet tools manifest (
dotnet/dotnet-tools.json) to declare csharp-ls as a project tool - Added LSP configuration (
.github/lsp.json) to configure how csharp-ls should be invoked for C# files
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
dotnet/dotnet-tools.json |
Declares csharp-ls version 0.21.0 as a dotnet local tool for the project |
.github/lsp.json |
Configures LSP server to use csharp-ls for .cs files with the GitHub.Copilot.SDK.sln solution |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/lsp.json
Outdated
| "args": ["tool", "run", "csharp-ls", "--solution", "GitHub.Copilot.SDK.sln"], | ||
| "fileExtensions": { | ||
| ".cs": "csharp" | ||
| }, | ||
| "projectRootFiles": ["GitHub.Copilot.SDK.sln"] |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The solution file path is incorrect. The LSP configuration references "GitHub.Copilot.SDK.sln" but the actual file is located at "dotnet/GitHub.Copilot.SDK.sln". Since the LSP command will likely be executed from the repository root, the path should be "dotnet/GitHub.Copilot.SDK.sln". This affects both the "--solution" argument and the "projectRootFiles" array.
| "args": ["tool", "run", "csharp-ls", "--solution", "GitHub.Copilot.SDK.sln"], | |
| "fileExtensions": { | |
| ".cs": "csharp" | |
| }, | |
| "projectRootFiles": ["GitHub.Copilot.SDK.sln"] | |
| "args": ["tool", "run", "csharp-ls", "--solution", "dotnet/GitHub.Copilot.SDK.sln"], | |
| "fileExtensions": { | |
| ".cs": "csharp" | |
| }, | |
| "projectRootFiles": ["dotnet/GitHub.Copilot.SDK.sln"] |
| "csharp-ls": { | ||
| "version": "0.21.0", | ||
| "commands": [ | ||
| "csharp-ls" | ||
| ], | ||
| "rollForward": false | ||
| } |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dotnet-tools.json manifest is missing the required "packageId" field for the csharp-ls tool. The packageId field specifies the NuGet package identifier and is required for dotnet to restore and run the tool correctly. Without this field, the tool installation will fail.
|
Regarding the review comments: Solution file path: The config uses packageId: For local tool manifests (dotnet-tools.json), the tool name key ( rollForward: Fixed - removed the explicit |
Add lsp server config for dotnet.