Skip to content

Add README to roslyn-language-server NuGet package#82201

Merged
dibarbet merged 10 commits into
mainfrom
copilot/add-readme-for-roslyn-tool
Feb 3, 2026
Merged

Add README to roslyn-language-server NuGet package#82201
dibarbet merged 10 commits into
mainfrom
copilot/add-readme-for-roslyn-tool

Conversation

Copilot AI commented Jan 29, 2026

Copy link
Copy Markdown
Contributor

Add README to roslyn-language-server .NET tool package

  • Create README.md file in the Microsoft.CodeAnalysis.LanguageServer directory
  • Update Microsoft.CodeAnalysis.LanguageServer.csproj to bundle README with package
  • Use correct PackagePath configuration per NuGet documentation
  • Fix runtime requirement to .NET 10.0
  • Address PR feedback:
    • Remove "global" from tool description
    • Remove Visual Basic references (tool is C#-only)
    • Add --prerelease flag to installation command
    • Remove duplicate Editor Integration section
    • Remove CLaSP reference from More Information
  • Clarify command-line options with required/optional status and default values
  • Fix formatting inconsistency in telemetry level option
  • Add note that command-line options may change in future versions
  • Run code review - no issues found
  • Run security checks - passed
Original prompt

This section details on the original issue you should resolve

<issue_title>roslyn-language-server package needs a readme</issue_title>
<issue_description>The roslyn-language-server .NET tool (Microsoft.CodeAnalysis.LanguageServer.csproj) needs a readme describing the tool. It should be bundled with the package</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits January 29, 2026 01:04
Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Copilot AI changed the title [WIP] Add README for roslyn-language-server package Add README to roslyn-language-server NuGet package Jan 29, 2026
Copilot AI requested a review from dibarbet January 29, 2026 01:10

## Overview

The `roslyn-language-server` is a .NET global tool that provides rich language features for C# and Visual Basic through the Language Server Protocol. It powers editor integrations including the [C# extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) and C# Dev Kit.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot no need to mention 'global' specifically, it's a regular .net tool

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Removed "global" from the description. (348e2fc)

Install the language server as a .NET global tool:

```bash
dotnet tool install --global roslyn-language-server

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot currently it's in prerelease only, so we need to add the --prerelease flag

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added --prerelease flag to installation command. (348e2fc)


- .NET 10.0 or later runtime

## Editor Integration

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot remove this section, it's already mentioned above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the duplicate Editor Integration section. (348e2fc)


- [Roslyn GitHub Repository](https://github.com/dotnet/roslyn)
- [Language Server Protocol Specification](https://microsoft.github.io/language-server-protocol/)
- [Common Language Server Protocol Framework (CLaSP)](https://github.com/dotnet/roslyn/tree/main/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot no need to mention this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed CLaSP reference from More Information section. (348e2fc)


## Overview

The `roslyn-language-server` is a .NET global tool that provides rich language features for C# and Visual Basic through the Language Server Protocol. It powers editor integrations including the [C# extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) and C# Dev Kit.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot remove references to visual basic, it does not provide vb support.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed all Visual Basic references. The README now only mentions C# support. (348e2fc)

… up sections

Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Copilot AI requested a review from dibarbet January 29, 2026 01:20
@dibarbet dibarbet marked this pull request as ready for review January 29, 2026 01:27
@dibarbet dibarbet requested a review from a team as a code owner January 29, 2026 01:27
Comment thread src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/README.md Outdated

The language server is designed to be launched by editor clients and typically should not be run directly by end users. It communicates via standard input/output or named pipes.

### Command-line Options

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be good to show which options are required and what the defaults are for optional options

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot please check

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the command-line options section to clarify that all options are optional and show default values for options that have them. Also added a note that one of --stdio or --pipe should typically be specified. (d88db68)

…E.md

Co-authored-by: Joey Robichaud <jorobich@microsoft.com>
Copilot AI and others added 2 commits January 29, 2026 01:33
Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
All options are optional. One of `--stdio` or `--pipe` should typically be specified for communication.

- `--stdio` - Use standard I/O for communication with the client (default: false)
- `--pipe <name>` - Use a named pipe for communication

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this how the pipe works? I thought we do the dance where the server allocates the pipe?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we support both


The language server is designed to be launched by editor clients and typically should not be run directly by end users. It communicates via standard input/output or named pipes.

### Command-line Options

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we should have some sort of "command line switches are subject to change", since we haven't necessarily given any sort of compat thought to some of these.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you add that the command line options could potentially change in the future?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a note that command-line options are subject to change in future versions. (1834492)

Co-authored-by: dibarbet <5749229+dibarbet@users.noreply.github.com>
Comment thread src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/README.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

roslyn-language-server package needs a readme

5 participants