Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Overzealous #include autocomplete

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
Kirinyale Posted - Dec 22 2022 : 04:49:12 AM
One small thing which bugs me for years is that whenever I type #include <string> (or any other extensionless STL header), Visual Assist (native Intellisense is disabled in Visual Studio) is happy to quickly replace it with #include <string.h>, which is NOT what I wanted, and I have to fix it every single time.

I see two problems with that:

1) Suggestion selection algorithm for some reason either does not see the <string> header, or doesn't prefer the exact match.

2) My Visual Assist settings for "Enhanced Listboxes" are clearly and explicitly configured to commit selections with Tab and Enter, no "additional characters". And I even cleared the characters list in native Intellisense options, just in case. Why is this setting stubbornly ignored for #include, of all things?

I would really love someone to come around and finally fix this, or at least provide clearer / easier to find settings.
8   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Dec 23 2022 : 1:22:35 PM
We are working on fixing bugs with every release. Strange as it probably sounds, this isn't a bug that many of our users seem to have encountered. If I had to guess, I would say that using snippets helps them avoid it, but that's just a guess. Still, we do prioritise bugs that are effecting more users.

One possible work around, that might help, is using VA's Add Include command:

https://docs.wholetomato.com/default.asp?W177
Kirinyale Posted - Dec 23 2022 : 12:11:37 PM
Well, it's good to hear that an ages-old bug is known, but the whole point of my post is that sometimes someon needs to just fix such things :)
feline Posted - Dec 23 2022 : 11:22:17 AM
There is a known bug that the #include listboxes are working a bit differently to other listboxes, and unfortunately this means that they are not respecting the characters to complete the listbox with settings, which is why you are seeing this problem:

case=148033
feline Posted - Dec 23 2022 : 11:05:54 AM
I asked since you may have been using the default VA Snippets, which trigger on #in, and insert either

#include ""

or

#include <>

with the caret placed to start typing the include name, and the listbox should also appear before you start typing the file name. In this situation there is no need to type the > since it has already been inserted.

So you are typing all of this manually without the use of snippets? I automatically use the snippets by default, so this is what I am expecting, simply because it is what I do
Kirinyale Posted - Dec 23 2022 : 10:15:57 AM
As I wrote in the original post, I am simply typing the full line quickly: #include <string>
As soon as I hit the closing angle-bracket (>), the listbox gets autoconfirmed to whatever it decided to default to (sometimes it is even something else containing the word "string", but that only seems to happen if VA haven't finished indexing yet).
If I do pause to switch manually to what I want, it works as expected. However, as I also wrote, my VA settings are configured to only confirm listboxes by Enter or Tab, not by the closing bracket. For some reason, in this specific case, the setting is disregarded.
feline Posted - Dec 23 2022 : 10:08:27 AM
How are you closing / accepting the listbox?

If you make sure that "string" rather than "string.h" is the highlighted item in the listbox before closing / accepting the listbox, what gets entered into the file?

I am seeing the different icon here as well. Icons are normally assigned based on the file extension, so files without an extension present a bit of a challenge here.
Kirinyale Posted - Dec 23 2022 : 07:43:59 AM
Hello!
I've just double-checked, and <string> header is indeed in the listbox, right before <string.h> which is still auto-selected by default. The only difference is that <string> has a different icon (probably not recognizer as a proper header?).

Details from "copy info" below:

License: Named Network User / Standard (JDFK-GTNTHD-LWVUA8-3BND) Support ends 2023.07.31
VA_X.dll file version 10.9.2463.0 built 2022.10.25
DevEnv.exe version 16.11.32929.386 Professional
msenv.dll version 16.0.32413.511
Comctl32.dll version 6.10.19041.1110
Windows 10 10.0 21H2 Build 19044.2251
16 processors (x86-64, WOW64)
Language info: 1252, 0x409

Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\UnitTest\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\include;

Other Includes:

Stable Source Directories:
C:\Program Files (x86)\Windows Kits\10\Source\10.0.17763.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\src;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.25.28610\atlmfc\src\mfc;
feline Posted - Dec 23 2022 : 07:24:13 AM
At a guess, since so far I cannot reproduce this problem, the fact that the "string" entry isn't in the listbox is probably the root problem here.

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. More importantly it will show me your VA stable include directories. Since these are used when locating these STL header files, they may be important.

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000