我在Visual Studio 2013中遇到了令人沮丧的C ++ Intellisense问题。(如果您正在处理其他版本的VS,请不要回答.Intelllense在版本上发生了巨大变化,而我的经验是,一个VS版本的答案通常对以后的版本没有帮助。)
我经常在多个Visual Studio实例的项目中工作。例如,当我在库中的头文件中进行更改时,Intellisense应该检测更改的文件并更新我也打开的应用程序项目。这曾经工作,我相信它在我安装SSD时停止工作。这种行为似乎表明VS根本不会检测当前项目之外的磁盘上何时更改文件。
我不知道移动到SSD会如何改变这种检测,但这是我最好的猜测。我没有运气就进行了实验和搜索,所以任何指导都会有所帮助。
谢谢你, 道格
答案 0 :(得分:0)
C ++ IntelliSense从未真正跟踪过Visual Studio实例的文件修改。我相信你先前的观察一定是幻觉或有偏见。
例如,一个可能具有“种类”功能的场景是:在Visual Studio的实例A中,您打开header.h
并对其进行修改,在Visual Studio的实例B中,您有header.h
}和source.cpp
(使用标题)打开。实例B中打开的header.h
将“注意到”更改(可能存在要求重新加载文件的对话框,或者可能设置了自动重新加载的选项)并通知source.cpp
IntelliSense重新加载。 IntelliSense还会定期刷新整个文件或响应某些用户编辑,因此这可能是另一种解释;虽然不那么确定,但当然不应该通过改变硬盘来影响。
通常,在多个Visual Studio实例上处理相同的文件(如您所见)不受支持的方案。我建议一种替代方法,将您的多个项目分组到一个解决方案中并在单个实例中工作。在实践方面,请注意您可以配置自己的“工作区”解决方案,该解决方案引用您需要的选择项目而不会影响团队的解决方案文件 - 我经常这样做,因为我通常只对2-3个项目感兴趣N我的团队工作。