在其他项目中更改头文件时,Visual Studio 2013智能感知不更新

时间:2015-06-09 00:53:05

标签: visual-studio-2013 intellisense ssd

我在Visual Studio 2013中遇到了令人沮丧的C ++ Intellisense问题。(如果您正在处理其他版本的VS,请不要回答.Intelllense在版本上发生了巨大变化,而我的经验是,一个VS版本的答案通常对以后的版本没有帮助。)

我经常在多个Visual Studio实例的项目中工作。例如,当我在库中的头文件中进行更改时,Intellisense应该检测更改的文件并更新我也打开的应用程序项目。这曾经工作,我相信它在我安装SSD时停止工作。这种行为似乎表明VS根本不会检测当前项目之外的磁盘上何时更改文件。

我不知道移动到SSD会如何改变这种检测,但这是我最好的猜测。我没有运气就进行了实验和搜索,所以任何指导都会有所帮助。

谢谢你, 道格

1 个答案:

答案 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我的团队工作。