我正在创建一个Roslyn扩展来自动执行常规重构。当开发人员右键单击某个类型时,Roslyn应该提供重新生成其构造函数,并显示一些默认代码。但是,此操作有时可能由于类型结构而失败,例如,当存在多于1个构造函数时。
我想告知开发人员失败的原因以及如何做的建议。
我不想在这种情况下禁用重构,因为那样就不会提供有关它为什么不可用的信息,以及如何将其恢复。所以,我留下了一个选项来显示一个什么都不做的虚拟重构,但在其名称中包含了所需的消息,即"重新生成构造函数不可用,因为类型有多个构造函数"。
有没有更好的方法将消息从Roslyn传达给开发人员?理想情况下,我想向他们展示一个模态消息框。可能有没有办法从自己的代码中取消重构并给出取消原因?
答案 0 :(得分:0)
您的重构将在Visual Studio中运行,因此您可以使用Visual Studio扩展可以使用的任何API。我将查看this github存储库,以获取有关可用API的一些示例。