# C# Language Server Protocol
This is an implementation of the [Language Server Protocol](https://github.com/Microsoft/language-server-protocol) written entirely in C# for .NET.
# Getting Started
1. git clone
2. run `build.ps1` / `build.sh`
3. ...
4. Profit
# Concepts
## JSON-RPC
We have an implementation of JSON-RPC designed to implement the [JSON-RPC](https://www.jsonrpc.org/specification) as correctly as possible.
For more information about using the `JsonRpcServer` on it's own [here](./docs/jsonrpc.md).
## MediatR
Internally this library revolves around the request and response model. To make things easier we use [MediatR](https://github.com/jbogard/MediatR) as core piece that manages how requests and responses are handled.
## Microsoft.Extensions.*
We re-use some of the common packages used by .NET Core.
* `Microsoft.Extensions.Configuration` for common configuration
* `Microsoft.Extensions.DependencyInjection` for common Dependency Injection abstractions
* `Microsoft.Extensions.Logging` for logging.
## Language Server Protocol
We strive to ensure that we implement all the types, request and notifications that are defined by the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/). Sometimes this is difficult due to the nature of LSP TypeScript upbringing, but the goal is 100% conformance with the protocol itself.
For more information about using the `LanguageClient` / `LanguageServer` on it's own [here](./docs/lsp.md).
## Debug Adapter Protocol
We strive to ensure that we implement all the types, events and requests that are defined by the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/).
For more information about using the `DebugAdapterClient` / `DebugAdapterServer` on it's own [here](./docs/dap.md).
# Status
<!-- badges -->
[![github-release-badge]][github-release]
[![github-license-badge]][github-license]
[![codecov-badge]][codecov]
<!-- badges -->
<!-- history badges -->
| Azure Pipelines | GitHub Actions |
| --------------- | -------------- |
| [![azurepipelines-badge]][azurepipelines] | [![github-badge]][github] |
| [![azurepipelines-history-badge]][azurepipelines-history] | [![github-history-badge]][github] |
<!-- history badges -->
<!-- nuget packages -->
| Package | NuGet |
| ------- | ----- |
| OmniSharp.Extensions.DebugAdapter | [![nuget-version-hefb6om79mfg-badge]![nuget-downloads-hefb6om79mfg-badge]][nuget-hefb6om79mfg] |
| OmniSharp.Extensions.DebugAdapter.Client | [![nuget-version-94qjnkon/cda-badge]![nuget-downloads-94qjnkon/cda-badge]][nuget-94qjnkon/cda] |
| OmniSharp.Extensions.DebugAdapter.Proposals | [![nuget-version-ajdnjvhbx+0w-badge]![nuget-downloads-ajdnjvhbx+0w-badge]][nuget-ajdnjvhbx+0w] |
| OmniSharp.Extensions.DebugAdapter.Server | [![nuget-version-f/4jrt4grmdg-badge]![nuget-downloads-f/4jrt4grmdg-badge]][nuget-f/4jrt4grmdg] |
| OmniSharp.Extensions.DebugAdapter.Shared | [![nuget-version-2fkn0yzdbhmg-badge]![nuget-downloads-2fkn0yzdbhmg-badge]][nuget-2fkn0yzdbhmg] |
| OmniSharp.Extensions.DebugAdapter.Testing | [![nuget-version-jppuysmkpfcw-badge]![nuget-downloads-jppuysmkpfcw-badge]][nuget-jppuysmkpfcw] |
| OmniSharp.Extensions.JsonRpc | [![nuget-version-a1bmkwyotvkg-badge]![nuget-downloads-a1bmkwyotvkg-badge]][nuget-a1bmkwyotvkg] |
| OmniSharp.Extensions.JsonRpc.Generators | [![nuget-version-m6majhsjiw1q-badge]![nuget-downloads-m6majhsjiw1q-badge]][nuget-m6majhsjiw1q] |
| OmniSharp.Extensions.JsonRpc.Testing | [![nuget-version-punkj7/efvjq-badge]![nuget-downloads-punkj7/efvjq-badge]][nuget-punkj7/efvjq] |
| OmniSharp.Extensions.LanguageClient | [![nuget-version-fclou9t/p2ba-badge]![nuget-downloads-fclou9t/p2ba-badge]][nuget-fclou9t/p2ba] |
| OmniSharp.Extensions.LanguageProtocol | [![nuget-version-vddj9t6jnirq-badge]![nuget-downloads-vddj9t6jnirq-badge]][nuget-vddj9t6jnirq] |
| OmniSharp.Extensions.LanguageProtocol.Proposals | [![nuget-version-z5fadevkwpng-badge]![nuget-downloads-z5fadevkwpng-badge]][nuget-z5fadevkwpng] |
| OmniSharp.Extensions.LanguageProtocol.Testing | [![nuget-version-md8c3c/bo/8g-badge]![nuget-downloads-md8c3c/bo/8g-badge]][nuget-md8c3c/bo/8g] |
| OmniSharp.Extensions.LanguageServer | [![nuget-version-fkxlzvrmzpbw-badge]![nuget-downloads-fkxlzvrmzpbw-badge]][nuget-fkxlzvrmzpbw] |
| OmniSharp.Extensions.LanguageServer.Shared | [![nuget-version-4htmykprzq1a-badge]![nuget-downloads-4htmykprzq1a-badge]][nuget-4htmykprzq1a] |
<!-- nuget packages -->
## License
Copyright © .NET Foundation, and contributors.
OmniSharp is provided as-is under the MIT license. For more information see [LICENSE](https://github.com/OmniSharp/omnisharp-roslyn/blob/master/license.md).
## Code of Conduct
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/)
to clarify expected behavior in our community.
For more information see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
## Contribution License Agreement
By signing the [CLA](https://cla.dotnetfoundation.org/OmniSharp/omnisharp-roslyn), the community is free to use your contribution to .NET Foundation projects.
## .NET Foundation
This project is supported by the [.NET Foundation](http://www.dotnetfoundation.org).
<!-- generated references -->
[github-release]: https://github.com/OmniSharp/csharp-language-server-protocol/releases/latest
[github-release-badge]: https://img.shields.io/github/release/OmniSharp/csharp-language-server-protocol.svg?logo=github&style=flat "Latest Release"
[github-license]: https://github.com/OmniSharp/csharp-language-server-protocol/blob/master/LICENSE
[github-license-badge]: https://img.shields.io/github/license/OmniSharp/csharp-language-server-protocol.svg?style=flat "License"
[codecov]: https://codecov.io/gh/OmniSharp/csharp-language-server-protocol
[codecov-badge]: https://img.shields.io/codecov/c/github/OmniSharp/csharp-language-server-protocol.svg?color=E03997&label=codecov&logo=codecov&logoColor=E03997&style=flat "Code Coverage"
[azurepipelines]: https://dev.azure.com/omnisharp/Builds/_build/latest?definitionId=1&branchName=master
[azurepipelines-badge]: https://img.shields.io/azure-devops/build/omnisharp/Builds/1.svg?color=98C6FF&label=azure%20pipelines&logo=azuredevops&logoColor=98C6FF&style=flat "Azure Pipelines Status"
[azurepipelines-history]: https://dev.azure.com/omnisharp/Builds/_build?definitionId=1&branchName=master
[azurepipelines-history-badge]: https://buildstats.info/azurepipelines/chart/omnisharp/Builds/1?includeBuildsFromPullRequest=false "Azure Pipelines History"
[github]: https://github.com/OmniSharp/csharp-language-server-protocol/actions?query=workflow%3Aci
[github-badge]: https://img.shields.io/github/workflow/status/OmniSharp/csharp-language-server-protocol/ci.svg?label=github&logo=github&color=b845fc&logoColor=b845fc&style=flat "GitHub Actions Status"
[github-history-badge]: https://buildstats.info/github/chart/OmniSharp/csharp-language-server-protocol?includeBuildsFromPullRequest=false "GitHub Actions History"
[nuget-hefb6om79mfg]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter/
[nuget-version-hefb6om79mfg-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.svg?color=004880&logo=nuget&style=flat-square "NuGet Version"
[nuget-downloads-hefb6om79mfg-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.svg?color=004880&logo=nuget&style=flat-square "NuGet Downloads"
[nuget-94qjnkon/cda]: https://www.nuget.org/packages/OmniSharp.Extensions.DebugAdapter.Client/
[nuget-version-94qjnkon/cda-badge]: https://img.shields.io/nuget/v/OmniSharp.Extensions.DebugAdapter.Client.svg?color=004880&logo=nuget&style=flat-square "NuGet Version"
[nuget-downloads-94qjnkon/cda-badge]: https://img.shields.io/nuget/dt/OmniSharp.Extensions.DebugAdapter.Client.svg?color=004880&logo=nuget&style=flat-square "NuGet Downloads"
[nuget-ajdnjvhbx+0w]: https://www.nuget.org/packages/OmniSharp.Extensions.De
没有合适的资源?快使用搜索试试~ 我知道了~
Language Server Protocol in C#.zip
共1407个文件
cs:1159个
json:155个
csproj:25个
需积分: 5 0 下载量 34 浏览量
2024-01-05
14:39:58
上传
评论
收藏 1.22MB ZIP 举报
温馨提示
Language Server Protocol in C#
资源推荐
资源详情
资源评论
收起资源包目录
Language Server Protocol in C#.zip (1407个子文件)
build.cmd 207B
csharp.code-snippets 1KB
NuGet.config 192B
HandlerGeneratorStrategy.cs 87KB
Helpers.cs 62KB
NotebookDocumentSyncFeature.cs 56KB
CallHierarchyFeature.cs 54KB
TypeHierarchyFeature.cs 52KB
StronglyTypedGenerator.cs 51KB
ExecuteCommandFeature.cs 51KB
TextDocumentSyncFeature.cs 50KB
FoundationTests.cs 48KB
SemanticTokensFeature.cs 46KB
EnumLikeStringGenerator.cs 44KB
TypedDelegatingHandlerStrategy.cs 43KB
Minimatcher.cs 39KB
ExecuteTypedCommandTests.cs 39KB
ExecuteCommandTests.cs 38KB
CompletionFeature.cs 35KB
TypedCodeActionTests.cs 32KB
TypedCompletionTests.cs 31KB
ClientTests.cs 31KB
FoundationTests.cs 31KB
TypedCodeLensTests.cs 30KB
OnRequestMethodGeneratorWithRegistrationOptionsStrategy.cs 28KB
RegistrationOptionsGenerator.cs 28KB
LanguageServer.cs 27KB
VsCodeDocumentUriTests.cs 27KB
LanguageProtocolDelegatingHandlers.PartialWithInitialValue.cs 25KB
TypedDocumentLinkTests.cs 25KB
LspFeatureTests.Supports_Nullable_Params_With_Typed_Data#SubLensParams.verified.cs 25KB
LspFeatureTests.cs 25KB
CharCode.cs 24KB
LanguageProtocolDelegatingHandlers.Partial.cs 23KB
InputHandler.cs 23KB
LanguageClient.cs 22KB
BasicTests.cs 22KB
InputHandlerTests.cs 22KB
CodeActionFeature.cs 21KB
SemanticTokensDocumentTests.cs 21KB
DiagnosticsFeature.cs 21KB
JsonRpcAttributes.cs 19KB
TypedInlayHintTests.cs 18KB
DocumentUri.cs 18KB
OnRequestTypedResolveMethodGeneratorWithRegistrationOptionsStrategy.cs 18KB
ProcessSchedulerTests.cs 18KB
DynamicRegistrationTests.cs 18KB
TextDocumentMatcherTests.cs 18KB
LspRequestRouterTests.cs 18KB
DocumentUriTests.cs 17KB
HandlerResolverTests.cs 17KB
ResolveCommandMatcherTests.cs 17KB
FileOperationsFeature.cs 17KB
SharedHandlerCollection.cs 17KB
ClientCapabilityProviderTests.cs 17KB
ProgressManager.cs 17KB
DocumentUri.Internal.cs 16KB
RecursiveResolutionTests.cs 16KB
JsonRpcGenerationTests.cs 16KB
InlayHintFeature.cs 15KB
LspFeatureTests.Supports_Inlay_Hint#OutlayHintParams.verified.cs 15KB
DebugAdapterServer.cs 15KB
OnRequestMethodGeneratorWithoutRegistrationOptionsStrategy.cs 15KB
ServiceCollectionSupportTests.cs 14KB
Serializer.cs 14KB
Range.Helpers.cs 14KB
AggregateSettlerTests.cs 14KB
AbstractHandlers.PartialWithInitialValue.cs 14KB
LanguageServerConfigurationTests.cs 14KB
DidChangeConfigurationProvider.cs 13KB
GenerateHandlerMethodsGenerator.cs 13KB
EventingTests.cs 13KB
ExtensionTests.cs 12KB
SettlerTests.cs 12KB
IActivityTracingStrategy.cs 12KB
AbstractHandlers.Partial.cs 12KB
CustomRequestsTests.cs 12KB
RequestRouterBase.cs 12KB
ProgressTests.cs 12KB
SignatureHelpFeature.cs 12KB
RangeTests.cs 11KB
PartialItemsTests.cs 11KB
TypedCallHierarchyTests.cs 11KB
IntegrationTests.cs 11KB
TypedTypeHierarchyTests.cs 11KB
InitializeFeature.cs 11KB
RegistrationOptionAttributes.cs 11KB
JsonRpcServerServiceCollectionExtensions.cs 11KB
LanguageServerLoggingTests.cs 11KB
LspFeatureTests.Supports_Inlay_Hint#Test0_OutlayHintTyped.verified.cs 11KB
JsonRpcIntegrationTests.cs 11KB
WorkspaceSymbolsFeature.cs 11KB
JsonRpcIntegrationTests.cs 11KB
DebugAdapterClient.cs 11KB
RenameTests.cs 10KB
DefaultRequestInvoker.cs 10KB
AutoImplementParamsGenerator.cs 10KB
OnRequestTypedResolveMethodGeneratorWithoutRegistrationOptionsStrategy.cs 10KB
AssemblyScanningHandlerTypeDescriptorProvider.cs 10KB
TextDocumentHandler.cs 10KB
共 1407 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
Lei宝啊
- 粉丝: 1998
- 资源: 1330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功