Author |
Topic ![Next Topic Next Topic](icon_go_right.png) |
KRG
Senior Member
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
34 Posts |
Posted - Jan 30 2024 : 11:35:59 PM
|
Installing the 2511 update broke the "Add Include" option. Reverting back to 2508 fixes the issue. |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Jan 31 2024 : 07:24:03 AM
|
Was Add Include never being offered? Was it adding the wrong include?
Were you seeing this with standard Windows headers? 3rd partly library headers? Headers in your own solution?
Add Include is working correctly for standard windows headers so far for me, using VS2022 and VA 2511.0
I am going to set up some more tests, to see what results I get, but initially, this is not obviously broken for me. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
KRG
Senior Member
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
34 Posts |
Posted - Jan 31 2024 : 11:57:14 AM
|
The option was there except if you selected it, nothing happened.
Basically, it felt like the button did nothing. I tried clearing all the caches and rebuilding the VAX data.
It was for local headers directly within the solution. Navigation with alt-g still works for the type but the add include doesn't.
I am using intellisense as the source for VAX. |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 01 2024 : 10:29:49 AM
|
So far I cannot reproduce the problem. If you can try updating to VA 2511 again, and see the problem again, I am more than happy to work with you to try and get to the bottom of this problem.
It could simply be that my test cases so far are to simple, or there was something odd about the specific case where you ran into this problem. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
KRG
Senior Member
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
34 Posts |
Posted - Feb 01 2024 : 1:10:03 PM
|
I will try again at the end of my workday.
What set of steps would you like me to do to try to get you information on the issue? |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 02 2024 : 07:59:22 AM
|
I have been expanding my test cases, and have found a problem. If I am using a class from a different project, in the same solution, Alt-G works, and Add Include in the Alt-Shift-Q menu suggests the correct header, but it isn't entered.
Does this match what you remember?
So far no problems with any of my tests where the symbol comes from the same project. I am putting together some more tests, to see if I can find any more details about this problem. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 02 2024 : 12:13:08 PM
|
Based on my results so far, this fails when Add Include would add a #include "" statement with a path. If there is no need for a path, or there is a path but you will get a #include <> statement then it works correctly.
case=164134 |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
KRG
Senior Member
![](icon_star_green.gif) ![](icon_star_green.gif) ![](icon_star_green.gif)
USA
34 Posts |
Posted - Feb 02 2024 : 2:54:19 PM
|
yeh, this is the scenario, trying to include header from a different project in the same solution, the option is available but does nothing. |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 05 2024 : 07:11:59 AM
|
Thank you for the update, good to know that I am seeing the same problem. I have put this in as a high priority bug report, since this is a regression. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Chromega
New Member
![](icon_star_green.gif)
USA
2 Posts |
Posted - Feb 22 2024 : 12:02:58 PM
|
I'm getting the same behavior since switching to 2511. I'm able to click 'Add Include' but then nothing happens, no includes are actually added. The main difference compared to the above reports is that my includes are in the same project - MyGame/A.cpp does not add the MyGame/B.h header when I'd expect it to. I'm working in my game project within the Unreal engine. I haven't tried to reproduce in an empty Unreal project but my project is pretty early on and simple. |
Mark |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 23 2024 : 07:24:58 AM
|
Which version of Visual Studio and Unreal Engine are you using?
Testing VS2022, VA 2511 and UE 5.3, Add Include is working for me on Unreal Engine types. It is generating overly long #include statements, but this is because UE 5.3 changes how the Visual Studio project is generated, removing some of the include directories, so we don't know that the shorter include paths are actually valid. I suspect this is working because UE is being treated as an external library, assuming VA's UE support is enabled and picking up your UE install correctly.
I have also just tested Add Include on a class name that is in the same directory, and Add Include works correctly for me there as well.
So I don't know why you would be seeing this behaviour.
Assuming you have:
VA Options -> Coloring and Attributes -> Show system symbols in italics
turned On, are the UE types being shown in italics for you? This is a simple test to see if VA is picking up your UE install correctly. It is possible that if it isn't, this is a factor. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 23 2024 : 09:08:38 AM
|
Add Include is broken for me too with Visual Studio 17.9.0 Preview 3 VA 2511 and a large-ish C++ only Solution. No Unreal Engine or similar, just plain C++ with boost and wxWidgets.
Here is an example: The symbol is wxDialog. It is shown with the red squiggly line. Alt-G and Shift-Alt-G work as expected. Shift-Alt-Q (quick actions) shows "Add include dialog.h" But clicking it does not do anything. The correct path would be <wx/dialog.h>
The settings under "Code Generation" don't seem to affect this bug. |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Riztazz
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
Poland
15 Posts |
Posted - Feb 25 2024 : 12:40:48 AM
|
I am seeing the same issue, C++ cmake project with vcpkg integration, VA_X_Setup2511_0, and below version of VS as well as add-ins. Video showcasing the issue: https://www.youtube.com/watch?v=pFM_ynAzFjE
Microsoft Visual Studio Community 2022
Version 17.8.2
VisualStudio.17.Release/17.8.2+34322.80
Microsoft .NET Framework
Version 4.8.09037
Installed Version: Community
Visual C++ 2022 00482-90000-00000-AA366
Microsoft Visual C++ 2022
ASP.NET and Web Tools 17.8.358.6298
ASP.NET and Web Tools
Azure App Service Tools v3.0.0 17.8.358.6298
Azure App Service Tools v3.0.0
Azure Functions and Web Jobs Tools 17.8.358.6298
Azure Functions and Web Jobs Tools
C# Tools 4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Cookiecutter 17.0.23262.1
Provides tools for finding, instantiating and customizing templates in cookiecutter format.
GitHub Copilot 1.156.0.0 (v1.156.0.0@82fafb995)
GitHub Copilot is an AI pair programmer that helps you write code faster and with less work.
GitHub Copilot Agent 1.156.0
Linux Core Dump Debugging 1.0.9.34309
Enables debugging of Linux core dumps.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Node.js Tools 1.5.50908.1 Commit Hash:c294679b821c4b8f7f9c6db3827b7655db80fc28
Adds support for developing and debugging Node.js apps in Visual Studio
NuGet Package Manager 6.8.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
Python - Profiling support 17.0.23262.1
Profiling support for Python projects.
Python with Pylance 17.0.23262.1
Provides IntelliSense, projects, templates, debugging, interactive windows, and other support for Python developers.
Razor (ASP.NET Core) 17.8.3.2353105+f0a326f3e15b2370371693a76fd379635387c74d
Provides languages services for ASP.NET Core Razor.
SQL Server Data Tools 17.8.119.0
Microsoft SQL Server Data Tools
Test Adapter for Boost.Test 1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.
Test Adapter for Google Test 1.0
Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.
TypeScript Tools 17.0.20920.2001
TypeScript Tools for Microsoft Visual Studio
Visual Assist 10.9.2511.0
For more information about Visual Assist, see the Whole Tomato Software website at http://www.WholeTomato.com. Copyright (c)1997-2023 Whole Tomato Software, LLC
Visual Basic Tools 4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual C++ for Cross Platform Mobile Development (Android) 15.0.34205.153
Visual C++ for Cross Platform Mobile Development (Android)
Visual C++ for Cross Platform Mobile Development (iOS) 15.0.34205.153
Visual C++ for Cross Platform Mobile Development (iOS)
Visual C++ for Linux Development 1.0.9.34309
Visual C++ for Linux Development
Visual F# Tools 17.8.0-beta.23475.2+10f956e631a1efc0f7f5e49c626c494cd32b1f50
Microsoft Visual F# Tools
Visual Studio File Histories VSHistory
Maintains the history of all files saved in Visual Studio
Visual Studio IntelliCode 2.2
AI-assisted development for Visual Studio.
VSColorOutput64 2022.2
Color output for build and debug windows - https://mike-ward.net/vscoloroutput
|
Edited by - Riztazz on Feb 25 2024 12:47:57 AM |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 26 2024 : 07:06:24 AM
|
hajokirchhoff, can you please go to:
VA Options -> System Info -> Copy Info
and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup. I am mostly interested in VA's stable include directory list. In my tests, using the C++ Boost library, which VA has included in the stable include directory list, Add Include is working correctly, since VA is adding a #include <> statement. So if VA understands it should be using a #include <> statement for the wxDialog library then I would expect Add Include to work for you, so O am puzzled by it not working.
Riztazz, what #include statement are you expecting? Is it a #include "" statement with a path? One without a path? Or a #include <> statement?
The bug I have been able to confirm and reproduce is that Add Include is failing to add a #include "" statement that requires a path. So if you are seeing a different problem then I would like to try and reproduce that problem here to study it. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 26 2024 : 07:21:34 AM
|
I think I am actually seeing the bug you have confirmed:
quote: Originally posted by feline The bug I have been able to confirm and reproduce is that Add Include is failing to add a #include "" statement that requires a path.
The reason is that I am using vcpkg in manifest mode to install wxWidgets. That means that the wxWidgets include files are not in the stable include directory list, since they can change from project to project.
vcpkg in manifest mode installs all packages to <project_root>/vcpkg_installed/.../include/package
My (current) wx includes are located in D:\users\kir\sources\myproject\vcpkg_installed\x64-windows-v143\x64-windows-v143\include\wx.
Manifest mode allows me to have different versions of the packages at the same time. So "myproject1" might still use boost 1.73 while "myproject2" might already use boost 1.84. Each has their own include paths.
And I wondered why VAssist always used quotes to include my wx and boost files :)
Might be a nice feature to be able to designate relative directories as "system" include paths and have VAssist generate <> for the includes. They wouldn't be "stable" of course, but VAssist would know that the includes there should use "<>".
Here is the info you requested. Note that `D:\Users\kir\vcpkg.iztinstalled\x64-windows\include;` is the include path for vcpkg in "classic" mode, which I am not using. It means having all packages in one place and not being able to have different versions of the same package at the same time.
License: Standard ([email protected] / MDFK-VPSEHD-LYX6KL-3BND) Support ends 2024.10.04 VA_X64.dll file version 10.9.2508.0 built 2023.11.24 DevEnv.exe version 17.9.34511.98 Community msenv.dll version 17.0.34511.75 Comctl32.dll version 6.10.22621.2506 Windows 11 11.0 23H2 Build 22631 24 processors (x86-64) Language info: 1252, 0x407
Platform: Project defined Stable Includes: C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um; C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt; C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt; C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared; C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\VS\UnitTest\include; C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\VS\include; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\atlmfc\include; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\include; C:\Program Files (x86)\Windows Kits\10\include; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\atlmfc\include; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\include; C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2018\include; D:\Users\kir\vcpkg.iztinstalled\x64-windows\include;
Other Includes:
Stable Source Directories: C:\Program Files (x86)\Windows Kits\10\Source\10.0.19041.0\ucrt; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\VS\src; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\crt\src; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\atlmfc\src\atl; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\atlmfc\src\mfcm; C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\atlmfc\src\mfc;
|
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 26 2024 : 09:31:48 AM
|
At the risk of asking a stupid question, why should these not be stable include directories? At least in this example, you are referring to 3rd party libraries, which is a good general definition of stable include directories ![](icon_smile.gif) |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 26 2024 : 09:53:30 AM
|
quote: Originally posted by feline
At the risk of asking a stupid question, why should these not be stable include directories? At least in this example, you are referring to 3rd party libraries, which is a good general definition of stable include directories ![](icon_smile.gif)
They should be, but how can VAssist detect that? From VAssist point of view so far they don't look any different than say "mylib/include".
VAssist does not pick up the stable directories from vcpkg in manifest mode. Only the systemwide stable directories, which include vcpkg from classic mode.
The usual "stable" directories all reside outside my projects worktree. For example
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.39.33428\include;
C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2018\include;
D:\Users\kir\vcpkg.iztinstalled\x64-windows\include;
But the ones installed by vcpkg in manifest mode are inside my projects worktree.
Assume I have two projects, A and B, located at C:\Users\kir\sources\A and .\sources\B.
The stable includes for project A reside in C:\Users\kir\sources\A\vcpkg_installed...\include\wx while the stable includes for project B would be located at
C:\Users\kir\sources\B\vcpkg_installed...\include\wx
They are "stable" on a per-project basis. I guess, if VAssist would parse the entire MS build properties, it would pick up the vcpkg-manifest directories as well. But so far it doesn't.
BTW, if you want to experiment with vcpkg and have a Visual Studio installation, simply add this content as "vcpkg-json" to your Visual Studio projects:
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "testproject",
"dependencies": [
{ "name": "wxwidgets", "version>=": "3.0.0" }
]
}
The file usually resides in the root of the project. This will tell Visual Studio to call vcpkg to install a wxWidgets version of at least "3.0.0" to this and only this project. This is different from the "vcpkg install wxwidgets" command line.
Same with boost, obviously.
It'd be great, if VAssist would detect these vcpkg directories and assume them as stable as well :) |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 26 2024 : 10:49:33 AM
|
Ah, thank you for explaining. Yes, VA doesn't like having the stable include directories overlap with the project directories, since we assume they should not overlap. So trying to make these stable include directories isn't ideal.
I assume we cannot just go with any directory included via this method should use #include <> since that seems far to simple. Or is it actually that simple? |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 26 2024 : 11:36:34 AM
|
It should be that simple.
Everything under `.\vcpkg_installed` (or actually under the vcpkg_installed property in the MSBuild properties) can and should be considered stable and even should take precedence over the system wide directories.
Basically, vcpkg in manifest mode installs a complete and isolated build environment in this subdirectory. Each and every port goes in there and only there. It's like the "systemwide" include paths, except that these are not "systemwide" but "projectwide" and specific to the packages consumed from the vcpkg.json. Its kind of a project dependend build environment.
I find vcpkg in manifest mode to be one of the most exiting new tools for the C++ ecosystem in the past few years. It has never been easier for me to download, build, install and use many many different great libraries for my projects, from boost, OpenCL FFT and BLAS, opencv, wxWidgets (or Qt) and more.
Even llvm is available as a vcpkg port.
And its all cross-platform. And the best part for me is that I can have different versions per project. I highly recommend it.
Just add "name": "llvm" to your vcpkg.json file, hit F7 (build) and wait a while and you'll have llvm for your project. |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Chromega
New Member
![](icon_star_green.gif)
USA
2 Posts |
Posted - Feb 26 2024 : 12:40:51 PM
|
I'm also using VS2022, VA 2511 and UE 5.3.
Though if I look at a basic unreal type, say FName, it is NOT in italics (VA Options -> Coloring and Attributes -> Show system symbols in italics). So maybe that's a lead? Not sure what the best way is to troubleshoot this, it worked fine for me on VA 2508 with everything else unchanged. |
Mark |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Riztazz
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
Poland
15 Posts |
Posted - Feb 26 2024 : 10:30:36 PM
|
quote: Originally posted by feline
hajokirchhoff, can you please go to:
VA Options -> System Info -> Copy Info
and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup. I am mostly interested in VA's stable include directory list. In my tests, using the C++ Boost library, which VA has included in the stable include directory list, Add Include is working correctly, since VA is adding a #include <> statement. So if VA understands it should be using a #include <> statement for the wxDialog library then I would expect Add Include to work for you, so O am puzzled by it not working.
Riztazz, what #include statement are you expecting? Is it a #include "" statement with a path? One without a path? Or a #include <> statement?
The bug I have been able to confirm and reproduce is that Add Include is failing to add a #include "" statement that requires a path. So if you are seeing a different problem then I would like to try and reproduce that problem here to study it.
Hey, i just want to note that all of my libs are consumed via vcpkg in manifest mode like hajokirchhoff. We pull and bootstrap VCPKG as submodule On previous version i usually got something along the lines:
#include "../../vcpkg_installed/x64-windows/include/OGRE/OgrePrerequisites.h"
Which obviously wasn't ideal but not exactly hard to fix manually. Ideally it should be quote: #include <OGRE/OgrePrerequisites.h>
Our project structure is is very similar to the repo below in implementation, all in all it's just vcpkg in manifest mode but the vcpkg is pulled per project, not a global one https://github.com/miredirex/cmake-vcpkg-example |
Edited by - Riztazz on Feb 26 2024 10:52:45 PM |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 27 2024 : 08:08:49 AM
|
Chromega, Add Include is partly broken in VA 2511. It is working for me in this version, with VS2022 and UE 5.3, for UE types, but VA is also showing these UE types in italics for me.
Where do you have your UE tree 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\"
case=149208
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_5.3 "C:\UE5\5.3"
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 for UE 4.27 run:
C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor.exe
and for UE 5.3 run
C:\Program Files\Epic Games\UE_5.3\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.
At this point, once VA has finished parsing, UE symbols should show up in italics, and VA's Unreal Engine support should work better. This should, based on my experiences, also help with Add Include, at least for UE symbols. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Feb 27 2024 : 12:31:54 PM
|
Before I disappear down the vcpkg rabbit hole, is it reasonable to say that all headers included from one of these packages should be included with #include <> or is that to simple?
I am going to try and set up some simple tests here to see what results I get. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 27 2024 : 1:12:46 PM
|
quote: Originally posted by feline
Before I disappear down the vcpkg rabbit hole, is it reasonable to say that all headers included from one of these packages should be included with #include <> or is that to simple?
I would think so. For me these files are just as stable as the std library.
vcpkg in manifest mode will run before any other project gets compiled and will install all ports to the vcpkg_installed directory and then leave that directory alone until you change the vcpkg.json file.
With my application, the vcpkg_installed directory gets populated immediately after a git clone and then never changes at all until I pull a new version of vcpkg.json.
BTW, the MSBuild property for that directory is $(_ZVcpkgCurrentInstalledDir).
More precisely: The root path for the include files is $(_ZVcpkgCurrentInstalledDir)\include for release configs and $(_ZVcpkgCurrentInstalledDir)\debug\include for debug builds. The subdirectories under .\vcpkg_installed are a bit confusing at first, but they include a redirection depending on the build variant (which is called triplet).
Send me a PM if you like. I'd be happy to help (we talked a while back, together with Nick Pena).
Regards Hajo |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Riztazz
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
Poland
15 Posts |
Posted - Feb 28 2024 : 05:12:28 AM
|
Probably worth mentioning that VCPKG_INSTALLED dir can be changeg, e.g:
"configurePresets": [
{
... stuff ...
"cacheVariables": {
"VCPKG_INSTALLED_DIR": "${sourceDir}/.build/vcpkg_installed" |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
hajokirchhoff
Ketchup Master
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
Germany
58 Posts |
Posted - Feb 28 2024 : 05:47:26 AM
|
... good point.
It can also be changed simply by passing a commandline argument: vcpkg --x-install-root=C:\Users\kir\source\repos\SignalSuite-vcpkg\vcpkg_installed\x64-windows-v143\\"
To find the actual value one would probably have to parse the MSBuild Properties or use msbuild.exe to find out the value of $(_ZVcpkgCurrentInstalledDir). |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
AlbanCarpool
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
14 Posts |
Posted - Mar 01 2024 : 04:11:32 AM
|
We are two in our company, also working with Unreal Engine, having the Add Include and somethime the Alt+G not working with version 2511. Reverting back to 2508 fixes the issue for us too. Our setup: VS2022, Unreal compiled version 5.3, VAssist 2511 (from 2024.1) |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Mar 01 2024 : 09:03:20 AM
|
AlbanCarpool, can I get any details about Alt-G not working please? This is NOT expected.
For Add Include, it seems to work if you have downloaded UE from the Epic Games Launcher, especially if VA is showing UE symbols in italics. If instead you have downloaded the source code from github and compiled it yourself then Add Include doesn't seem to be working for UE symbols.
But I think this is the first report of any problems with Alt-G, so any details you could provide about that problem would be most welcome, so I can try to reproduce the problem here and put in a bug report. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
dezmen
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
13 Posts |
Posted - Mar 04 2024 : 10:52:33 AM
|
Same issue here after updating to 2511. VS 2022 Community Edition 17.8.7 I don't use UE or anything like that, just C++ and some ordinary frameworks.
Not able to include simpliest includes that was working on 2508. For example, I've created header, in second cpp file added structure type and right-click Add Include, failed. Should be: #include "temp_str.h" No directories, sub directories, just simple header include path. Never failed that bad before, include button logic totally broken. |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
feline
Whole Tomato Software
![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif) ![](icon_star_red.gif)
United Kingdom
18915 Posts |
Posted - Mar 04 2024 : 12:45:17 PM
|
If you use Alt-G on the structure type, does VA know to go to the correct header file? If you use the refactoring context menu, Alt-Shift-Q, does VA show the correct file name in this menu, so you have "Add include temp_str.h" as a menu entry?
What you are seeing doesn't match the pattern I have seen here, so I am not sure why this is broken like this for you. The only thing I can think is that VA doesn't know about the new struct type yet, so it doesn't know what to include.
If you really are seeing Add Include fail to include a header in the same directory, are you able to reproduce this in a simple test project you would be able to send me, so I can try to reproduce it here? It would suggest the bug has another component that I have not yet been able to reproduce here. |
zen is the art of being at one with the two'ness |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
dezmen
Junior Member
![](icon_star_green.gif) ![](icon_star_green.gif)
13 Posts |
Posted - Mar 04 2024 : 2:23:05 PM
|
Yes, Alt-G jumps to structure header file, same as F12. I've even commented included header, Alt-G/F12 works fine, if I go to VA menu and click Add include - it just jumps to few lines up, like it added include, but it didn't actually add anything (ctrl+z reverts only my changes, so include never happened). Alt+Shift+Q shows correct name, but does not do anything, at most it just moves cursor few lines up.
2511 include option is broken, that's a fact :) 2502 and 2508 was good
p.s Tested my theory, cleared project .vs folder and started Visual Studio again, it re-indexed stuff. But, still bugged :)
|
Edited by - dezmen on Mar 04 2024 2:32:39 PM |
![Go to Top of Page Go to Top of Page](icon_go_up.png) |
|
Topic ![Next Topic Next Topic](icon_go_right.png) |
|