2009-10-12 58 views
0

我正在爲Apache CouchDB構建類似於服務器資源管理器的東西。其中一個必要的事情是能夠編輯CouchDB中的CouchDB視圖定義,它們是JavaScript函數。Visual Studio - 編輯位於數據庫中的源代碼

我該如何欺騙Visual Studio來使用我的對象來檢索和保存JavaScript函數的內容,但仍然使用它的其餘部分 - 我對編輯器本身感到滿意,並且無意編寫自己的編輯器/語言服務等後者會比我還停留一下這個項目令

編輯

更多挖後更大的努力。這裏是我所知道的:IVsUIShellOpenDocument接口提供了一個方法OpenStandardEditor,它可以用來打開標準的Visual Studio編輯器。作爲參數之一,此方法將指針指向文檔數據對象的IUnknown接口。這個對象應該實現MSDN中許多地方描述的幾個接口。

Visual Studio SDK還提供文檔數據對象VsTextBufferClass的「示例」實現。我可以創建這個類的一個實例,當我將指向實例的指針傳遞給OpenStandardEditor時,我可以看到我的編輯器,它似乎工作正常。

當我試圖實現我自己的類實現相同的接口(IVsTextBufferVsTextBufferIVsTextLinesOpenStandardEditor方法返回成功,但VS了隨叫隨到editor.Show()訪問衝突炸彈。

我懷疑VsTextBufferClass還實現了一些其他的接口,但不是以C#的方式,而是採用舊的COM方式。我只是不知道哪一個。

有什麼想法?

回答

0

如果您有一個程序會將JavaScript導出到磁盤上的文件,然後在您使用Visual Studio編輯它們後將它們導入到數據庫中,該怎麼辦?這可能是最簡單的方法。

+0

這當然是一種選擇,我只是不喜歡它,因爲它會產生各種同步問題 – mfeingold 2009-11-11 21:08:38

相關問題