Author |
Topic |
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Feb 23 2017 : 06:08:06 AM
|
As seen on image those are choices which are given to me when I press ALT + G on Service keyword.
In fact it should jump directly to class declaration:
class Service : virtual public IService, public std::enable_shared_from_this<Service>
None of 3 choices given are correct class Service to which it should jump.
This is on fully build-able code after I have cleared VSAssist cache and rebuilt its symbol database.
|
Edited by - Filousov on Feb 23 2017 06:18:42 AM |
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Feb 23 2017 : 07:54:32 AM
|
VAssist info: License: [email protected] (11-user license) Support ends 2017.07.18 VA_X.dll file version 10.9.2118.0 built 2016.12.12 DevEnv.exe version 12.0.31101.0 Premium msenv.dll version 12.0.31101.0 Comctl32.dll version 6.10.7601.18837 Windows 7 6.1 Build 7601 Service Pack 1 12 processors (x86-64, WOW64) Language info: 1250, 0x405
Platform: Project defined Stable Includes: C:\Program Files (x86)\Windows Kits\8.1\Include\winrt; C:\Program Files (x86)\Windows Kits\8.1\Include\shared; C:\Program Files (x86)\Windows Kits\8.1\Include\um; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include; C:\Program Files (x86)\Visual Leak Detector\include;
Other Includes:
Stable Source Directories: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\atl; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfcm; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfc;
|
|
|
feline
Whole Tomato Software
United Kingdom
19071 Posts |
Posted - Feb 23 2017 : 2:58:01 PM
|
With a simple test case, this is working correctly for me here.
Can you please use Alt-Shift-S to show VA's Find Symbol dialog, and then search for ".service." without the double quotes, but with the dots. This does a full word search. Does VA know that there is a symbol with the full name "service" in your solution? You should see the class and its members?
If you look in the file where this class is declared, is the class shown in the Alt-M list and VA Outline correctly? I am trying to figure out if this is an Alt-g problem, or a VA does not know about the class problem. |
zen is the art of being at one with the two'ness |
|
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Feb 24 2017 : 03:59:29 AM
|
Doing Alt + Shift + S - this shows the Service is here - the correct one is listed under: NetworkCanvas.Service (NetworkCanvas being namespace)
There are 2 other Service classes without namespace which are listed and which it shows when I press ALT + G in the list. It looks like VAssist is not correctly including the namespaces inserted? The NetworkCanvas namespace is inserted by standard: using namespace NetworkCanvas; further above in the file.
If you look in the file where this class is declared, is the class shown in the Alt-M list and VA Outline correctly? Yes, the class is correctly shown.
|
|
|
feline
Whole Tomato Software
United Kingdom
19071 Posts |
Posted - Feb 24 2017 : 10:12:24 AM
|
I see now, and I am seeing the same problem here. Unfortunately this is currently a known bug with duplicate class names, where one class is in a namespace and one isn't, with using namespace:
case=27398
Alt-g on the function name may be more useful for now, or using the Find Symbol dialog to help you locate the correct class, since the namespace, or lack of namespace, will be clear here. |
zen is the art of being at one with the two'ness |
|
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Mar 21 2017 : 05:58:46 AM
|
When can this be expected to be fixed? |
|
|
feline
Whole Tomato Software
United Kingdom
19071 Posts |
Posted - Mar 21 2017 : 09:14:40 AM
|
Unfortunately I don't currently have an estimate on this, but it is in the list of things to be fixed, and we are aware of it and keeping an eye on it. Have you tried the Find Symbol dialog, to see if this helps at all? |
zen is the art of being at one with the two'ness |
|
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Mar 21 2017 : 09:41:02 AM
|
This is very unpractical solution with Find Symbol dialog. Better to jump to header from include.
What I and my colleagues from Ricardo (we have like 10 licenses) are interested in is a functional inteli-sense navigation tool at least when the code is 100% compile-able. That's why I'm spending my company valued time to report those bugs to you in hope that it can be fixed and both sides can benefit from it!
I could report more of those buggy behaviors in future if I find that this is worth-wile spent time - e.g. bugs are fixed. |
Edited by - Filousov on Mar 21 2017 09:52:42 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19071 Posts |
Posted - Mar 21 2017 : 4:24:41 PM
|
Apologies, a bad suggestion.
Do the IDE commands:
Right click menu -> Go To Definition Right click menu -> Go To Declaration
work better for you in this situation? We do value and appreciate all bug fixes, and if you glance at the release notes you will see that we include plenty of bug fixes in each and every release. Some bugs are faster and easier to fix than others, which is part of what is considered when deciding the order to fix bugs in.
Sometimes I am able to provide useful workarounds for problems and bug reports, not always, but I do when I can. |
zen is the art of being at one with the two'ness |
|
|
Filousov
Junior Member
Czech Republic
10 Posts |
Posted - Mar 22 2017 : 07:33:45 AM
|
Yes, it's completely understandable. I know that the most core bug fixes are hardest.
But when core things work - namespaces and methods are in C++ since ever - it makes good impression for users. Like really adding the value of functional tool in rudimentary cases. And that's why we buy Visual Assist since we know that Visual studio inteli-sense doesn't work. |
|
|
feline
Whole Tomato Software
United Kingdom
19071 Posts |
Posted - Mar 23 2017 : 10:15:38 AM
|
We are aware that this is an important issue, and we are working to improve our parser, and how it handles more complex C++ code. Sometimes the IDE intellisense parser is able to be more helpful than VA's parser, while at other times our parser is more helpful.
Not a very helpful answer, since it is very vague, but jumping between the two parsers often helps when you run into code that one or the other struggles with. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|