Fixes for Marketplace(Linux) and VS Code intellisense fix

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.

Yes workaround for missing compiler path has been added in 1.2.0-insiders2
But there was an upstream Unreal Engine commit as well: https://github.com/EpicGames/UnrealEngine/commit/c3785db9c96ac0790df09a6b184f2b1d7e8b6802
I am pulling this commit to see if it fixes it, if yes the fix should be in next Unreal Engine patch release as well.

Neither of these fixes are working for me on a Mac.

I’ve tried the find and replace method and creating a settings.json with the appropriate Mac hierarchy as suggested in this thread.

VSCode output console returns:

Unable to resolve configuration with compilerPath """cl.exe".  Using "/usr/bin/clang" instead.

Two quotation marks appear before the “cl.exe” where they weren’t before. The second method does nothing as far as I can tell.

Incidentally, I switched from Xcode to VSCode because I could not get code auto-complete to work there either.

Privacy & Terms