T O P I C R E V I E W |
Xerxsea |
Posted - Mar 15 2022 : 10:19:53 PM Hello I'm just starting on learning C++/WinRT and I'm trying to use VAX with it but it doesn't appear to be properly parsing the classes in the winRT namespace. Forgive me as i am very novice but to my understanding c++/WinRT is c++ 2017 so visual assist should work should it not?
EDIT: I cant seem to add the picture which shows this.
https://ibb.co/X5WB9K2
|
6 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - Mar 24 2022 : 07:56:40 AM You don't need to disable IDE intellisense when working with Unreal Engine, but most of our users do, partly due to the sheer size and thus parsing time required for Unreal Engine. Having both the IDE, which generally doesn't handle Unreal Engine so well, and VA parsing at the same time can be a considerable overhead.
If you want to disable IDE intellisense for a single solution you can try the following. Locate the SLN file for the solution where you want to disable IDE intellisense. Assuming the solution is called "UE_Simple_Game", so you have:
C:\code\UE_Simple_Game.SLN
look for:
C:\code\UE_Simple_Game\.vs\UE_Simple_Game\v15\Browse.VC.db
or just search for the file called "Browse.VC.db"
With all instances of the IDE closed, delete this file, and then replace it with a zero length file with the same name, and mark the file as read only.
Now when you open this solution the IDE should complain that the symbol database file cannot be written, and that IDE intellisense is disabled as a result.
Not quite as elegant as disabling IDE intellisense in the options dialog, but this is a solution specific approach that may well help you.
In general, if you have set the source of listboxes to be VA, via:
VA Options -> Enhanced Listboxes -> Source of C/C++ content: Default Intellisense
and VA cannot work out what to show in a listbox, we ask IDE intellisense what to show. Obviously this only works if IDE intellisense is enabled. |
Xerxsea |
Posted - Mar 23 2022 : 12:47:37 PM Yes that works for me now with those settings! Previously I had been using ue4 and everybody recommended disabling intellisense entirely. I did not realize there was a case where it was better to leave it on instead of the VAX symbol database!
Thank you for your assistance with this! It's been quick and right on the spot! Have a great week! |
feline |
Posted - Mar 22 2022 : 07:27:36 AM I have now set up basically the same solution you have in your screen shot, following the instructions here:
https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/get-started
I am testing with the settings:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Database = FALSE
VA Options -> Enhanced Listboxes -> Source of C/C++ content: Default Intellisense
all of the symbols that are not being suggested for you are being suggested quite happily for me, using VS2022 and VA 2443.0
Can you please check these two main settings, and see if you have the same or different settings to me please? |
Xerxsea |
Posted - Mar 21 2022 : 5:21:16 PM Okay so that definitely fixed the highlighting and I can now use alt G to find the appropriate header file. Visual assist is still not offering most auto complete suggestions however. This is all on Visual Studio 2022 by the way.
in the above example Syndication shows as a suggestion but SyndicationClient or SyndicationFeed does not. Neither does .RetrieveFeedAsync().
if I already have SyndicationFeed or Client written on the page then it will autocomplete in the next suggestions, but the same is not true with .RetrieveFeedAsync
init_Apartment() is suggested right off the bat though.
If they fix this would I need to buy another years subscription to get the fix? Visual Assist is turning out to be a bit of a let down if im being honest. |
feline |
Posted - Mar 17 2022 : 2:09:52 PM I have reproduced the problem in VS2019, and I assume this is the same problem you are seeing.
Strangely this bug only shows up on a built solution. In my test solution, called "Cpp_WinRT_Console", if I trigger a VA symbol database rebuild via:
VA Options -> Performance -> Rebuild symbol databases
then close the IDE, and then delete the following folders:
\Cpp_WinRT_Console\.vs \Cpp_WinRT_Console\Cpp_WinRT_Console\x64 \Cpp_WinRT_Console\packages \Cpp_WinRT_Console\x64
and reload the solution, after VA has finished parsing VA understands the namespace and code a lot better.
Can you please try the same test on your system and see if you get the same effect? Triggering a VA symbol database rebuild while the solution is built breaks the colouring again.
I have put in a bug report for this:
case=147953 |
feline |
Posted - Mar 17 2022 : 06:25:46 AM I would expect VA to handle this correctly.
This might be a stupid question, but how did you create your C++/WinRT project in VS2017? This page:
https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt#visual-studio-support-for-cwinrt-xaml-the-vsix-extension-and-the-nuget-package
says to install the WinRT extension, but that isn't available for VS2017, only for VS2019:
https://marketplace.visualstudio.com/items?itemName=CppWinRTTeam.cppwinrt101804264 |