Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Find Sumbol: From current solution only
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Kinstewar
Junior Member

19 Posts

Posted - Oct 15 2018 :  07:04:21 AM  Show Profile  Reply with Quote
applies for C++

Most of the time I look for my own types(defined in my solution) in the Find Symbol dialog

So it would be better if "Show only symbols defined in current solution" checkbox shows a types only from a files that are included as project items as ignores all external dependencies.

feline
Whole Tomato Software

United Kingdom
17592 Posts

Posted - Oct 15 2018 :  11:34:12 AM  Show Profile  Reply with Quote
This is what the checkbox is supposed to be doing.

Can you give me an example of when this is not working for you? If I can understand where the unwanted symbol you are seeing is declared I can work out what is happening here for you.

zen is the art of being at one with the two'ness
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 15 2018 :  2:59:09 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

This is what the checkbox is supposed to be doing.

Can you give me an example of when this is not working for you? If I can understand where the unwanted symbol you are seeing is declared I can work out what is happening here for you.



Ok, for instance I have c++ project that uses boost lib so I have <boost> header included somewhere in my project files
and if I open Find Symbol dialog I can see boost classes as well my own even with that checkbox turned on

or in other words I do NOT want to see a classes of third-party components which my projects depend on
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 16 2018 :  05:16:05 AM  Show Profile  Reply with Quote




Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17592 Posts

Posted - Oct 16 2018 :  06:30:33 AM  Show Profile  Reply with Quote
Boost entries are being filtered out for me when I turn on this check box, so obviously there is something different about your configuration compared to mine.

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 particularly interested in your include directory settings.

Also, with all open files closed, can you please show VA's Open File in Solution dialog (Alt-Shift-O) and filter it for the file "is_array.hpp", which is the boost header that defines "boost::is_array", which is being shown in your screen shot. At least it is in Boost 1.66.0, so this should be the same on your system as well.

If the file is being listed in VA's Open File dialog, while the file is not open in the editor, then VA believes that this file is part of your current solution, so the check box in the Find Symbol dialog will not filter out symbols from these files. This would explain what you are seeing, but then we need to work out why VA thinks this is part of your solution.

zen is the art of being at one with the two'ness
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 16 2018 :  06:40:42 AM  Show Profile  Reply with Quote
License: barbar1an@mail.ru (Non-renewable Personal License) Support ends 2019.06.27
VA_X.dll file version 10.9.2291.5 built 2018.10.02
DevEnv.exe version 15.8.28010.2046 Community
msenv.dll version 15.0.28010.2041
Comctl32.dll version 6.10.7601.18837
Windows 7 6.1 Build 7601 Service Pack 1
4 processors (x86-64, WOW64)
Language info: 1251, 0x419

Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\Include\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\cppwinrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\winrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\UnitTest\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include;

Other Includes:

Stable Source Directories:
C:\Program Files (x86)\Windows Kits\10\Source\10.0.17134.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc;




take a look at this too:




Edited by - Kinstewar on Oct 16 2018 06:42:03 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17592 Posts

Posted - Oct 16 2018 :  09:21:59 AM  Show Profile  Reply with Quote
Can you please jump to one of the unwanted Boost entries in the Find Symbol dialog, and then post the full path of the file you are taken to? I know it says boost in the Find Symbol dialog, but I am not seeing any obvious signs of Boost listed in your include paths, so I am wondering if for some strange reason this Boost symbol is coming from an unexpected source.

To easily get the full path to the file, place the caret into a blank line outside any functions, so normally at the top or bottom of the file, and the file path and name is shown in the VA definition field, normally at the top of the editor window, and to the right of where the Alt-M list appears from.

zen is the art of being at one with the two'ness
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 16 2018 :  09:47:06 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Can you please jump to one of the unwanted Boost entries in the Find Symbol dialog, and then post the full path of the file you are taken to? I know it says boost in the Find Symbol dialog, but I am not seeing any obvious signs of Boost listed in your include paths, so I am wondering if for some strange reason this Boost symbol is coming from an unexpected source.

