Author |
Topic |
|
MACWILL
New Member
5 Posts |
Posted - Jul 04 2006 : 09:16:28 AM
|
Hello,
I am having a problem with the newest beta builds. My GoTo implementation doesn't fully work.
It works for classes, defines, and it works from the implementation to the declaration but I can not go from the declaration (*.h) to the implementation (*.cpp) for methods.
Does anyone have any ideas?? This worked fine with version 1524.
I use this feature about a million times a day so not having it is really slowing me down.
Thanks a million
M.C.
P.S. The Visual Studio native "Go to definition" still works.
|
|
MACWILL
New Member
5 Posts |
Posted - Jul 04 2006 : 09:40:59 AM
|
Ok,
I may have posted a little early.
It turns out that once I edit the *.cpp file and resave it it can than find the implemetation.
Is there a way to force it to reparse all the files without editing them.
I am working on a very large project with source control.
Thanks
Marc |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Jul 04 2006 : 7:11:41 PM
|
are the files all in the project? if you look in OFIW are the files listed?
there was a recent change to how alt-g works which may be the cause of this, but one of the things it was supposed to address was incorrectly remembering files that are NOT members of the project / solution. |
zen is the art of being at one with the two'ness |
|
|
MACWILL
New Member
5 Posts |
Posted - Jul 06 2006 : 1:14:20 PM
|
Thanks feline,
BUT yes all files are in the project. there are several projects in the solution. All files are also listed in the OFIW window.
Again once I edit the cpp file everything works for that file.
Can you force a re parse? Is it because when I upgraded all the file are marked as read only? (source contro)
Thanks for the help |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Jul 06 2006 : 6:48:26 PM
|
you should not be having these problems, for what that's worth.
have you tried the rebuild:
VA Options -> Performance -> General -> Rebuild symbol databases
this could take a little while on a large project, but it might fix the problem. you can tell VA to re-parse the current file, but that is a file by file process, which is not what we need here.
which IDE are you using? |
zen is the art of being at one with the two'ness |
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 04 2006 : 04:50:05 AM
|
I am having exactly the same problem. "Goto implementation" works only one way, and that is implementation to declaration, and not vise versa. In other words, "Goto implementation" only works from cpp to h, and not the other way around This happens both in build 1533 and in 1532.
VA_X.dll file version 10.3.1533.0 built 2006.08.23 VAOpsWin.dll version 1.3.3.6 VATE.dll version 1.0.5.8 MSDev.exe version 6.0.9782.2 Devshl.dll version 6.0.9782.0 Devedit.pkg version 6.0.9782.0 Font: Courier New 13(Pixels) Comctl32.dll version 5.82.2800.1106 Windows XP 5.1 Build 2600 Service Pack 1 2 processors
|
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 04 2006 : 10:10:10 AM
|
I rechecked the 14* version. "Goto implementation" works there like a charm. In both builds 1438 & 1446, whenever I open an h file, and push the "goto implementation" on any function, the corresponding cpp implementation is found.
The refactoring stuff is excellent, but losing the old capabilities is too big a price to pay
Any input is welcome, thanks.
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Sep 04 2006 : 6:11:56 PM
|
i have just tried this on two different machines, both running VC6 with VA 1534, and using the same workspace. one machine is a single core win2k machine and the other is a dual core winXP machine. alt-g is jumping back and forward between the .cpp and .h files perfectly happily for me on both machines.
does this fail in all of the cases you have tried? does alt-o work correctly? i am wondering if there is something "odd" about the location of the files, which means VA is having problems finding them.
if you look in OFIW (ALT-SHIFT-o) are both the cpp and header file listed? if you close both of them are they still listed? if not then they are not part of the workspace which might explain why VA is having problems finding them. |
zen is the art of being at one with the two'ness |
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 05 2006 : 06:22:43 AM
|
Thanks for the quick response
A) "Goto implementation" from declaration to implementation works only if I reparse the cpp file. B) Alt-o works perfectly C) I have workspaces where the files are found under OFIW and workspaces where they aren't. In both cases alt-G works only one way. |
|
|
schoenherr
Tomato Guru
Germany
160 Posts |
Posted - Sep 05 2006 : 07:49:03 AM
|
i have the same problem here, but not for all files. as described above reparsing the cpp fixes the issue, but that's not really a workaround because we have to do the following steps in this case:
hit alt-g detect that alt-g didn't work hit alt-o select the reparse button hit alt-o hit alt-g
that would cost much time and i would be faster to use the class view. |
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 05 2006 : 08:42:11 AM
|
You can always record a macro which does all that,
Sub MakeGotoWork ExecuteCommand "VAssistXOpenCorrespondingHorCPP" ExecuteCommand "VAssistXReparseCurrentFile" ExecuteCommand "VAssistXOpenCorrespondingHorCPP" ExecuteCommand "VAssistXGotoImplementation" End Sub
But that is far from being a solution. |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Sep 05 2006 : 4:35:25 PM
|
having reparsed the cpp file does alt-g continue to work? or does it just stop working again after a while? when people run into this problem has the cpp file been edited since the IDE was opened? the obvious guess is yes, but i edit code and alt-g continues to work for me in VS2003 and VS2005.
can someone have a look in FSIW and see if the function is listed? it should be listed twice, once in the header file and once in the cpp file.
i am searching for clues here to be honest. |
zen is the art of being at one with the two'ness |
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 05 2006 : 5:38:24 PM
|
All, The problem is very easy to reproduce on my machine. I open a single instance of VC 6.0, open an h file (with or without openning a dsp/dsw which contains it). "Goto implementation" doesn't work from any declaration in any h files that I have checked. Note, that I am yet to open any cpp file, let alone edit it. When I open the matching cpp file, the goto works from any implementation in that cpp file to the matching declaration in the h file, but not the other way around. Only once I cause a manual reparsing of the cpp file (through editing it or the VAX command - "Reparse"), does the goto work from the h as well.
As far as the other questions are concerned, I'll have to check. Thanks.
|
|
|
schoenherr
Tomato Guru
Germany
160 Posts |
Posted - Sep 06 2006 : 05:36:43 AM
|
hello feline, initialy (on a new opened workspace) alt-g works fine for me. after working for some hours in most files alt-g is not working, regardless if this file was modified or not. i just noticed that at least today at the time i noticed that alt-g is not working i also had to notice that OFIW only shows files contained in the project i was working on. it does'nt matter to change the active project, that means the list of files in OFIW does not change. (reparse the cpp fixes the alt-g issue but the file still isn't visible in OFIW) let me know if you think that the OFIW problem is unrelated and shoult go to an other thread.
/edit i forgot to mention that alt-g still works for the few files which are listed in OFIW |
Edited by - schoenherr on Sep 06 2006 05:37:53 AM |
|
|
endgame
Junior Member
21 Posts |
Posted - Sep 06 2006 : 11:03:33 AM
|
Ok, some more information. I found one workspace that VAX parses nicely and allows a fluent "Goto Implementation" in both directions for files contained in the workspace.
Two questions remain: 1) What's wrong with all the other workspaces which prevents them from "working". Note, that in VAX 14* versions, all the "bad" workspaces worked perfectly.
2) Files not included in the workspaces aren't handled properly. In older version of VAX it worked perfectly.
|
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Sep 06 2006 : 12:56:46 PM
|
I'm able to repro in vc6 with one of my projects. case=2394
|
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Sep 06 2006 : 11:43:43 PM
|
Is anyone continuing to experience this problem with build 1534? |
|
|
schoenherr
Tomato Guru
Germany
160 Posts |
Posted - Sep 07 2006 : 12:29:44 AM
|
hello sean, yes my reports in this thread are experiences from build 1534
/EDIT maybe it's worth to mention that closing the workspace fixes both issues (OFIW and alt-g) for some time. still no clues about the trigger. |
Edited by - schoenherr on Sep 07 2006 12:32:36 AM |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Sep 07 2006 : 12:34:26 AM
|
ok thanks - I'm no longer able to repro - it seems something is causing the symbol database to get munged but I'm not able to trigger it so far. |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Sep 08 2006 : 2:21:18 PM
|
We have an idea about this - will have some changes for case 2394 in the next build. |
|
|
d_p_robinson
Junior Member
United Kingdom
21 Posts |
Posted - Sep 13 2006 : 07:21:37 AM
|
I've got the same problem with 1534. I added some new files to the project (pairs of .cpp and .h files). OFIW shows both files, FSIW shows both symbols. This persists after closing and reopening the IDE and also after rebuilding the VAX database.
The solution turned out to be removing the namespace from the class showing the fault. The class definition was embedded in a namespace declaration and the declaration file included 'using namespace XXX' |
|
|
|
Topic |
|