Как указать локаль для результата CompletionService.GetDescriptionAsync? - PullRequest
0 голосов
/ 13 мая 2019

Мне нужно указать локаль для результата CompletionService.GetDescriptionAsync.

Когда я звоню GetDescriptionAsync, он возвращает правильное описание, но на том же языке (локали), на котором работает моя Windows, но я хотел бы указать, например, new CultureInfo ("en-US").

var workspace = new AdhocWorkspace();
var project = workspace.AddProject( projectInfo );
Document document = workspace.AddDocument( project.Id, "MyCode.cs", SourceText.From( __code__ ) );
CompletionService completionService = CompletionService.GetService( document );
CompletionList completions = completionService.GetCompletionsAsync( document, __positionInTheCode__ ).Result;

if ( completions != null )
  foreach ( CompletionItem completionItem in completions.Items )
  {
    string description = completionService.GetDescriptionAsync( document, completionItem ).Result.Text;
    ...
  }

Когда я запускаю чешскую Windows, она возвращается, например. для Console.Beep:

"void Console.Beep() (+1  přetížení)"

Но я бы хотел получить английскую версию:

"void Console.Beep() (+1  overload)"

1 Ответ

0 голосов
/ 14 мая 2019

Я обнаружил, что установка CultureInfo.CurrentUICulture является решением.

...