0

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

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

我不知道迁移到 SSD 会如何改变这种检测,但这是我最好的猜测。我已经尝试并寻找没有任何运气的答案,所以任何指导都会有所帮助。

谢谢你,道格

4

1 回答 1

0

C++ IntelliSense 从未真正跨 Visual Studio 实例跟踪文件修改。我相信你之前的观察一定是一种错觉或偏见。

例如,它可能“有点”工作的一种情况是:在您header.h打开并应用修改的 Visual Studio 实例 A 中,在您打开header.hsource.cpp(使用标题)打开的 Visual Studio 实例 B 中。在实例 B 中打开header.h将“注意到”更改(可能有一个对话框要求重新加载文件,或者可能设置了自动重新加载的选项)并通知source.cppIntelliSense 重新加载。IntelliSense 还会定期刷新整个文件或响应某些用户编辑,因此这可能是另一种解释;虽然不太确定,当然也不应该受到更换硬盘的影响。

通常,跨多个 Visual Studio 实例处理相同文件(如您所见)不受很好的支持。我会建议一种替代方法,将您的多个项目组合成一个解决方案并在一个实例中工作。在实际方面,请注意您可以配置自己的“工作区”解决方案,它引用您需要的选择项目而不影响团队的解决方案文件——我经常这样做,因为我通常只对 2-3 个项目感兴趣N 我的团队正在工作。

于 2015-06-11T17:08:05.990 回答