永远不会调用代码操作操作

时间:2017-06-09 16:19:42

标签: c# roslyn code-analysis

我正在编写一个Roslyn Vsix来将可本地化的字符串添加到最近的资源文件中。 我在添加到资源文件时遇到问题,因为该操作是通过编写xml而不是使用Roslyn API完成的。因此,我发现预览更改正在填充我的RESX,当我只想在应用更改时发生这种情况。

经过一些研究后,似乎通过在ApplyChangesOperation上调用apply来应用更改,当我创建自定义代码操作时,它不会被调用:

public class DelayedApplyChangesOperation : CodeActionOperation
{
    public override void Apply(Workspace workspace, CancellationToken cancellationToken)
    {
        using (var file = new System.IO.StreamWriter("c:\\temp\\test.txt"))
        {
            file.WriteLine("Lines and Stuff");
        }

        Debug.WriteLine("Test Execution");
    }
}

由于ApplyChangesOperation已被封存,我无法继承它。如何创建自定义CodeActionOperation,将更改应用于解决方案时调用

0 个答案:

没有答案