Как запросить диагностику документа с помощью Omnisharp?C#

Место общения программистов C#
Anonymous
Как запросить диагностику документа с помощью Omnisharp?

Сообщение Anonymous »

Я пытаюсь запросить диагностику у моего LSP, используя следующий код

Код: Выделить всё

var report = await client.RequestDocumentDiagnostic(new DocumentDiagnosticParams()
{
TextDocument = textDocument,
Identifier = "luau"
});

Console.WriteLine(report);
Где client — это мой LanguageClient, который я инициализировал. Другие методы, такие как RequestCompletion и RequestHover, работают должным образом.
Однако, когда я пытаюсь вызвать метод RequestDocumentDiagnostic, он выдает следующую ошибку. :

Код: Выделить всё

Unhandled exception. System.NotImplementedException: The method or operation is not implemented.
at OmniSharp.Extensions.LanguageServer.Protocol.Models.RelatedDocumentDiagnosticReport.Converter.ReadJson(JsonReader reader, Type objectType, RelatedDocumentDiagnosticReport existingValue, Boolean hasExistingValue, JsonSerializer serializer)
at Newtonsoft.Json.JsonConverter`1.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType, JsonSerializer jsonSerializer)
at Newtonsoft.Json.Linq.JToken.ToObject[T](JsonSerializer jsonSerializer)
at OmniSharp.Extensions.JsonRpc.ResponseRouter.ResponseRouterReturnsImpl.Returning[TResponse](CancellationToken cancellationToken)
at OmniSharp.Extensions.LanguageServer.Protocol.Progress.ProgressManager.c__DisplayClass26_0`1.d.MoveNext()
К пакету языкового клиента от Omnisharp мало документации, и я не знаю, почему получаю эту ошибку.
Я пробовал разные методы получения диагностики от LSP, например, напрямую с помощью client.SendRequest, но мне не удалось заставить это работать.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -omnisharp

Вернуться в «C#»