Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 How to avoid unnecessary reparsing [UE4]
 New Topic  Reply to Topic
 Printer Friendly
Previous Page
Author Previous Topic Topic Next Topic
Page: of 2

OmegaNemesis28
Junior Member

USA
16 Posts

Posted - May 13 2022 :  12:38:47 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

I didn't expect the IDE's clang formatting to depend on the intellisense database, but indeed it does. That is a bit unhelpful, I assume that clang format has been merged into the IDE, rather than existing as a stand alone tool.

If you want to try disabling IDE intellisense, I have found this extension:

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat&ssr=false#overview

based on a couple of quick tests, it is picking up and using my ".clang-format" file without having to do anything, but it is using a different keyboard shortcut to trigger formatting by default than the IDE.

For plugin parsing, setting:

VA Options -> Projects and Files -> Upon opening a file, parse all other unparsed files in the same directory:
* if Solution is not empty

Since the plugins are split into directories, this will let VA parse one directory at a time, if the files have not already been parsed. Not ideal, but it should help.

Another thought, although it is rather manual, is to make a backup copy of VA's symbol database directory after VA has finished parsing everything, but before you have done much, so open the IDE, let VA's parsing finish, I am thinking over night here, then close the IDE and back up the directory. From the log file line above we know it is currently stored in:

c:\users\SomeUser\appdata\local\microsoft\visualstudio\16.0_ccada75a\extensions\xlb0fwhn.es0\Data\vs16_1
you could use a script to copy the database copy back across, and then load the IDE, so it gets done in "one" action.

A bit ugly, and I would love to get to the bottom of this corruption problem so you don't have to consider this, but it is a thought.



So I went ahead and disabled the intellisense database setting, and the issue still occurs. Possibly worse than before, VS crashed at least once. But otherwise, I just shutdown VS like normal.

Today I've had VSX reparse my solution 3 times today alone, over an hour of time lost waiting for it parse. I can't really be spending my time like this unfortunately, so I have to move on.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - May 13 2022 :  06:40:02 AM  Show Profile  Reply with Quote
All I can do is apologise again, but given the problems you are seeing, I can see why you have to move on.

I just hope that things go more smoothly for you in the future.

zen is the art of being at one with the two'ness
Go to Top of Page

Shambler
Senior Member

48 Posts

Posted - Aug 16 2022 :  6:31:03 PM  Show Profile  Reply with Quote
Just a bump to note that this is a perpetually recurring problem with VAX and it's a productivity killer. Between two instances of VS2022 with different UE projects, both databases for each project have managed to nuke themselves after fully generating, and are rebuilding from scratch - to the point that more CPU time has been spent rebuilding databases today than doing a full compile of UE.

Not really able to spend time trying to help debug this - there need to be a few things that future VAX versions sort out, though:
1: Databases must never be corruptible. Even if it means keeping an entire backup database. Even a single extra reparse of UE is too much wasted time/resources.
2: There needs to be a simple menu option to stop/resume parsing - as just turning off VAX is the only way to restore productivity sometimes.
3: Don't reparse during builds - have it automatically stop.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Aug 17 2022 :  06:57:13 AM  Show Profile  Reply with Quote
Firstly apologies for all of these problems. We are considering having VA parsing limit its self as much as possible, automatically, when you start building:

case=96201

You are not the first person to ask about a manual pause option, but this would clearly make a lot of difference when working with 2 Unreal Engine solutions at once, so I have put in a feature request for this:

case=148447

As for backing up the symbol database, I have also put in a feature request for this:

case=148446

Would you be interested if I tried to work out a couple of scripts to emulate this feature? I am thinking run a simple script to back up / zip, the current VA symbol database, and a second script to restore the most recent symbol database backup and then load the IDE once the backup has finished.

This would obviously be a manual process, but you could change the IDE shortcut to the restore and load script if this was an option you wanted to test out.

zen is the art of being at one with the two'ness
Go to Top of Page

Shambler
Senior Member

48 Posts

Posted - Aug 17 2022 :  09:50:24 AM  Show Profile  Reply with Quote
Thanks for submitting those cases, each of those would be a big help alright!

Sure yes, a script to backup the database would be a very big help, which I could integrate as a step in my workspace setup process - to be run after initial parsing is complete. I'd be more than happy to try that out, and report back if it helps me recover when parsing starts up again (though which is unpredictable as to when it may happen).
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Sep 07 2022 :  07:11:16 AM  Show Profile  Reply with Quote
Apologies for the delay in getting back to you about this, but I have just emailed you about this. I have a basic working script if you are interested in trying it.

case=148557

zen is the art of being at one with the two'ness
Go to Top of Page
Page: of 2 Previous Topic Topic Next Topic  
Previous Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000