2

Roslyn を使用すると、ファイルを AdhocWorkspace に追加してフォーマッタを実行できますが、書式設定オプションを指定する方法がわかりません。.editorconfigコマンドラインで渡されたファイルからそれらを派生させたい

var adhoc = new AdhocWorkspace();

var solutionInfo = SolutionInfo.Create(SolutionId.CreateNewId(), 
                                       VersionStamp.Default, 
                                       "MySolution");
adhoc.AddSolution(solutionInfo);

var projectInfo = ProjectInfo.Create(ProjectId.CreateNewId(), 
                                     VersionStamp.Default, 
                                     "MyProject", 
                                     "MyProject.dll", 
                                     Microsoft.CodeAnalysis.LanguageNames.CSharp);
adhoc.AddProject(projectInfo);

foreach(var arg in args) {
  var sourceText = SourceText.From(File.OpenText(arg).BaseStream);
  adhoc.AddDocument(projectInfo.Id, arg, sourceText);
}

foreach(var document in adhoc.CurrentSolution.Projects.First().Documents){
  var formattedDocument = Formatter.FormatAsync(document, adhoc.Options).Result;
  var formattedText = formattedDocument.GetTextAsync().Result;
  Console.WriteLine(formattedText);
}

adhoc.Options = adhoc.Options.WithChangedOption(...)単一のオプションを変更できますが、オプションを.editorconfigファイルから取得したいです。これを可能にする API はありますか?

4

1 に答える 1