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
 Goto Member not showing base class symbols
 New Topic  Reply to Topic
 Printer Friendly
Next Page
Author Previous Topic Topic Next Topic
Page: of 2

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Mar 29 2020 :  11:22:44 AM  Show Profile  Reply with Quote
Hi all :)

I'm using:
VS Community 2019
Visual Assist build 2366

In a class declaration for UE4 I have:

class PROJECTSEASHELL_API AGirlCharacter : public ACharacter
{
	GENERATED_BODY()


When I "Goto Member" on AGirlCharacter with "show symbols from base classes" ticked, it doesn't show symbols from base classes. If I "Goto Member" on ACharacter, it shows symbols from base classes just fine.

It's not a huge thing, just wondering why this is?

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Mar 30 2020 :  06:15:16 AM  Show Profile  Reply with Quote
Can you please place the caret into "AGirlCharacter" and press Alt-Shift-G for Goto Related, but this time look at the "Base classes" menu item. Is this menu item even in the goto related menu?

If so, which base classes, if any, are being shown?

Can you please try the same test on "ACharacter" and see what happens?

This simple class definition is working as expected here, for me, with the base classes members being shown in the goto member dialog.

Assuming you have:

VA Options -> Coloring and Attributes -> Show stable symbols in italics

turned On, are any Unreal Engine symbols being shown in italics for you? I am wondering if Unreal Engine support is working normally for you on this solution.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Mar 30 2020 :  2:46:29 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Can you please place the caret into "AGirlCharacter" and press Alt-Shift-G for Goto Related, but this time look at the "Base classes" menu item. Is this menu item even in the goto related menu?

If so, which base classes, if any, are being shown?

Can you please try the same test on "ACharacter" and see what happens?

This simple class definition is working as expected here, for me, with the base classes members being shown in the goto member dialog.

Assuming you have:

VA Options -> Coloring and Attributes -> Show stable symbols in italics

turned On, are any Unreal Engine symbols being shown in italics for you? I am wondering if Unreal Engine support is working normally for you on this solution.



Hi feline, thank you for the help :). VA is amazing and really makes things much better!
I did the tests you recommended and here are screenshots of my results.
I don't see any UE4 symbols in italics.

I also did these tests in another solution and had the same results.
Please let me know any further tests I can do :)

Thanks!
Dylan


































Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Mar 31 2020 :  05:57:09 AM  Show Profile  Reply with Quote
This is not what I am expecting to see, and is not what I am seeing here either. UPROPERTY should be being shown in italics for you, and also since VA understands the base classes for "AGirlCharacter" the members from the base classes should be being listed.

Do you have:

VA Options -> Unreal Engine -> Enable support for Unreal Engine 4

turned On or Off, and if it is turned On, is it set to always, or when the solution contains a project named UE4?

If you show Solution Explorer, does it contain the project "Engine" which contains the item "UE4" with the engine source code listed as child items?

If you look at:

VA Options -> C/C++ Directories

what do you see? I am expecting you to have the Platform set to "Project defined" and the list of include directories to include all of the Unreal Engine directories, so you should have a long list of directories here.

But since you are seeing something else, I am wondering if Unreal Engine support is enabled for you, or if it is not working correctly if not enabled.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Mar 31 2020 :  06:26:29 AM  Show Profile  Reply with Quote
Thank you feline! I'll test the above properly and let you know :)! Just off the top of my head for now, I know I went through one if the guides on wholetomato, and one of the options was to turn off default visual studio intellisense and only use the VA intellisense. I did this. Would this affect it?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Mar 31 2020 :  09:10:37 AM  Show Profile  Reply with Quote
Turning off IDE intellisense tends to make sense when working with Unreal Engine, simply because there is so much code to parse, and Unreal Engine is a little complex

But no, this should not have any effect here at all.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Mar 31 2020 :  11:09:49 AM  Show Profile  Reply with Quote
Thank you! Will do those tests as soon as I finish work :)
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 02 2020 :  03:40:11 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

This is not what I am expecting to see, and is not what I am seeing here either. UPROPERTY should be being shown in italics for you, and also since VA understands the base classes for "AGirlCharacter" the members from the base classes should be being listed.

Do you have:

VA Options -> Unreal Engine -> Enable support for Unreal Engine 4

turned On or Off, and if it is turned On, is it set to always, or when the solution contains a project named UE4?

If you show Solution Explorer, does it contain the project "Engine" which contains the item "UE4" with the engine source code listed as child items?

