Author |
Topic |
|
DrEyeGore
New Member
USA
3 Posts |
Posted - Sep 22 2022 : 10:08:45 AM
|
Hello,
I've purchased 3 versions of visual assist over the last several years, and frankly, I don't see any evidence of improvement over the years. Additionally, as I use the software, it works correctly less and less over time, that is, it's workability is literally degrading in front of my eyes.
There are a myriad of problems working with Unreal Engine projects; a lot of false red lines, symbols don't appear in dropdowns, lambdas almost always full of red lines that are false, UE structs show TArray type suggestions when trying to access member vars... the list goes on.
Now, for some reason, over the last couple of months, my C# projects don't properly work either, there is white ink everywhere, esp enum values and class members. This used to be 'fixed' by closing the file (losing undo history on the file), but now, this has no effect.
(FYI, I can't for the life of me get the last image to show up. I have tried 4 times in 3 different formats, just imagine the same issues as above but with all my C# projects)
What the heck? I have changed nothing with regards to addons or other 3rd party extensions, or any changes to that effect and with every passing month, there are just more and more issues, that make working with VA now something I dread.
I've followed all suggestions available in these forums and elsewhere on the net, such as cache clearing, symbol database rebuilds, name it - I've tried it, at no small investment of time, but still, the workability degrades. Couple that with release notes that indicate a lot of things should be working, just don't, f.e. the red ink in c++ lambdas and white ink in c# projects.
I'm using VS2017 and VA 10.9.2451.0. I recently purchased a license again, but none of the issues I've ever had ever have been addressed by the newer versions.
Can anybody point me in the right direction to figure out how I can get it back to working when I had originally purchased it? At this point, I don't care about red-lined lambdas, but I really need all the C# functionality that was working, back to working.
Thanks! |
Edited by - DrEyeGore on Sep 22 2022 10:09:54 AM |
|
feline
Whole Tomato Software
United Kingdom
19054 Posts |
Posted - Sep 23 2022 : 05:40:36 AM
|
Can you give a simple example of the sort of problems you are having in C# projects? I realise this was what the image that doesn't work was supposed to do, but without seeing the image, I don't have anything to go on here.
For Unreal Engine, first up, have you enabled VA's Unreal Engine support in:
VA Options -> Unreal Engine
When working in Unreal Engine, do you have IDE intellisense enabled or disabled? This is normally disabled via:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> IntelliSense -> Disable IntelliSense = True
I ask since if IDE intellisense is Enabled then VA won't do any underlining in C++ code. So first up we need to work out if this underlining is coming from the IDE or from VA.
I see some italic symbols in your screen shots, but TArray is not being shown in italics, so something isn't working correctly here. Assuming you have VA's Unreal Engine support enabled, where is your Unreal Engine installed to?
There is a known limitation in VA, that it won�t correctly pick up the Unreal Engine directory tree if it installed outside of "C:\Program Files\", but there is a work around that we can use to work around this if it is installed somewhere else. |
zen is the art of being at one with the two'ness |
|
|
DrEyeGore
New Member
USA
3 Posts |
Posted - Sep 23 2022 : 11:33:14 AM
|
Hello Feline, thanks for your reply,
Perhaps it is not necessary to worry about the C# projects. Since my initial post, I've done a lot of cleaning of my VS caches and the like. I also removed all VA installation and files related to that, and did a complete reinstall. Additionally, I had VS 2019 installed, and I uninstalled it for purposes of trying to solve another unrelated issue. I also fully deleted and pulled all my projects back from source control, and deleting all .vs folders in my project directories. Not saying this had anything to do with it, nevertheless...
When I restarted VS and opened my C# project, the issue appeared to have persisted BUT when I used F12 to navigate to the definition, it opened the containing file. The text coloring was correct in that file, and when I re-focused the referencing file, the text coloring corrected itself. I did this with several more files. It appears that in opening all the files in the project caused the coloring to work properly.
I've attached a new image of the code I tried to upload, but it is correct now. As an aside, the image prior wasn't working because I used a '#' in the file name, which I think breaks the link...
This also seems to have cleared up the issues in the UE4 C# files. This build file was 80% white ink prior, now it's all correct:
For the UE side: UE support is Enabled Intellisense is Disabled
The UE engine IS installed to a different drive/folder than the system drive. So then perhaps the work around is warranted in order to get some of the other issues worked around.
Thanks!
|
Edited by - DrEyeGore on Sep 23 2022 12:36:39 PM |
|
|
feline
Whole Tomato Software
United Kingdom
19054 Posts |
Posted - Sep 26 2022 : 09:38:46 AM
|
A # in a URL is used to reference an anchor point I believe, so I can see how having this in a file name would cause problems.
Thank you for the update. It does sound like symbol databases, quite possibly for both VA and the IDE needed to be updated. In future, to update the VA symbol database, if you think VA isn't handling things well, you can simply use the button:
VA Options -> Performance -> Rebuild symbol databases
For Unreal Engine, yes, VA won't be handing Unreal Engine as well as it could.
To work around this problem can you please create a junction point link to point at the installed engine. So:
Create the directory "C:\Program Files\Epic Games\"
Open a command prompt inside this directory, running as administrator, and run the command:
mklink /J UE_4.27 "D:\UE4\4.27"
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 to update your project to use the new path, open the Unreal Engine editor via this junction point, so run:
C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor.exe
C:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\UnrealEditor.exe
and open your project. In Unreal Engine 4.x, use:
File menu -> Refresh Visual Studio Project
In Unreal Engine 5.x use:
Tools menu -> Refresh Visual Studio Project
this will update the project to use the "C:\Program Files\" path of the junction point for the location of Unreal Engine, which is what Visual Assist is expecting.
When you next open the solution in Visual Studio VA will reparse your UE install, but UE symbols in italic should work much more reliably. |
zen is the art of being at one with the two'ness |
|
|
DrEyeGore
New Member
USA
3 Posts |
Posted - Sep 27 2022 : 08:43:23 AM
|
Hello,
I've implemented the workaround, and it definitely changes as you mentioned, i.e. the italic TArray, UFUNCTION() type macros are now italic, and others.
Unfortunately, using the symlink seems to cause some build issues, one of the UE projects doesn't compile, and the packaging doesn't work either, because there seems to be some issues with some cmd type calls UE makes during this process.
This however, isn't your issue, so I'll keep working at that as time allows, or I'll set up another engine install on the C: drive; I can't right now, because the SDD I have currently doesn't have enough room to hold a UE source build.
One last note: during the process of using the symlink, the UBT was not able to set up the project because UE4Rules.dll is not loadable from remote (symlink) requests. I was able to fix that issue by setting the .NET configuration in 'machine.config' by adding the element
<loadFromRemoteSources enabled="true" />
For more information on that (as you probably already know) can be found on .NET doc site:
https://learn.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/dd409252(v=vs.100)
Note: the link doesn't post properly because of the '(' characters, but they are needed, so you may have to copy the full link there.
Thanks again for your help, I look back and see that my original post has maybe more acid in it than needs be, for that I apologize. For the last 10 years (possibly a little more...?), I've depended on VA as literally the most important tool I use on a daily basis.
So Thanks again for your help and time on that. |
|
|
feline
Whole Tomato Software
United Kingdom
19054 Posts |
Posted - Sep 28 2022 : 09:50:13 AM
|
I have never seen any problems doing this here, and you are the first person to report problems compiling when doing this, that's not a good feature for a work around! Thank you for the hints on working around these problems.
I don't use Unreal Engine directly, so my knowledge of it is very small and a bit random, but I did make sure that my simple compiling tests all worked when using the symbolic link, but obviously it doesn't handle some situations. Hopefully you can work around these problems fairly easily.
Obviously if you come across any problems with VA's UE support please do let us know, so we can try to address them. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|
|
|