Я пытаюсь создать макрос, который форматирует все измененные файлы перед их сохранением.
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 для этих файлов вручную. Я хотел бы сделать это автоматически для всех измененных файлов при их сохранении.