可以使用CodeFixProvider来更改多个文档吗?

时间:2017-11-02 19:05:25

标签: c# roslyn roslyn-code-analysis

我有CodeFixProvider可以更改文档,但它可以正常工作。

但是,当第一个文档发生变化时,我还需要更改第二个文档。

我可以编写代码来修复第二个文档,但我不知道何时执行它,因为我无法在CodeFixProvider上看到一个事件报告用户何时实际选择并应用到第一份文件。如果只是预览CodeFixProvider,我不想将更改应用于第二个文档。

之前有没有人解决过这个问题?还是有建议?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

  

如果只是预览CodeFixProvider,我不想将更改应用于第二个文档。

实际上,你做到了。代码修复提供程序不会直接更改用户实际代码的任何内容(请记住,Roslyn的整个层次结构是不可变的)。相反,他们会创建一个新的Solution并应用代码修复。

您应该更改所有相关文档,无论如何,让Roslyn弄清楚如何处理这些更改。

答案 1 :(得分:0)

使用Document.Project.Documents访问项目中的所有文档。还有其他一些获取文档的方法,但它们取决于您尝试解决的任务。如果您需要更多信息,请描述您尝试实现的目标。

相关问题