Visual Studio 2019 的 HLSL 工具包含文件问题

问题描述

我正在使用带有 HLSL 工具扩展的 Visual Studio 社区版本 2019 进行着色器编辑。

让我们考虑以下情况。

//定义一个全局使用的结构 源文件 A:structure_def.inc

struct Global_used_structure
{
  float a;
  float b;
}

// B 正在使用它 源文件 B:B_using_structure_A.fx

include "structure_def.inc"

Global_used_structure my_point ;

// C 正在使用它

文件 C:C_using_structure_A.fx

include "structure_def.inc"

Global_used_structure my_other_point ;

// D 也在使用它 源文件 D:problem_file.fx

include "structure_def.inc"
include “B_using_structure_A.fx”
include “C_using_structure_A.fx”

Global_used_structure my_new_point ;

在这里我会得到重新定义结构的错误,因为它被多次包含。 但在此版本中,HLSL 工具的语法突出显示和上下文帮助可以正常工作。

好的,我可以改变

//定义一个全局使用的结构体 源文件 A:structure_def.inc

#ifndef Global_used_structure_H
#def Global_used_structure_H

struct Global_used_structure
{
   float a;
   float b;
}
#endif

在这个版本中,代码将被编译,

但是我丢失了包含文件内容代码敏感功能

  • 例如转到定义 而且 HLSL 工具会突出显示代码中的很多错误,因为结构没有正确识别。

如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)