If you look at:

VA Options -> C/C++ Directories

what do you see? I am expecting you to have the Platform set to "Project defined" and the list of include directories to include all of the Unreal Engine directories, so you should have a long list of directories here.

But since you are seeing something else, I am wondering if Unreal Engine support is enabled for you, or if it is not working correctly if not enabled.



Hi feline, sorry for the delayed response.
Please let me know any further steps to troubleshoot this :)
Here are my findings:

















Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 02 2020 :  07:15:28 AM  Show Profile  Reply with Quote
OK, well this explains why VA is not handling Unreal Engine correctly, somehow we are not picking up that you are using Unreal.

How did you install Unreal Engine? Did you download and compile the source code from github, or did you download the editor via the Epic Launcher?

Which version of Unreal Engine are you working with?

What path is the Unreal Engine code installed to? Is this on your C drive, or another drive?

If you make a new, default C++ game project in the editor, and then load the IDE, does VA pick up the Unreal Engine directories in this project? I am wondering if this is a solution specific problem, or if it is always happening.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 02 2020 :  08:14:43 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

OK, well this explains why VA is not handling Unreal Engine correctly, somehow we are not picking up that you are using Unreal.

How did you install Unreal Engine? Did you download and compile the source code from github, or did you download the editor via the Epic Launcher?

Which version of Unreal Engine are you working with?

What path is the Unreal Engine code installed to? Is this on your C drive, or another drive?

If you make a new, default C++ game project in the editor, and then load the IDE, does VA pick up the Unreal Engine directories in this project? I am wondering if this is a solution specific problem, or if it is always happening.



Thanks Feline. The first batch of screenshots were from a compiled source version of ue 4.24.3-release from github.
I installed 4.24.3 from the Epic Launcher today and created a blank c++ project. I checked and had the same results with no base classes being shown as before. The last screenshots with the unlisted ue directories are from the launcher installed ue4.

The ue4 code from the previous screenshots was under D:/UnrealEngine. Maybe D:/ is not liked by Visual assist? I've deleted that for now to first get it working from the launcher just to start off with something more "out of the box and default". Once this is fixed I'll test with the source code compiled. I now have ue 4.24.3 installed from the launcher under D:/UE_4.24.

Please let me know what to test next :). I'm determined to get this working haha.
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 02 2020 :  2:38:06 PM  Show Profile  Reply with Quote
Ok just tested uninstalling ue completely and reinstalling 4.24.3 through the Launcher into C:\UE_4.24 and creating a Blank c++ project in C:\ue_proj\MyProject.
Same results. Thought it might be preferable to be on C:/ instead of D:/
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 03 2020 :  2:35:40 PM  Show Profile  Reply with Quote
Ok, I tried uninstalling Visual Studio 2019, reinstalling Visual Studio 2019, reinstalled Visual Assist. Same versions as above.
Created a fresh C++ Blank project. Created a ACharacter and AActor subclass. Same issue not showing Base class symbols in Goto Member unfortunately.

A few things I noticed which might help troubleshoot:
- When opening the new ue4 project, I saw VA parsing through C:/UE4.24.
- I then saw VA loading symbols, and some keywords turned italic, then un-italic
- I tried adding C:/UE4.24 to VA options->c++ directories->custom
This didn't fix anything. I then switched back to Project Defined and saw a whole bunch of C:/UE4.24 subdirs listed. Still same results.
Re-opened the same project, and the custom added C:/UE4.24 directories have been unlisted.

Thanks!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 04 2020 :  10:36:51 AM  Show Profile  Reply with Quote
To try and make a quicker and easier test, without having to uninstall and reinstall anything, can you first use Windows Explorer to create the folder:

C:\Program Files\Epic Games
now open a command prompt inside this folder, and use the command:

mklink /J UE_4.24 "C:\UE4.24"

this will generate a "junction", which is a file system shortcut for a sub-directory, so when you look into "C:\Program Files\Epic Games\" you are actually seeing and opening the files inside the directory "C:\UE4.24"

As if you had moved the Unreal Engine install to a new directory, but instant instead of slow.

Now to tell VA that this is where your test game lives, can you make sure all instances of the IDE have been closed, and then go to the directory that holds your new test game solution. From here you should find in the following sub-directory:

Intermediate\ProjectFiles\UE4.vcxproj

In this directory can you please open and edit the two files "UE4.vcxproj" and "UE4.vcxproj.filters", doing a search and replace for the Unreal Engine source path, so changing:

