2011-07-06 21 views
7

Kod editöründe kaynak kod dosyalarını açacak VS 2010 SDK SP1'i kullanarak bir Visual Studio 2010 uzantısı oluşturuyorum. Uzantı, Solution Explorer'ın bulunduğu yere yerleştirilen bir ToolWindow'dur. Uzantı, kaynak kodu dosyalarını aldığında ve bir TreeView'de hiyerarşiyi görüntülediğinde bir WCF servisi kullanır. Kod dosyası çift tıklandığında, ilgili kaynağı Solution Explorer'ın yaptığı gibi kod editörü penceresine yüklemelidir.VS 2010 uzantısından kod düzenleyicide açık kaynak kodu dökümanını açın

Bir süredir VS uzatma ve DTE otomasyonu hakkında okudum ve çok az ilerleme kaydettim. Zaten açık veya etkin WpfTextViews bir sorun olmadan erişmek mümkün, ancak IDE belge alanına yeni bir TextView açmak için anlamıyorum gibi görünüyor. Bunların diskte kaydedilmiş gerçek kaynak kod dosyaları olmadığını, WCF hizmetinden alındıklarını ve bellekte saklandıklarını unutmayın.

Herhangi bir örnek verebilir misiniz, yoksa bunu nasıl uygulayacağınıza dair bana rehberlik edebilir misiniz? Teşekkür ederim.

cevap

1

Geçici bir dosya oluşturmaya, kaynak koduyla doldurmaya ve bu geçici dosyayı yüklemeye ne dersiniz? ... ne istediğini

Belki de tam olarak bu değildi (Ya ... IDE eklemeden sonra oraya kaynak kodu eklemek, yeni geçici dosya oluşturma) ama hile yapacağım

(VS (Dosya -> Yeni ...) 'de yeni bir dosya oluşturursanız, VS aynı zamanda bir geçici dosya oluşturur ve dosyayı ilk defa kaydetmek istediğinizde "doğru" konum ister.)

+0

Bunu yapmayı düşündüm ama aslında işe yaraması için hangi kodun kullanılacağını anlayamadım. Problemin bir kısmı, VS'nin bir çözümün parçası olmayan dosyaları açmayı sevmemesidir, dolayısıyla dosyanın ait olduğu proje veya çözümü belirtmenizi ister. Dosya bir projenin parçası olarak açılmazsa, intellisense veya diğer herhangi bir faydalı kod editörü özelliklerinden faydalanamazsınız. Intellisense'in veritabanını oluşturmak için kullanabileceği kütüphanelere ya da dll'lere başvurmanın bir yolu olup olmadığını merak ediyorum. Kod penceresi açmak için örnek kodunuz varsa, lütfen paylaşın. – Paccc

1

Yerel sürücüde tüm kaynak ağacının önbelleğini neden oluşturmuyorsunuz ve sonra çözümü yalnızca bellekten değil, dosyadan yüklüyorsunuz?