如何在vs2010宏中使用“ReSharper.ReSharper_SilentCleanupCode”?

时间:2012-03-27 15:52:07

标签: vb.net visual-studio-2010 exception macros resharper

我正在尝试构建一个宏,在保存之前格式化所有已修改的文件。

Public Module ReformatAndSave

Sub SingleFile()
    DTE.ExecuteCommand("ReSharper.ReSharper_SilentCleanupCode")
    DTE.ActiveDocument.Save()
End Sub

Sub AllFiles()
    For Each doc As Document In DTE.Documents
        If Not doc.Saved Then
            doc.Activate()
            DTE.ExecuteCommand("ReSharper.ReSharper_SilentCleanupCode")
            DTE.ActiveDocument.Save()
        End If
    Next
End Sub
End Module

这会导致错误

  
    

错误HRESULT E_FAIL已从调用COM组件返回。

  

当我使用它时它起作用:

DTE.ExecuteCommand("ReSharper.ReSharper_CleanupCode")

我可以使用此解决方案来处理单个文件,但在保存所有文件时选择配置文件很烦人。

我使用ReSharper 6.1.1000.82。这个错误看起来很旧:http://youtrack.jetbrains.com/issue/RSRP-179846

是否可以通过收集所有已修改的文件并为所有文件执行一次有效的CleanUpCode命令来解决此错误。 我可以手动选择多个文件并在这些文件上执行CleanUp。我想在保存它们时自动对所有修改过的文件执行此操作。

1 个答案:

答案 0 :(得分:1)

解决方案非常简单。 我所要做的只是取代这个

DTE.ExecuteCommand("ReSharper.ReSharper_CleanupCode")

用这个

DTE.ExecuteCommand("ReSharper_SilentCleanupCode")

这不起作用!

DTE.ExecuteCommand("ReSharper.ReSharper_SilentCleanupCode")