T O P I C R E V I E W |
ML_Umberto_Carletti |
Posted - Jan 31 2025 : 06:16:42 AM Hi, I have a very big Unreal solution with many plugins. Without filters the symbols count is about 1.850.000. I am trying to reduce the symbol count using the .vscode/settings.json. I have ~180 pattern entries in the settings.json (mostly folder paths like "**/Engine/Source/Programs/**"). What I am noticing is:
1. The "Find Symbols" window is showing a reduced symbols count, but still showing some symbols from excluded patterns. It seems like it's still parsing all the symbols from .cs files from the excluded patterns (it matches **/Engine/Source/Programs/**/*.cs). When I try access those excluded symbols from this window, the source file is opened with a warning: "The file is excluded by a rule defined by .vscode/settings.json..."
What i would expect is that the symbol should not be shown at all in the "Find Symbol" window, but i would still be able to access the file if needed from visual studio without the annoying warning showing up all the time.
2. The "Open File in Solution" window is showing a reduced number of files but became very slow to load. It looks like it's parsing the files with the settings.json every time the window is opened. In this case I would expect that the window load faster for having less files included. Also in my opinion the solution still has those files in it and maybe should still show them in the "Open File in Solution" window. The filters should work only to exclude symbols, helping reducing the symbol count.
I'm using VA_X64 10.9.2530 2024.07.30 DevEnv.exe 17.12.35521.163 msenv.dll 17.0.35514.174
Thanks in advance |
4 L A T E S T R E P L I E S (Newest First) |
ML_Umberto_Carletti |
Posted - Feb 03 2025 : 03:19:02 AM Yes I'm also editing the engine. I'm using the latest engine version ue5.5. With this setup it's like the engine is considered as game code, thus not shown in italics.
I would like to bring to your attention the slow down when opening the "Open file in solution". I think you can reproduce with a solution with many plugins and third party programs (many files and folders). the filtering through settings.json really hit the speed when showing all the files. I assume the file list is not cached, and the parsing through the settings.json is done every time the window gets opened. with many files in the sln and many filters that becomes problematic...
Lastly I'd like to take the opportunity to ask if there is any chance you will be adding UnrealHeaderTool runtime pre compilation to check unreal error before actually compiling. That would be very cool.
Thank you for all the support |
feline |
Posted - Jan 31 2025 : 1:27:01 PM Are you actually editing the engine, or just the plugins?
We have made some big improvements to the parsing speed in recent builds, which helped Unreal Engine solutions a lot, but your solution, as you are aware, is a lot larger, so those changes aren't helping as much.
Which version of UE are you building? I am assuming its version 5 or later, but that's an assumption. It looks like the best way to test / reproduce this here is to download and build the source code. I did this before, but it was with the version 4 source code.
I am seeing the same problem here with symbols in .cs files being parsed and listed in the Find Symbol dialog. That's really surprising, since I have just double checked, and symbols defined in .h files are being excluded correctly when the code files containing them are being filtered out with the settings file:
case=165478 |
ML_Umberto_Carletti |
Posted - Jan 31 2025 : 08:50:24 AM Thank you for the quick reply.
> Index Unreal Engine plugins (requires restart) = None / Referenced / All
This is set to "Referenced". I need to reference the plugins because actively work with many of them. I just want to exclude some of those with settings.json. And it's working but not for the .cs files for some reason.
I have the whole engine within my project folder and i build it from source. Most of the files parsed are from the Engine. https://dev.epicgames.com/documentation/en-us/unreal-engine/building-unreal-engine-from-source this is the setup.
>turned On, is VA showing the UE symbols in italics? No, engine symbols are not Italics.
In C/C++ Directories under "Project defined" I have many path from the engine local to my project ex. "H:\<myproject>\Engine\Source\Runtime\RHI\Public", "H:\<myproject>\Engine\Plugins\<mylibrary>\Public". I am doing my test using "custom" and leaving the path list empty. |
feline |
Posted - Jan 31 2025 : 07:41:10 AM This is a LOT larger than any of my Unreal Engine test solutions. I am going to have to look for a larger test solution.
Is changing the setting:
VA Options -> Game Development -> Index Unreal Engine plugins (requires restart) = None / Referenced / All
an option for you? Assuming that you don't need VA to parse all of the plugins, this should help. If many of the plugins aren't referenced then this should have quite the effect.
Is the bulk of the code inside Unreal Engine and the plugins, or is it inside your game project?
Assuming you have:
VA Options -> Coloring and Attributes -> Show system symbols in italics
turned On, is VA showing the UE symbols in italics?
If you look at:
VA Options -> C/C++ Directories
do you have a long list of Unreal Engine directories listed under the stable include directory list? I am wondering if VA is picking up your UE solution as a UE solution properly. But even if it is, we might simply be running into a solution size problem here. |
|
|