Unreal Engine 4.25 Visual Studio Code intellisense error

最近在搞Unreal Engine。

UE4.25 配合VSCode有个bug,就是生成的VSCode project文件的C++描述部分有误,导致VSCode的intellisense不能正常工作,表现为找不到如下文件

UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformCompilerPreSetup.h

并伴随着自动补全和语法高亮出现问题,也无法在输入函数参数时获得函数定义的提示,更无法鼠标悬停获得对象的定义描述。

经过Google后发现,这个bug在UE4.26似乎得到了修正。但是目前的项目适配4.25,还不能轻易升级UE,所以得想个解决办法。

在一番Google之后,发现是UE4.25在生成VSCode的 .vscode/c_cpp_properties.json文件时,未正确定义defines项目而造成的,这里的网友提供了在windows系统上的解决方案。大致就是把一个之前版本好用的defines复制到当前的c_cpp_properties.json文件中,并根据项目名称做必要的修正。

不过我的问题更特殊,因为我是在Linux上。。。

于是照着这个思路,找了一台安装了UE4.24的Linux,生成了一个VSCode的project,把它的c_cpp_properties.json文件中的defines部分复制过来,根据项目名称进行必要的修改,具体为:

  • UE_PROJECT_NAME 的赋值为项目名。
  • "<PROJECT_NAME_IN_CAPITAL>_VTABLE=DLLEXPORT_VTABLE""<PROJECT_NAME_IN_CAPITAL>_API=" 两处需要替换为项目名的 全大写 形式。

保存,然后观察intellisense的工作情况。在我的计算机上,VSCode可以找到所有头文件,并且能够进行正确的语法高亮、自动补全和定义显示了。

本机系统:
Ubuntu 20.04, UE4.25.4。
源系统:
Ubuntu 18.04, UE4.24.不知道。

defines的内容可以从这里获取。

又可以愉快的玩耍了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值