Author |
Topic |
|
a__
New Member
6 Posts |
Posted - Oct 14 2020 : 2:24:00 PM
|
Hi there,
I have a problem with jumping selection in suggestion box while typing, here's my video of it: https://www.dropbox.com/s/zts7gfkvftut58x/a4.avi?dl=0 except that jumping that you see on the video for a moment happens for me on every key stroke (I wasn't able to capture it all the time on video probably because of the lower framerate of the video).
It looks like it first selects UParticleSystem and then jumps to UParticleSystemComponent all the time and it's super distracting and irritating. It happens both with and without IntelliSense turned on. Also IntelliSense suggestion box (without VA) doesn't jump like that in my case.
Visual Studio 15.9.9 Visual Assist 10.9.2389.0
Is there anything I can do?
Best regards, Tom |
Edited by - a__ on Oct 14 2020 2:25:25 PM |
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 15 2020 : 04:50:21 AM
|
Are you working with Unreal Engine? The class names suggest you are, but I want to be sure.
Can you please turn On:
VA Options -> Floating Buttons and Icons -> Denote content from Visual Assist with tomato icons
and see if tomato icons are applied to the icons in the listbox you see when you get this problem.
Do you get this problem with all listboxes, or only some of the time?
When you turn off IDE intellisense how are you doing this? One normal method is to set:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Database = True |
zen is the art of being at one with the two'ness |
|
|
a__
New Member
6 Posts |
Posted - Oct 15 2020 : 07:10:38 AM
|
Yes, I'm working with Unreal Engine. I already had `Denote content from Visual Assist with tomato icons` turned on, the tomato icon shows up only with some of the suggestions (those less relevant to I'm typing). I get this problem all the time on this specific case, I found this behavior to be the same on all cases where what I'm typing is contained in multiple classes in the beginning of their names and basically selection quickly jumps from the first to the last of exactly matching classes.
I'm turning off the IntelliSense by: IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable IntelliSense = true I also tried disabling the database per your suggestion but it doesn't help.
I also tried changing Source of C/C++ content in VA but it behavies the same on both options.
|
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 15 2020 : 07:40:09 AM
|
With the IDE intellisense disabled, as you have done with this IDE option, the VA source of intellisense won't have any effect, since the IDE intellisense is fully disabled. When the IDE does not create a listbox VA will step in and create one instead, so the result is the same as telling VA to create the listbox in the first place.
Which of the following options do you have turned On:
VA Options -> Enhanced Listboxes -> Shrink as you type VA Options -> Enhanced Listboxes -> Allow Acronyms and Shorthand VA Options -> Enhanced Listboxes -> Prefer Acronym matches
VA Options -> Enhanced Listboxes -> Bold non-inherited members VA Options -> Enhanced Listboxes -> List non-inherited entries first
I am guessing you have "Shrink as you type" turned Off since in the video the listbox scroll bar does not seem to change size.
Does turning On "Shrink as you type" and turning off any of the other options you have enabled make any difference?
Do you have Unreal Engine support enabled in:
VA Options -> Unreal Engine -> Enable support for Unreal Engine 4 When a solution contains a project named UE4 Always
and if so, are you seeing any sign that VA is properly understanding and helping with Unreal Engine? A quick way to check that VA is picking up Unreal Engine, assuming you have enabled support, is to look at:
VA Options -> C/C++ Directories
and see if there is a long list of directories in the stable include directories list. VA should add all of the sub-directories under your Unreal Engine install to this list if Unreal Engine support is working correctly. |
zen is the art of being at one with the two'ness |
|
|
a__
New Member
6 Posts |
Posted - Oct 15 2020 : 08:07:47 AM
|
VA Options -> Enhanced Listboxes -> Shrink as you type VA Options -> Enhanced Listboxes -> Allow Acronyms and Shorthand VA Options -> Enhanced Listboxes -> Prefer Acronym matches
VA Options -> Enhanced Listboxes -> Bold non-inherited members VA Options -> Enhanced Listboxes -> List non-inherited entries first
I had all those 5 turned off as I was trying to fix that jumpiness, restoring them to default (which is first 4 turned on) obviously doesn't help.
I have VA Options -> Unreal Engine -> Enable support for Unreal Engine 4 turned on, changing to Always doesn't help.
About the include directories list, none of the lists actually contained Unreal Engine sub-directories, only couple of Windows SDKs/VS paths so I pasted my paths from IntelliSense include paths into VA but the issue with the listbox still persists. I also restarted the VS because I thought maybe then VA would pick it up somehow but nothing changed. |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 15 2020 : 08:26:40 AM
|
This makes sense. VA not being properly aware of Unreal Engine should not be a factor for the jumping listbox, since I have never seen this happening like this on my Unreal test systems. I will come back to Unreal Engine support not working after we get to the bottom of the listbox.
Is this jumping listbox solution specific? If you create a new, default Unreal Engine game project, do you still see this problem?
Do you have any other extensions installed? I am wondering if there is some form of interaction problem with another extension going on here.
Assuming this is not a solution specific problem, can you please close all instances of the IDE and then run the command:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /RootSuffix VATest
this will create and load a new, default profile for Visual Studio, so you will be asked which basic settings you want to use, and you should only have the standard, default IDE extensions installed. Visual Assist will not be installed into this profile, so you will need to go into the dialog:
IDE tools menu -> Extensions and Updates...
and install Visual Assist from the online extension store, to install VA for this test profile.
To load your normal, default profile just load the IDE normally. To return to this test profile again, pass the /RootSuffix command line switch when loading the IDE. You can run both profiles at the same time, next to each other, but this tends to get confusing, so is normally best avoided. If you export your IDE settings from your main profile you can them import them into the test profile.
Do you see the same jumping listbox problem in this new default test profile? This will help us narrow down where to look for the trigger. If you don't see the problem can you please try exporting your IDE settings from your normal profile and importing them into this test profile, and see if this triggers the problem? |
zen is the art of being at one with the two'ness |
|
|
a__
New Member
6 Posts |
Posted - Oct 15 2020 : 1:42:49 PM
|
I tried disabling all extensions earlier, it didn't help. One thing that I would point out is that I created that fresh solution mentioned below from a standard compiled UE4 engine through Epic Launcher but my project that I have problem with is UE4 custom branch that is compiled from source and therefore that custom engine is not in "C:\Program Files\Epic Games\UE_xx" (that VA picks up in fresh solution) but rather in something like "D:\UnrealEngine". So I also tried fresh solution but created from that custom UE4 branch engine. Here's what I got while trying with new/old profiles/solutions, first one is initial pair of course.
normal profile + old solution (custom branch) -> error normal profile + fresh solution -> same error test profile + fresh solution -> working properly test profile with settings imported from normal profile + fresh solution -> working properly test profile with settings imported from normal profile + old solution (custom branch) -> same error test profile with settings imported from normal profile + fresh solution (custom branch) -> working properly normal profile + fresh solution (custom branch) -> same error
Additionally on fresh solutions on standard compiled UE4 engine VA seems to have properly recognized UE4 and have included UE4 paths. What's interesting is that no UE4 paths are added in VA for that fresh solution created by custom UE4 branch but there is no listbox jumping either and it works fine. |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 16 2020 : 08:00:22 AM
|
Interesting results, thank you, and a little unexpected.
It looks like getting VA to pick up your custom UE tree is the next sensible step. Reliably detecting Unreal Engine isn't quite as easy as it sounds, and currently VA is expecting the UE directory tree to be under "C:\Program Files\", which is something we are aware of and looking into:
case=105950
for now I have a work around that should help here.
First close all open instances of the IDE, and then open a Windows Command Prompt window inside the directory "C:\Program Files\Epic Games\", and then run the command:
mklink /J UE_4_custom "D:\UnrealEngine"
Where the second path is the directory where you have installed / placed Unreal Engine. This will create a directory link inside the Windows file system, so while Unreal Engine will appear to exist inside this Program Files sub-directory, is still where it was originally installed.
Now go into the directory that holds your game solution. From here you should find in the following files:
Intermediate\ProjectFiles\UE4.vcxproj Intermediate\ProjectFiles\UE4.vcxproj.filters
Open both files in a text editor, and do a search and replace for the old Unreal Engine path to the new Unreal Engine path, so in this case search
"D:\UnrealEngine\"
And turn all instances into:
"C:\Program Files\Epic Games\UE_4_custom\"
Save the changes and now reload the IDE and your solution.
At this point VA should be able to correctly pick up the Unreal Engine directories for your custom version of the engine.
As for the jumping, it almost sounds like there is a problem with VA's symbol database that is a factor. To test this theory can you please press the button:
VA Options -> Performance -> Rebuild symbol databases
and then restart your IDE, loading your normal profile and updated "old" solution. Does this make any difference? At the very least all of the sub-directories for Unreal Engine should now be listed correctly, using the C drive junction path that really points at D drive. |
zen is the art of being at one with the two'ness |
|
|
a__
New Member
6 Posts |
Posted - Oct 19 2020 : 07:52:10 AM
|
After your suggestions, paths still didn't appear in C/C++ directories even though I see on status bar VA is reading through that directory link while rebuilding symbol database. It also didn't alleviate listbox issue. |
|
|
a__
New Member
6 Posts |
Posted - Oct 19 2020 : 09:44:35 AM
|
Looks like I found the culprit. I looked into .vs folder and saw that it weights ~5GB which is the default value of Automatic Precompiled Header Cache Quota in IntelliSense settings. I increased it to 10GB, .vs grew to 6.6GB and the issue is gone. Before that I had refreshed the VC project from UE4 (File->Refresh Visual Studio 2017 project) which basically restored it to original state (which also restored original paths in UE4.vcxproj and UE4.vcxproj.filters, but it also still didn't make VA to list the directories) but I don't think that it would be the fix for the listbox issue. |
Edited by - a__ on Oct 19 2020 09:45:26 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 20 2020 : 05:43:41 AM
|
Thank you for the update. I have never had to change this IDE setting before, so I would not have thought to look here. It is good to know that this is something to watch for in the future.
For VA picking up your Unreal Engine directories, do you have:
VA Options -> Unreal Engine -> Enable support for Unreal Engine 4 When a solution contains a project named UE4 Always
set to? If VA support for Unreal Engine is not enabled then VA isn't going to look for the UE4 directories.
Assuming this is turned On, in your main game solution, do you have a project called UE4, or is the Unreal Engine project called something else? |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|
|
|