代码之家  ›  专栏  ›  技术社区  ›  mfeingold

Visual Studio-编辑数据库中的源代码

  •  0
  • mfeingold  · 技术社区  · 16 年前

    我正在为ApacheCouchDB构建类似于服务器浏览器的东西。需要做的事情之一是能够编辑CouchDB视图定义,CouchDB中的视图定义是JavaScript函数。

    我怎样才能骗过Visual Studio使用我的对象来检索和保存JavaScript函数的内容,但仍然使用它的其余部分呢?我对编辑器本身很满意,不打算编写自己的编辑器/语言服务等。后者的工作量将比这个项目所保证的要大得多

    编辑

    经过更多的挖掘,我仍然被困住了。以下是我所知道的: IVsUIShellOpenDocument 接口提供了一种方法 OpenStandardEditor 可用于打开标准Visual Studio编辑器。作为参数之一,该方法使用指向文档数据对象的IUnknown接口的指针。这个对象应该实现MSDN中许多地方描述的几个接口。

    VisualStudioSDK还提供了文档数据对象的“示例”实现 VsTextBufferClass .我可以创建这个类的一个实例,当我将指向该实例的指针传递给 OpenStandardEditor 我可以看到我的编辑,它似乎工作正常。

    当我尝试实现我自己的类时,实现了相同的接口( IVsTextBuffer , VsTextBuffer , IVsTextLines ) OpenStandardEditor 方法返回成功,但VS在调用时爆炸 editor.Show() 违反访问权限。

    我怀疑VsTextBufferClass也实现了一些其他接口,但不是以C#的方式,而是以良好的旧COM方式。我只是不知道是哪一个。

    有什么想法吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   David    16 年前

    如果你有一个程序,可以将javascript导出到磁盘上的文件,然后在用Visual Studio编辑完这些文件后将其导入数据库,会怎么样?这可能是最简单的方法。