Author |
Topic |
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 15 2018 : 07:04:21 AM
|
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
19021 Posts |
Posted - Oct 15 2018 : 11:34:12 AM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 15 2018 : 2:59:09 PM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 16 2018 : 05:16:05 AM
|
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 16 2018 : 06:30:33 AM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 16 2018 : 06:40:42 AM
|
License: [email protected] (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 |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 16 2018 : 09:21:59 AM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 16 2018 : 09:47:06 AM
|
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?
|
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 16 2018 : 09:51:09 AM
|
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 |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 16 2018 : 10:42:18 AM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 16 2018 : 3:51:28 PM
|
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? |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 17 2018 : 09:35:37 AM
|
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 |
|
|
Kinstewar
Junior Member
19 Posts |
Posted - Oct 17 2018 : 09:55:29 AM
|
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! |
|
|
|
Topic |
|