To easily get the full path to the file, place the caret into a blank line outside any functions, so normally at the top or bottom of the file, and the file path and name is shown in the VA definition field, normally at the top of the editor window, and to the right of where the Alt-M list appears from.



I can pick the path simply using a tooltip, does it work for you?



Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 16 2018 :  09:51:09 AM  Show Profile  Reply with Quote
Btw
I store <boost> as well as other libs in my solution dir under Lib/ subdir


Edited by - Kinstewar on Oct 16 2018 09:51:54 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17592 Posts

Posted - Oct 16 2018 :  10:42:18 AM  Show Profile  Reply with Quote
I think I see and understand now. There are no include directories for your 3rd party libraries, you are probably just including them with #include "" lines, not even using #include <> lines.

So while the files are not part of your solution, there is nothing here to tell VA that these are 3rd party libraries, and not actually part of your solution, and since the files are stored "below" your SLN file in the directory tree, they look like they are part of your solution.

Are you able to move your libraries to a directory next to your solution directory? So, for example, you end up with:

M:\Libs\boostM:\Uos\SOLUTION_NAME.SLN

now right click on your project inside the IDE, in the Solution Explorer window, and go into Properties.

In the properties pages dialog, set:

Project properties -> VC++ Directories -> Include Directories = M:\Libs\boost\;M:\Libs\OTHER_LIBRARY

and save the changes. Now the IDE knows to search for 3rd Library code in these directories, and VA will know that symbols found here are 3rd party library symbols, and are not part of the current solution.

As a bonus, Boost symbols will now be shown in italics if you are using the setting:

VA Options -> Coloring and Attributes -> Show stable symbols in italics

Please note you may need to press the button:

VA Options -> Performance -> Rebuild symbol databases

and restart the IDE before VA fully understands which symbols are part of the solution and which are not part of the solution.

zen is the art of being at one with the two'ness
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 16 2018 :  3:51:28 PM  Show Profile  Reply with Quote
quote:

Are you able to move your libraries to a directory next to your solution directory? So, for example, you end up with:



oh, this is not a good workaround, I prefer to keep dependencies inside of corresponding solution

Maybe you could add some settings which would allow to exclude some directories as symbol sources in the some of next builds?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17592 Posts

Posted - Oct 17 2018 :  09:35:37 AM  Show Profile  Reply with Quote
Do you only work on a single solution then? Shared 3rd party libraries make sense when you have more than one solution that can make use of them.

I have set up a simple test solution here, that has the same layout as you have. I am seeing the same problem, with all of these symbols being included in the find symbol dialog. My directory layout is as follows:

C:\src\cpp_boost_underneath\cpp_boost_underneath.SLN
C:\src\cpp_boost_underneath\cpp_boost_underneath\cpp_boost_underneath.cpp

C:\src\cpp_boost_underneath\boost_1_66_0C:\src\cpp_boost_underneath\boost_1_66_0\boost\array.hpp

I have gone into my solution properties, and edited the setting:

Project properties -> VC++ Directories -> Include Directories

to the new value:

$(IncludePath);C:\src\cpp_boost_underneath\boost_1_66_0

I then pressed the button:

VA Options -> Performance -> Rebuild symbol databases

and restarted the IDE. For me, VA now realises that this is a library directory, and these symbols are not part of the solution. It looks like this level of overlap is not a problem for VA. Can you please try the same change on your system? I have included these details so it should be easy for you to see which directory or directories to add to the Include Directories list.

zen is the art of being at one with the two'ness
Go to Top of Page

Kinstewar
Junior Member

19 Posts

Posted - Oct 17 2018 :  09:55:29 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline
Can you please try the same change on your system? I have included these details so it should be easy for you to see which directory or directories to add to the Include Directories list.



It works for me to and it's much better solution than previous one. Thanks!
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2021 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000