Fixes for Marketplace(Linux) and VS Code intellisense fix

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

image

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

and also im in sync with 4.25 upstream branch so you can have my patches without any conflict.

Awesome, thanks for the info.

@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.

I don’t seem to be getting any issues with IntelliSense on 4.26 on Windows, are you still effected on Linux?

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:

"command": "
To
"command": "\"\"

in compileCommands_YourProjectName.json

This is really weird. I have a project using the Puzzle template and that project seems to work fine

But my other one with a blank project is not…

hmm…did the work around worked for you ? @DanM Also can you send me both project’s compileCommands_YourProjectName.json file…

Yes the workaround fixed the non-working project

Working: https://pastebin.com/WE1Jfz4P
Not working: https://pastebin.com/xTsKJjZ9

Vs Code dev has confirmed this as a bug… will post any useful information when it arrives @DanM till then this work around will come in handy !

Also the blog is now posted :+1: https://blog.gamedev.tv/ue4-marketplace-linux/

1 Like

@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

{   
    "C_Cpp.default.forcedInclude": [
         "${workspaceFolder}/Engine/Intermediate/Build/Win64/UE4Editor/Development/WindowsPlatformEditor/Definitions.WindowsPlatformEditor.h"
    ],
    "C_Cpp.default.includePath": [
        "${workspaceFolder}/Engine/Source/**",
        "${workspaceFolder}/Engine/Intermediate/**"
    ],
    "C_Cpp.default.browse.path": [
        "${workspaceFolder}/Engine/Source",
        "${workspaceFolder}/Engine/Intermediate"
    ]
}

On Linux this is similar just replace the forced include path to
Linux/UE4Development/ and soo on !

Also you can force include your project’s definitions.h which should be in your project’s source file both will work fine !

@DanM Can u test this on your system, as this is working for most people and only requires to be done once !

That doesn’t appear to be doing anything


image

Ok I will review this… However thanks for the video on UE4 4.26 fix… Also https://www.gamedev.tv/courses/learn-unreal-engine-c-developer-4-22-for-video-game-development/lectures/13675975 This is the lecture where it mentions of no marketplace on Linux and under resources a bullet mark has been left blank.
@sampattuzzi https://blog.gamedev.tv/ue4-marketplace-linux/ Here is the posted blog to link it in the resources of that lecture.

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.

At which timestamp in the video does Mikey mention this isn’t available?

Timestamp- 2:10 as soon as the initial slides end… @sampattuzzi

@DanM @sampattuzzi

Please check out our new extension created by boocs https://gist.github.com/boocs/f63a4878156295b6e854cac68672f305

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.

1 Like

They posted that on Udemy which I’ve been linking people.

I’ve also been following the VS Code issue and it seems the insiders channel of the extension has the fix in it?

Definitely considering putting this into the course as the stock answer.

Privacy & Terms