我正在为Apache CouchDB构建类似于Server Explorer的东西。必要的一件事是能够编辑CouchDB中的CouchDB视图定义,这些定义在CouchDB中是JavaScript函数。
如何欺骗Visual Studio使用我的对象来检索和保存JavaScript函数的内容,但仍然使用其余部分 - 我对编辑器本身感到满意,并且无意编写我自己的编辑/语言服务,后者将比该项目所要求的更大的努力
修改
经过多次挖掘后,我仍然陷入困境。以下是我所知道的:IVsUIShellOpenDocument
接口提供了一个方法OpenStandardEditor
,可用于打开标准的Visual Studio编辑器。作为参数之一,此方法将指针指向文档数据对象的IUnknown接口。该对象应该实现在MSDN上的许多地方描述的几个接口。
Visual Studio SDK还提供了文档数据对象VsTextBufferClass
的“示例”实现。我可以创建这个类的实例,当我将实例的指针传递给OpenStandardEditor
时,我可以看到我的编辑器,它似乎工作正常。
当我尝试实现我自己的类时,实现相同的接口(IVsTextBuffer
,VsTextBuffer
,IVsTextLines
)OpenStandardEditor
方法返回成功,但VS在电话中炸弹{ {1}}访问冲突。
我怀疑VsTextBufferClass还实现了一些其他接口,但不是用C#方式,而是用旧的COM方式。我只是不知道哪一个。
有什么想法?
答案 0 :(得分:0)
如果你有一个程序可以将javascript导出到磁盘上的文件,然后在用Visual Studio编辑完成后将它们导回到数据库中,该怎么办?这可能是最简单的方法。