我正在编写一个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,将更改应用于解决方案时调用