"C:\UE4.24\"

into:

"C:\Program Files\Epic Games\UE_4.24\"

and save out the changes. When you now load the solution in the IDE, is VA picking up the Unreal Engine directories and listing them in the project defined include directories list?

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 04 2020 :  11:37:21 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

To try and make a quicker and easier test, without having to uninstall and reinstall anything, can you first use Windows Explorer to create the folder:

C:\Program Files\Epic Games
now open a command prompt inside this folder, and use the command:

mklink /J UE_4.24 "C:\UE4.24"

this will generate a "junction", which is a file system shortcut for a sub-directory, so when you look into "C:\Program Files\Epic Games\" you are actually seeing and opening the files inside the directory "C:\UE4.24"

As if you had moved the Unreal Engine install to a new directory, but instant instead of slow.

Now to tell VA that this is where your test game lives, can you make sure all instances of the IDE have been closed, and then go to the directory that holds your new test game solution. From here you should find in the following sub-directory:

Intermediate\ProjectFiles\UE4.vcxproj

In this directory can you please open and edit the two files "UE4.vcxproj" and "UE4.vcxproj.filters", doing a search and replace for the Unreal Engine source path, so changing:

"C:\UE4.24\"

into:

"C:\Program Files\Epic Games\UE_4.24\"

and save out the changes. When you now load the solution in the IDE, is VA picking up the Unreal Engine directories and listing them in the project defined include directories list?




Thanks Feline! Ok I did all the above and I now see "C:\Program Files\Epic Games\UE_4.24\" dirs listed!
However I still get the same result for base classes at the moment.





















Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 04 2020 :  11:40:23 AM  Show Profile  Reply with Quote
I did notice in those 2 files that there were still relative paths to C:\UE_4.24, but I only replaced the absolute paths to point to the new location.
Should I replace those too?
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 04 2020 :  2:41:45 PM  Show Profile  Reply with Quote
Hi Feline, I tested replacing the relative paths too, and now I can see base class symbols for the subclass of ACharacter :)! Thank you!

Unfortunately now when I view "Goto members", it has 2 entries for each same symbol -> 1 for the C:\UE_4.24 and 1 for the C:\Program Files\epic Games\UE_4.24.
Do you know how to fix this? I see "Project defined->Source files" has the "C:\UE_4.24\" folders listed and "Project defined->System include files" has the "C:\Program Files\Epic Games\UE_4.24\" folders listed.

Also, the UPROPERTY keyword is not italicized as you mentioned near the beginning of this thread, which doesn't seem to affect anything, but would be nice to check on this.

What do you think causes the "c++ directories" issue?
Would I have to do this for each Solution?


Edited by - nofxboy1234 on Apr 04 2020 2:48:15 PM
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 05 2020 :  11:20:54 AM  Show Profile  Reply with Quote
I installed UE_4.23 alongside 4.24, but this time I installed it directly to C:/Program Files/Epic Games/ so it's next to the junction folder.
As you can see from the following screenshots, this fixed the doubling up of base class symbols shown in "Goto Member" of the parent class that was happening in the last test and the keywords you mentioned are now italicized.

But now the subclass "Goto Member" is not showing base class symbols haha. Getting closer!













Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 06 2020 :  11:46:55 AM  Show Profile  Reply with Quote
This looks normal and correct now, it is how my Unreal Engine systems and solutions look. But for me the members list of the derived class shows the inherited members as well.

What are you getting when you trigger Alt-Shift-G on AMyCharacter? Are any base classes listed in the "Base Classes" sub-menu?

Lets try this from another angle as well. Can you please trigger Find References on "BeginPlay()" in your AMyCharacter. Right click into Find References Results and make sure that you have turned On "Display inherited and overridden references" in the context menu. Are you getting more than one reference picked up?

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 06 2020 :  11:59:29 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

This looks normal and correct now, it is how my Unreal Engine systems and solutions look. But for me the members list of the derived class shows the inherited members as well.

What are you getting when you trigger Alt-Shift-G on AMyCharacter? Are any base classes listed in the "Base Classes" sub-menu?

Lets try this from another angle as well. Can you please trigger Find References on "BeginPlay()" in your AMyCharacter. Right click into Find References Results and make sure that you have turned On "Display inherited and overridden references" in the context menu. Are you getting more than one reference picked up?




Ok awesome :).
Here are my results:









Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 07 2020 :  11:41:21 AM  Show Profile  Reply with Quote
Everything is looking correct, you are getting the same results I am for these tests, except that the Goto Member dialog is listing the base class methods for me.

