2017-11-02 6 views
0

文書を変更できるCodeFixProviderがあります。複数のドキュメントを変更するためにCodeFixProviderを使用できますか?

しかし、最初の文書が変更されたときに2番目の文書も変更する必要があります。

2番目のドキュメントを修正するコードを書くことはできますが、実際にユーザーが選択して最初に適用したときに報告するCodeFixProviderのイベントが表示されないため、いつ実行するのかわかりません資料。 CodeFixProviderを単にプレビューしている場合は、2番目の文書に変更を適用したくありません。

誰もこの問題を解決しましたか?または提案がありますか?どんな助けもありがとう。

答えて

2

CodeFixProviderを単にプレビューしている場合は、2番目のドキュメントに変更を加えたくありません。

実際には、コード修正プロバイダは、ユーザーの実際のコードについては何も変更しません(Roslynの階層全体は不変です)。代わりに、コード修正が適用された新しいSolutionが作成されます。

何があっても関係するすべての文書を変更し、Roslynに変更の処理方法を決定させる必要があります。

+0

ご返信ありがとうございます。それは実際には理にかなっています。私はそれを試しているが、新しい 'Project'の' AdditionalDocuments'と古いプロジェクトは空です。これは、2番目のドキュメントとして編集しようとしている.jsonファイルですが、.json 'Document'を読み込む方法がわかりません。 –

0

Document.Project.Documentsを使用すると、プロジェクト内のすべてのドキュメントにアクセスできます。ドキュメントを取得するにはいくつかの方法がありますが、解決しようとする課題に依存します。より多くの情報が必要な場合は、達成しようとしていることを説明してください。

関連する問題