2011-07-06 64 views
7

我正在使用VS 2010 SDK SP1創建一個Visual Studio 2010擴展,它將在代碼編輯器中打開源代碼文件。該擴展是一個工具窗口,停靠在解決方案資源管理器所在的位置。從VS 2010擴展的代碼編輯器中打開無文件源代碼文檔

該擴展使用WCF服務來檢索源代碼文件並在TreeView中顯示層次結構。當代碼文件被雙擊時,它應該將相關源代碼載入代碼編輯器窗口,就像解決方案瀏覽器一樣。

我一直在閱讀關於VS擴展和DTE自動化的一段時間,並取得了很小的進展。看起來我能夠訪問已經打開或活動的WpfTextViews而沒有問題,但我不明白如何在IDE的文檔區域中打開新的TextView。請記住,這些不是保存在磁盤上的實際源代碼文件,而是它們從WCF服務中檢索並存儲在內存中。

任何人都可以提供一個例子或給我一些關於如何實現這個請指導?謝謝。

回答

1

如何創建一個臨時文件,填充源代碼並加載該臨時文件? (或創建新的臨時文件,將它添加到IDE,然後插入您的源代碼有...)

也許這不正是你想要的東西,但它會做的伎倆......

(如果您在VS(文件 - >新建...)中創建一個新文件,則VS將創建一個臨時文件,並在您想要第一次保存該文件時詢問「正確」位置。)

+0

我想過這樣做,但我無法弄清楚使用什麼代碼來實際使用它。部分問題是VS不喜歡打開不屬於解決方案的文件,因此它希望您指定文件所屬的項目或解決方案。如果文件未作爲項目的一部分打開,則不會獲得智能感知或任何其他有用的代碼編輯器功能的任何好處。我想知道是否有辦法引用intellisense可以用來構建數據庫的庫或dll。如果您有任何示例代碼來了解如何打開代碼窗口,請分享它。 – Paccc

1

爲什麼不在本地驅動器上創建整個源代碼樹的緩存,然後從文件而不是內存中加載解決方案?