c# - 从 VS 2010 扩展在代码编辑器中打开无文件源代码文档

标签 c# .net visual-studio-2010

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

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

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

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

最佳答案

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

也许这不是您想要的,但它可以解决问题...

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

关于c# - 从 VS 2010 扩展在代码编辑器中打开无文件源代码文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603647/

相关文章:

c# - nhibernate fluent bool 到 smallint 映射

c# - 使用 ASP.NET C# 上传到 YouTube - 避免出现 "Google login"屏幕

c# - 是否有比我现在正在做的更有效的方法从 5 个表中获取数据?

c# - 如何将子项的值传回父窗体?

.net - 是否有技术原因导致.NET4.0不能完全支持EF 5?

jquery - 如何在 Visual Studio 2010 MVC 2 Web 元素中添加 jQuery?

C#:为 DataGridView 列标题创建点击事件

c# - 将 8 位数字转换为日期时间类型

c# - SftpClient.UploadFile 和 SftpClient.WriteAllBytes 有什么区别?

c# - 如何防止类看到 DLL 文件