GLEW - Visual Studio Intellisense没有显示完整的功能签名

问题描述 投票:0回答:1

最近,我一直在使用GLEW学习OpenGL。为此,我正在使用visual studio社区IDE。由于某种原因,visual studio intellisense没有显示完整的函数签名,当我将鼠标悬停在glew中定义的任何函数上时,它只显示glew.h中定义的宏,而不是完整的函数定义。

例如,如果我将鼠标悬停在glVertexAttribPointer()上,它会显示: #define glVertexAttribPointer GLEW_GET_FUN(_glewVertexAttribPointer) 。如何让intellisense显示完整的功能签名?提前致谢

visual-studio-2017 intellisense glew
1个回答
0
投票

通过将鼠标悬停在函数名称上它不会正常显示,因为它只是一个宏定义,而不是一个函数本身。例如,glVertexAttribPointer定义为:

#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer)

__glewVertexAttribPointer是隐藏在PFNGLVERTEXATTRIBPOINTERPROC的另一个宏定义后面的typedef,定义为:

typedef void(__stdcall *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer)

有了这么多级别的间接性,IDE就很难将其视为一个普通的功能并给你签名。但是,至少在我的Visual Studio 2017社区中,输入glVertexAttribPointer就足够了,然后一旦打开括号,就会出现功能签名。在分隔参数时键入逗号时也会显示。这是我打开支架后在我的Visual Studio中的样子:

enter image description here

它提供了一个非常方便的所有参数列表,并使您正在键入的参数变为粗体。希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.