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

打开不属于项目一部分的CS文件时,有没有任何方法可以使IntelliSense工作?

  •  5
  • amazedsaint  · 技术社区  · 15 年前

    理想情况下,我们需要了解微软如何处理XAML生成的代码(那些*.g.cs文件)。如果您转到后面的XAML代码,即使*.g.cs文件不是项目的一部分,IntelliSense也可以工作!你说什么?


    语境:

    在一个定制的vs包中,我们需要有一些逻辑来在vs-ide中打开一个cs文件(不让它成为项目的一部分),以允许用户编辑它。

    我们正在将文档连接到正在运行的文档表,并使用ivsrunningdocumenttable接收保存、关闭和全部等事件。工作良好。

    现在的问题是,当打开文档时,IntelliSense无法工作,原因很简单,因为打开的文档不是项目的一部分(遗憾的是,我们不能这样做,我们不能使它成为代码隐藏)。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Andrew Hare    15 年前

    IntelliSense由标识符和类型的内存缓存驱动。这些类型是基于您所在的项目和项目所具有的引用缓存的。如果正在编辑的代码文件不是项目的一部分,Visual Studio将必须加载所有可能的程序集,并为整个.NET框架中的每个类型创建IntelliSense数据,因为它无法知道您的代码文件是否需要它。

    我想是Visual Studio吧 能够 根据文件的内容加载IntelliSense,但这不是它当前的工作方式。

        2
  •  0
  •   Ady Kemp    15 年前

    整个番茄的视觉辅助X是我用了很多年的vs的一个补充。当你打开它时,它会给你更多的智能感。