I wanted to reach out to Mike and others @DanM for my work on these fixes:
The intellisense fix fixes the defines error not just for Linux but Windows and MacOS too. (The link mentions linux because it was originaly created for it)
Also Marketplace instructions for Linux. I wanted this to reach out to our great community on GameDev.tv as many have these common issue… pining this here or on the discord server, or mentioning in the course would be a great help ! As I have had these questions asked many times myself on our discord server and here !
Thanks for that though non-Linux people probably don’t want to build from source if they don’t have to.
I have added Linux defines to be added but apparently that has gone unchecked for a while
I’m hesitant to suggest using your patch as that means you aren’t in sync with upstream so would make “upgrading” instructions harder to those unfamiliar with git. Also with the soon to be released 4.26 which should have this issue fixed.
I’ll make an issue regarding the marketplace instructions, however.
Regarding unreal engine 4.26 I do have an upstream build of 4.26 that i pull everyday from Epic Games github and it also has its own issue with intellisense on all platforms which has a simple fix replacing (replace all)
"command": "
"command": "\"\"
in compileCommands_YourProjectName.json
In 4.26 they reworked the vscode intellisense so it will not fix the previous issue they re wrote whole intellisense for vscode with compile commands from scracth. But they have this bug which has been sent as a pull request but I am not sure it will get upstreamed… so its better not to get hopes too high for 4.26 fixing this, this work around may also need a video like 4.25 one, lets see if this fix get upstreamed till the final release I also have discussion with sean from vscode team if this is an upstream engine bug or a c++ extension bug… We are still investigating
@SHuRiKeN, can we put the marketplace instruction on our blog? We can link those from the course too. Please touch base with lucy@gamedev.tv to get you an account setup and she can walk you through creating the post.
Intellisense works nicely because compiler has been specified in the compilecommands file but many configurations dont have compiler specified in vscode and then it will fail to understand classes and will show false errors more than usual. This is an error of compileCommands_YourProjectName.json file. And this issue is on windows as well only if VS code is not aware of the compiler and tries to find it itself. Me and boocs are investigating https://github.com/boocs/compilecommands here is his github to understand more about the issue on Unreal 4.26
@DanM check your “command:”’ the compiler must be specified in your case but when it is not and vscode tries to find the compiler for you, you will get intellisense errors. On Linux vscode tries to find clang for example.
A quick fix is simply replace all:
@DanM we have got one more fix which is working for most of the people - This method will make intellisense to fallback to definitions instead of compile commands.
Inside the .vscode of the Unreal Engine directory… create settings.json if it doesnt exists.
copy paste
Also the 4.26 intellisense probably won’t be fixed anytime soon as Engine/Source/Programs/UnrealBuildTool/ProjectFiles doesn’t often get bug fixes or changes till the next major release. This is the path where project file generation is done for different IDEs.
This contains intellisense fixes for Unreal Engine 4.25, 4.26 and many different options. I am currently testing this for Linux and will include linux specific fixes (if any) as I do have access to the source code.