【问题标题】:Open fileless source code document in code editor from VS 2010 extension在 VS 2010 扩展的代码编辑器中打开无文件源代码文档
【发布时间】:2011-07-06 22:06:53
【问题描述】:

我正在使用 VS 2010 SDK SP1 创建一个 Visual Studio 2010 扩展,它将在代码编辑器中打开源代码文件。该扩展是一个工具窗口,停靠在解决方案资源管理器所在的位置。

该扩展使用 WCF 服务检索源代码文件并在 TreeView 中显示层次结构。双击代码文件时,它应该将关联的源代码加载到代码编辑器窗口中,就像解决方案资源管理器所做的那样。

我已经阅读 VS 扩展和 DTE 自动化有一段时间了,但进展甚微。似乎我可以毫无问题地访问已经打开或活动的 WpfTextViews,但我不明白如何在 IDE 的文档区域中打开一个新的 TextView。请记住,这些不是保存在磁盘上的实际源代码文件,而是从 WCF 服务检索并存储在内存中。

谁能提供一个例子或给我一些关于如何实施的指导?谢谢。

【问题讨论】:

    标签: c# .net visual-studio-2010


    【解决方案1】:

    如何创建一个临时文件,用源代码填充它并加载该临时文件? (或创建新的临时文件,将其添加到 IDE 中,然后将源代码插入其中...)

    也许这不是你想要的,但它会成功......

    (如果你在 VS 中创建一个新文件(文件 -> 新建...),VS 也会创建一个临时文件,并在你想保存文件时询问“正确”的位置第一次。)

    【讨论】:

    • 我想过这样做,但我不知道要使用什么代码来真正让它工作。部分问题是 VS 不喜欢打开不属于解决方案层次结构的文件,因此它希望您指定文件所属的项目或解决方案。如果文件未作为项目的一部分打开,则您不会获得智能感知或任何其他有用的代码编辑器功能的任何好处。我想知道是否有一种方法可以引用智能感知可以用来构建其数据库的库或 dll。如果您有任何关于如何打开代码窗口的示例代码,请分享。
    【解决方案2】:

    为什么不在本地驱动器上创建整个源树的缓存,然后只从文件而不是从内存中加载解决方案?

    【讨论】:

      猜你喜欢
      • 2016-10-28
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 2020-08-06
      • 2014-11-16
      相关资源
      最近更新 更多