2009-05-01 12 views
5

Basit bir VS eklentisi yazıyorum ve programlı olarak kod içinde "Belge Biçimi" seçeneğini (Düzenle altında) çağırmak istiyorum. Google bugün bana çok yakışmıyor."Belge Formatı" nı C# programlı olarak nasıl adlandırırsınız?

+0

Resharper'ı denediniz mi? Tek bir seferde tüm çözümü yeniden biçimlendirebilir. (Bunun yardımcı olmadığına inanıyorum ama denemeliyim ... ;-)) – Rashack

+0

Hayır, sadece kendi küçük aracımı otomatik olarak kapatmak için parantezlerimi kapatmaya çalışıyorum (evet, Resharper'ın da bunu yaptığını biliyorum, ama buradaki eğlence nerede?) ??) – BFree

cevap

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

Bunu kontrol etmek için ilk kez, anlayamadım. '_applicationObject' türünü ve onun ad alanını lütfen belirtebilirim. EnvDTE80 ad alanını kullanmam için biraz göz attım ama devam edemedim. Herhangi bir codenippet çok yararlı olacaktır. –

0

VSStd2KCmdId.FORMATDOCUMENT komut numaralandırma ile adlandırılan standart komut düzenleyicilerini kullanmanız gerekir. Eğer (tip Pencere) belgenizin bir başvuru varsa ve _DTE nesnesine bir başvuru varsa

5

, böyle diyebilirsin:

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

Çoğu zaman, Eklentinize aktarılan parametrelerden _DTE nesnesine bir başvuru alabilirsiniz.

+0

Belgeyi açmadan biçimlendirmenin herhangi bir yolu var mı? Projedeki tüm belgeleri tek tıklamayla biçimlendirmek istiyorum. – Hooch

+0

Ben inanmıyorum. Belgeyi açabilir, biçimlendirebilir ve kapatabilirsiniz. –

İlgili konular