2012-03-27 8 views
3

私はすべての変更されたファイルを保存する前にフォーマットするマクロを構築しようとしています。"ReSharper.ReSharper_SilentCleanupCode"をvs2010マクロで使用する方法は?

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コマンドを1回実行することで回避できますか? 多くのファイルを手動で選択し、これらのファイルに対してクリーンアップを手動で実行できます。私はそれらを保存するときにすべての変更されたファイルに対してこれを自動的にしたいと思います。

答えて

1

解決策はとても簡単です。 私がしなければならなかったすべてはこの

DTE.ExecuteCommand("ReSharper_SilentCleanupCode") 

でこれ

DTE.ExecuteCommand("ReSharper.ReSharper_CleanupCode") 

を交換され、これは動作しません!

DTE.ExecuteCommand("ReSharper.ReSharper_SilentCleanupCode") 
関連する問題