2009-05-01 1 views
5

私はシンプルなVSアドインを作成しており、プログラム内でコード内の "ドキュメントフォーマット"オプション(編集中)を呼び出すことを望みます。 Googleは今日私に非常に親切ではありません...."Document Format"をC#からプログラムでどのように呼び出すのですか?

+0

Resharperを試しましたか?一度にあなたのためにソリューション全体を再フォーマットすることができます。 (私はこれが役に立たないと思うが、私は試してみたに違いない... ;-)) – Rashack

+0

ナー、自分の小さなツールを動かして自動的に中括弧を閉じるようにしようとしている。(そう、私はResharperもそうしているが、 ?) – BFree

答えて

5
Command cmd = _applicationObject.Commands.Item("Edit.FormatDocument", -1); 
object dummy = null; 
_applicationObject.Commands.Raise(cmd.Guid, cmd.ID, ref dummy, ref dummy); 
+0

初めて確認するので、私は理解できませんでした。 「_applicationObject」とその名前空間のタイプを指定してください。EnvDTE80名前空間を使用する必要がありますが、私は進めませんでした。あらゆるコードニッペルは非常に有用です。 –

0

VSStd2KCmdId.FORMATDOCUMENTコマンド列挙で呼び出された標準のコマンドエディタを使用する必要があります。あなたは(タイプウィンドウの)ドキュメントへの参照を持っている、とあなたは_DTEオブジェクトへの参照を持っている場合は

5

、あなたはこのようにそれを呼び出すことができます。

myDocument.Activate(); 
myDTE.ExecuteCommand("Edit.FormatDocument", string.Empty); 

時間のほとんどは、アドインに渡されたパラメータから_DTEオブジェクトへの参照を取得できます。

+0

文書を開かずに書式設定する方法はありますか?ワンクリックでプロジェクト内のすべてのドキュメントを整形したい – Hooch

+0

私はそう信じていません。文書を開いて、書式設定してから閉じることができます。 –

関連する問題