**tl;dr **
go to Project>>“project_name” Properties>>NMake on the left sidebar>> put /Yu in the Additional Options under IntelliSense
Confirm then Visual Studio will start generating pre-compiled header file specifically for intellisense, and the file will be put under ipch folder within your project folder.
This will probably reduce the intellisense auto-complete response time (in a newly generated project) from 10+ seconds to about 1 second if you are modifying outside of any function, or 50ms if you are within a function.
Update:
Thank you, sparkie.
Note: the file can only be found if you build engine from source, and it’s in /Engine/Source/Programs/UnrealBuildTool/System/ folder
**
Why would this work?**
because every time you modify the source file,
intellisense will try to find the references made in your source by searching through all the paths provided.
This wouldn’t be a problem if you don’t have a lot of paths, but UE projects are HUGE (take a look at the Include Search Path above Additional Options),
it takes a lot of time to go through all of them.
However, since the library codes don’t change at all, so there is no reason to search through them every time you press ‘f’ in the text editor.
We can just make a pre-compiled header file with all the stable codes and let intellisense to use it as the reference.
by putting /Yu in the Additional Options, we tell intellisense to use the pre-compiled header file.
(and if there isn’t one, intellisense is smart enough to generate one itself)
If you want to know more orthis still doesn’t fix your problem, please see… yeah, you just read pass the links.
if your auto-complete member list simply doesn’t show at all,
you might accidentally turn it off.
Take a look at this post from Epic’s documentation about setting up Visual Studio
Here comes the long version, AKA my rant and the journey breaking through all the “solutions” found on teh interweb
Hi guys, I have been trying out UE4 for a month and decided to learn C++ about a week ago,
but my progress was hugely impeded by the slowness of Intellisense (10+ seconds for auto-complete’s memberlist to show up)
So I decided to fix the problem once and for all.
five days later…
“solutions” tried:
-
delete sdf database file or open new project- doesn’t work
-
move the Unreal Engine folder to ssd drive- doesn’t work
and i even downloaded and use process monitor to check the parsing speed
ssd and hdd took almost the same amount of time. I still don’t know why, but i observed that VCPkgsrv.exe (intellisense’s work item) spent most time on opening files, not on reading them,
so I guess this may be the reason?
3.reinstall unreal engine- doesn’t work
4.reinstall visual studio- doesn’t work
5.compile unreal engine from source- doesn’t work
and it took so god **** long.
6.update Windows- doesn’t work
7.reinstall windows AND unreal engine AND visual studio- doesn’t work
8.use Qtcreator instead- it works! sort of.
as suggested by wiki, implemented with AlphaN’s project generation tool.
It actually reduced the auto-complete time to almost instantly.
However, a lot of features I am used to couldn’t be found (like multi-edit and re-mapping cursor movement or delete keys)
but this will actually be a better solution if you like Qtcreator more.
Edit: forgot to mention, currently Qtcreator only works with VS2013. Just a heads up to save you from the WAHHHH!? experience I had.
9.use other text editors- i was too noob to make it work
tried to modify sublime text 3 and Atom to mimic intellisense’s functionality,
and some people suggested using Clang or Ctags could work,
but I was simply not skilled enough to do it.
10.Y U NO USE VAX!!!??
Documentation and information about Intellisense is scarce at best; most people from UE forum and stack overflow seemed to lost all the hope on intellisense,
and simply suggest newcomers to use Visual Assist X. I didn’t try it.
At first it was the money; two days in, it was the sunk-cost.
And now, here I am, spent enough time to buy myself more than one licenses if I was doing my real job.
So I decided to write this post to prevent other unfortunate souls like myself to waste more time on this thing.
If the /Yu still doesn’t fix your problem, or 1 second wait is still too long for you, I guess you really should try VAX,
I only heard(read) good things about it.
finally, from thetroubleshooting blog post by Andy Rich
Even though /Yu really reduce the response time to an acceptable range, I find that even if i use pch, intellisense will still search through all the engine codes’ include paths once when i modify the actor codes.
I have been tinkering with the /Yc /Yu settings all day, but I still can’t change this behavior, is this suppose to happen?
Also, I don’t really understand why it only takes 50ms to generate the memberlist within a function, but takes more than 1300ms to generate it outside.
Are there ways to further reduce the time?
FINAL finally,
I am new to UE, C++, and Visual Studio, so a lot of the stuff I write up there are just from documents I read and my own interpretations; there might be errors, so please correct me if you find one.
Thank you.