私はsample provided at codeplexに基づいてVB.NET/C#プロジェクトのコードフォーマット用の小さなロンリンベースのアプリケーションを持っています。そこで私は、ソリューションでケース補正を実行するには?
projectItem.Document.DTE.ExecuteCommand("Edit.FormatDocument");
これはもはや許容可能である:このアプリケーションは、私はプログラム的にこのような特定のソリューション内のすべてのファイルにVisual StudioコマンドEdit.FormatDocument
を実行するには、私はDTEに基づいて開発古いコードフォーマッタの新しいバージョンですFormatDocumentコマンドと同じタスクを実行する新しいバージョンの開発を開始しました。 VB.NETのソースファイルでこのコマンドの特徴の一つは、例えば、それがキーワードと名前の両方のケースを修正することです:
public
はPublic
、- 変数が
fooBar
として定義されているがfoobar
=>用法として使わなり、fooBar
など
Microsoft.CodeAnalysis.Formatting.Formatter.FormatAsync(...)
は、仕事をするだろうと思ったが、それが唯一の空白の世話をするように思えます。したがって、私は他の場所を探し始めて、方法Microsoft.CodeAnalysis.CaseCorrection.CaseCorrector.CaseCorrectAsync(...)
を発見しましたが、CaseCorrector
クラスは残念ながらinternal
です。それは、方法CaseCorrectAsync
であるバグがpublic
であるかどうか私には不思議に思います。 新しいローズンベースのアプリでケース補正を実行するのに合理的な方法はありますか?
バグかどうかについては、そうではありません。 Roslynのヘルパーの多くは「内部」ですが、あなたがそれを必要としていることを示した後、チームは「公開」するよう要求されています。あなたはおそらくこのためのレポに問題を作成する必要があります。 –
私たちは[オープンソース](https://github.com/dotnet/roslyn)ですので、簡単にフォークして自分のツールに公開することができます。もちろん、バグも報告してください。 –
@JasonMalinowskiもう1つ質問がある場合は、私が作った変更を利用してローズンナゲットパッケージをローカルに構築する方法についていくつかの指示がありますか(例:CaseCorrector public)? –