CodeFixProvider 能否用于更改多个文档?
Can a CodeFixProvider be used to change more than one document?
我有一个 CodeFixProvider
可以更改文档,而且可以用。
但是我还需要在第一个文档更改的同时更改第二个文档。
我可以编写代码来修复第二个文档,但我不知道何时执行它,因为我看不到 CodeFixProvider
上的事件来报告用户实际选择它的时间并应用于第一份文件。如果 CodeFixProvider
只是被预览,我不想将更改应用到第二个文档。
有没有人解决过这个问题?或者有什么建议?任何帮助将不胜感激。
使用Document.Project.Documents
访问项目中的所有文档。还有其他一些获取文档的方法,但它们取决于您尝试解决的任务。如果您需要更多信息,请描述您尝试实现的目标。
I don't want to apply the changes to the second document if the CodeFixProvider is simply being previewed.
事实上,你知道。代码修复提供程序不会直接更改有关用户实际代码的任何内容(请记住,Roslyn 的整个层次结构是不可变的)。相反,他们创建了一个应用了代码修复的新 Solution
。
无论如何,您都应该更改所有相关文档,并让 Roslyn 弄清楚如何处理这些更改。
我有一个 CodeFixProvider
可以更改文档,而且可以用。
但是我还需要在第一个文档更改的同时更改第二个文档。
我可以编写代码来修复第二个文档,但我不知道何时执行它,因为我看不到 CodeFixProvider
上的事件来报告用户实际选择它的时间并应用于第一份文件。如果 CodeFixProvider
只是被预览,我不想将更改应用到第二个文档。
有没有人解决过这个问题?或者有什么建议?任何帮助将不胜感激。
使用Document.Project.Documents
访问项目中的所有文档。还有其他一些获取文档的方法,但它们取决于您尝试解决的任务。如果您需要更多信息,请描述您尝试实现的目标。
I don't want to apply the changes to the second document if the CodeFixProvider is simply being previewed.
事实上,你知道。代码修复提供程序不会直接更改有关用户实际代码的任何内容(请记住,Roslyn 的整个层次结构是不可变的)。相反,他们创建了一个应用了代码修复的新 Solution
。
无论如何,您都应该更改所有相关文档,并让 Roslyn 弄清楚如何处理这些更改。