打开.inl文件会全局中断IntelliSense

时间:2019-02-20 20:20:46

标签: visual-studio visual-studio-2017 intellisense

我正在使用Visual Studio 2017,最新版本(昨天才更新)。

我正在使用DirectXMath,该文件在某些​​方面使用.inl文件。我了解为什么IntelliSense遇到.inl文件有问题,但是就我而言,Visual Studio破坏了我文件的IntelliSense。

一个简单的代码片段,可以在上面重现该问题:

#include <DirectXMath.h>
#include <DirectXCollision.h>

void f() {
    DirectX::XMMATRIX projLH;
    DirectX::XMMATRIX viewLH;
    DirectX::BoundingFrustum fr{ projLH };
    fr.Transform(fr, DirectX::XMMatrixInverse(nullptr, viewLH));
}

一切正常,VS了解所有类型和功能。现在,当我右键单击类型或函数并单击Show Definition时,Visual Studio将向我显示覆盖中的源代码,覆盖中的源代码可能在标头文件中,也可能在.inl文件中。 有时(三到四次),当我关闭此叠加层后,Visual Studio会忘记所有类型。 XMMATRIXprojLHviewLHfrXMMatrixInverse的下方都有红色的波浪线,并且将namespace DirectX has no member 'XMMATRIX',{{1} } 等等。 它仍然可以编译

这很烦人,因为每次我都必须重新启动Visual Studio才能解决此问题。关闭并重新打开文件无济于事。下次我想查看一个声明,而该声明恰好位于; expected文件中时,它将再次中断。 为什么打开.inl文件后,IntelliSense会为我的我的代码中断吗?我可以以某种方式全局禁用.inl文件的IntelliSense还是如何防止此问题?

0 个答案:

没有答案