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
 Technical Support
 Goto Implementation doesn't go to subdirectories
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

hwatson
Junior Member

23 Posts

Posted - Oct 19 2004 :  5:32:00 PM  Show Profile
In all of the beta builds I've tried (1272 and later), the Goto Implementation command doesn't work when the implementation is in a subdirectory of the main code folder. This works for me in build 1246.

The code in the subdirectories is getting parsed. I see it going through the subdirectories when opening the project, and the syntax coloring is correct. I've also tried manually parsing some of the files to see if that helps. It does not.

Goto Implementation appears to work fine otherwise. It finds code in the main folder and in external headers declared in the project settings, in both matched and mismatched .h/.cpp pairs.

I am using VS .NET 7.1 on Windows XP SP1. Except for SP2, all critical updates have been applied.

Has anyone else encountered this problem? Is there a workaround available?

support
Whole Tomato Software

5566 Posts

Posted - Oct 19 2004 :  7:10:37 PM  Show Profile
Read the following page and see if you can determine the reason VA X cannot find your implementations:

http://www.wholetomato.com/products/features/goto.html?more=yes
Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Oct 20 2004 :  2:27:29 PM  Show Profile
I checked the page you suggested, but there was nothing there that resolved the problem of Goto not working for code in subdirectories.

Goto: Clicking on the Goto button doesn't do anything. Occasionally there is a pause before the IDE becomes responsive again (perhaps while looking for implementations?), but usually it's as if the button simply has no behavior. The menu of locations does not appear.

Locating Implementations: I added the subfolders to both the Visual Studio project directories and the Visual Assist directories and rebuilt the symbol database. The Goto command still did not work. I should note that it is not just implementations that can't be found. It does not find declarations in header files either.

IDE Commands: I tried "Go To Definition" and "Go To Declaration" in the main project I'm working with, and a new test project I created to look into this problem. They did not work with my main project, but they did work with the new test project. Visual Assist's Goto command did not work for either project.

Key Binding: Key bindings for the Goto feature do not work either.

Options: Both the context and definition fields are visible and displaying the correct information.

To clarify, the Goto feature only fails to work when the declaration/implementation is in a subfolder of the main code folder. Goto works fine for code in other locations (the project directory or external folders specified in the IDE or Visual Assist's directory settings), and other Visual Assist features work with code in subdirectories. Syntax coloring, auto-complete, and auto-suggest work, and the context and definition fields are displaying info as expected. And once again, Goto does work for me in build 1246 when code is in subdirectories.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Oct 21 2004 :  1:45:33 PM  Show Profile
quote:
Clicking on the Goto button doesn't do anything.

This is expected behavior when a declaration cannot be found.
quote:
Occasionally there is a pause...

VA X builds a cache for this and the next searches.
quote:
I should note that it is not just implementations that can't be found. It does not find declarations in header files either.

We should note that adding locations for implementations does not help if VA X cannot find a declaration.

Are your headers and cpp files in the same subfolders? If different, what are the names of the subfolders?

Can you describe how your header is #included in your project?
Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Oct 21 2004 :  5:21:55 PM  Show Profile
I've tracked down the problem. The headers are being included as follows:

#include ".\\subfolder\\header.h"

(When .cpp files exist, they match the name of the .h file, and are in the same subfolder)

However, header.h is not actually included in the Visual Studio project. If header.h is added to the project, Goto Implementation works as expected.

So now I guess the question is, did previous versions of Visual Assist not need header.h added to the project by design, or by emergent behavior? If not by design, where do I submit feature requests?

Thanks for your help!
Go to Top of Page

mspa
Senior Member

Netherlands
44 Posts

Posted - Oct 22 2004 :  08:17:07 AM  Show Profile
I have a similar problem with the goto functionality. When I use goto on i.e. a function, normally (with build 1246) I received multiple hits for the implementation and header file, this way I could choose to go to the implementation of the funtion or to the declaration.
Now with the newest build (1272 - 1278) I only get hits in the header file and not the implementation file.

However my implementation and header files are located in different directories (source and include directory), This did work in build 1246.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Oct 30 2004 :  7:31:19 PM  Show Profile
We are unable to reproduce the problem with headers.

Can someone create a small, sample project that demonstrates a problem?
Go to Top of Page

mspa
Senior Member

Netherlands
44 Posts

Posted - Nov 01 2004 :  04:38:05 AM  Show Profile
I have a sample program ready which reproduces my problem, where can I send it to? because I can't supply an attachment with a post.
Go to Top of Page

WannabeeDeveloper
Tomato Guru

Germany
775 Posts

Posted - Nov 01 2004 :  04:46:51 AM  Show Profile
mail it to [email protected] with the Topic-ID (that's 3091 in this case)

Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Nov 01 2004 :  1:12:11 PM  Show Profile
Since mspa's problem sounds slightly different from mine, I will also send in a sample project. In the meantime, I have some more information about the problem. It appears that Goto will work for files that are not in the project, as long as a file that is in the project resides in the same subfolder.

// Assume this is in the .vcproj file
#include "subfolder1\\header1.h" // Goto works

// Same subfolder, but not in .vcproj file
#include "subfolder1\\header2.h" // Goto also works

// Different subfolder, not in .vcproj file
#include "subfolder2\\header3.h" // Goto does not work

Thanks for your continued help.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Nov 01 2004 :  6:31:52 PM  Show Profile
We broke something. VA X no longer finds implementations in ../Source, relative to the location of the header.

case=199
Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Nov 03 2004 :  1:19:55 PM  Show Profile
This has been fixed in 1283. Thanks!
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Topic Locked
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000