What happens if you trigger:

VAssistX -> Code Generation and Refactoring -> Implement Interface

on your derived class? I am wondering if you will get the same problem here or not.

Have you done a VA symbol database rebuild yet? Now that VA is finding Unreal Engine, I am wondering if this would help. It can just take a little while, since it causes VA to re-parse all of the Unreal Engine source code, and requires an IDE restart:

VA Options -> Performance -> Rebuild symbol databases

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 07 2020 :  12:40:46 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Everything is looking correct, you are getting the same results I am for these tests, except that the Goto Member dialog is listing the base class methods for me.

What happens if you trigger:

VAssistX -> Code Generation and Refactoring -> Implement Interface

on your derived class? I am wondering if you will get the same problem here or not.

Have you done a VA symbol database rebuild yet? Now that VA is finding Unreal Engine, I am wondering if this would help. It can just take a little while, since it causes VA to re-parse all of the Unreal Engine source code, and requires an IDE restart:

VA Options -> Performance -> Rebuild symbol databases



Hi Feline

Thanks, I did the tests. Here are the screenshots, starting with the derived class listed symbols and ending with
derived class listed symbols after the tests. Unfortunately, no change yet.

























Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 08 2020 :  08:07:45 AM  Show Profile  Reply with Quote
Thank you for the screen shots. Apart from the number of class members shown in ACharacter, I am seeing the same results here, except that AMyCharacter is listing all of the inherited members.

I am going to update my version of Unreal Engine, to match yours, and see if this makes any difference.

Also, if possible, would you be able to zip up your test game solution, just the game directory its self, without Unreal Engine, to keep it smaller? If so, and I can get a copy, I can try it here, and see if somehow the game solution its self is a factor.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 08 2020 :  08:23:27 AM  Show Profile  Reply with Quote
Thanks Feline, appreciate it! I'll post a google drive link here once uploaded.
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 08 2020 :  09:04:52 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Thank you for the screen shots. Apart from the number of class members shown in ACharacter, I am seeing the same results here, except that AMyCharacter is listing all of the inherited members.

I am going to update my version of Unreal Engine, to match yours, and see if this makes any difference.

Also, if possible, would you be able to zip up your test game solution, just the game directory its self, without Unreal Engine, to keep it smaller? If so, and I can get a copy, I can try it here, and see if somehow the game solution its self is a factor.



Here's the link, thank you!

https://drive.google.com/drive/folders/1KFVEkBfZkToJnWRBM3JONDmzOFMl2REe?usp=sharing
Go to Top of Page

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 11 2020 :  04:59:00 AM  Show Profile  Reply with Quote
Hi Feline, hope you're well :).
Have you had a chance to test the solution linked?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 15 2020 :  10:39:29 AM  Show Profile  Reply with Quote
Sorry for the delay on getting back to you about this. I do have your game project, and now that I have installed the right, matching version of Unreal Engine, I am seeing the same problem here with the class member list. I just don't understand it, but at least I can now study it, thank you for the project files.

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 15 2020 :  11:14:12 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Sorry for the delay on getting back to you about this. I do have your game project, and now that I have installed the right, matching version of Unreal Engine, I am seeing the same problem here with the class member list. I just don't understand it, but at least I can now study it, thank you for the project files.



No problem, thanks for looking into it :)! Yes it's so weird.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 21 2020 :  11:50:46 AM  Show Profile  Reply with Quote
Are you seeing any other problems with VA's understanding of Unreal Engine, or just this? I have managed to reproduce this in a couple of different situations, but I still cannot pin down the actual trigger.

case=142090

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 21 2020 :  12:05:19 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Are you seeing any other problems with VA's understanding of Unreal Engine, or just this? I have managed to reproduce this in a couple of different situations, but I still cannot pin down the actual trigger.

case=142090



Thanks Feline, no this is the only issue I've come across so far.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - Apr 21 2020 :  12:08:27 PM  Show Profile  Reply with Quote
That's good to know. Obviously please do let us know if / when you encounter any other issues, or just think of something more we can do to help

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

nofxboy1234
Senior Member

South Africa
27 Posts

Posted - Apr 21 2020 :  12:54:29 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

That's good to know. Obviously please do let us know if / when you encounter any other issues, or just think of something more we can do to help



Thanks so much, I really appreciate it :)!
Go to Top of Page
Page: of 2 Previous Topic Topic Next Topic  
Next Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000