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
 Find References Out of Date
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

BigHands
Senior Member

28 Posts

Posted - Sep 30 2009 :  2:01:53 PM  Show Profile  Reply with Quote
I'm having an issue where "VA Find References Results" becomes out of date. If I search for a reference (or use the "Go" button), Visual Assist will take me to the wrong line number. I have to shut down my IDE and then restart it to get Visual Assist to update the reference locations.


I'm using Visual Studio 2008 Professional, and here's my VAX info:

VA_X.dll file version 10.5.1727.0 built 2009.06.12
Licensed to:
VA X: removed
DevEnv.exe version 9.0.30729.1
msenv.dll version 9.0.30729.1
Font: Courier New 12(Pixels)
Comctl32.dll version 6.0.2900.5512
Windows XP 5.1 Build 2600 S
2 processors (x86)

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Sep 30 2009 :  4:27:42 PM  Show Profile  Reply with Quote
VA distinguishes two type of directories: the stable directories come from

Tools -> Options... -> Project and Solutions -> VC++ directories

Directories come from here considered stable which means it rarely or never changes, so Visual Assist will not check the changes of the files in these directories for speed up things.

In contrast, VA will notice file changes in directories set in the

Project -> <projectname> Properties -> Configuration properties -> C/C++ -> General -> Additional include directories

editbox.

You can learn more about this here:

http://www.wholetomato.com/products/features/directories.asp

I guess your files in a directory which had been considered stable by Visual Assist, but this is only a guess, so let me know if this info will not help.
Go to Top of Page

BigHands
Senior Member

28 Posts

Posted - Oct 05 2009 :  09:14:54 AM  Show Profile  Reply with Quote
My stable directories are only the Win32 and DirectX SDK directories, and I'm not using any of them in this project.

I also don't have any additional include directories set. All the references that are out of date exist within my VS 2008 solution.

fun.h contains:
DoSomethingFun();

fun.cpp contains
DoSomethingFun(){}

boring.cpp contains a call to DoSomethingFun:
void DoSomethingBoring()
{
DoSomethingFun();
}

After working for a while in fun.cpp, if I do a VAX "Go" or "Find References" inside boring.cpp on DoSomethingFun(), it will take me to fun.cpp, but only to a wrong line number.

My solution (.sln) is extremely large with more than 75 projects and around 2 million lines of code.



Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Oct 05 2009 :  4:04:56 PM  Show Profile  Reply with Quote
What's the status of these options:

VA Options -> Performance -> Keep symbols in memory for fast response after Alt+Tab
VA Options -> Performance -> watch for externally modified files and reparse when necessary
VA Options -> Performance -> Parse all files when opening a project

Do you modify the files externally, or just from the IDE Editor?

Are these files on a Network drive, or on any other "virtual" drive?
Go to Top of Page

BigHands
Senior Member

28 Posts

Posted - Oct 08 2009 :  10:32:51 AM  Show Profile  Reply with Quote
quote:
Originally posted by accord
VA Options -> Performance -> Keep symbols in memory for fast response after Alt+Tab
VA Options -> Performance -> watch for externally modified files and reparse when necessary
VA Options -> Performance -> Parse all files when opening a project



Symbols in memory = on
Externally modified = off
Parse all = on

I'm only editing through Visual Studio 2008 and my project exists on my local hard drive.

Here's something else that just came up in a C# project I'm working on (it's pretty small with only one project and ~15,000 lines of code). My code looks like this:


TreeNode rootNode = new TreeNode();
rootNode.Nodes.Add(new TreeNode("foo"));


If I try to do a VAX -> Refactor -> Rename on rootNode, it doesn't find any occurrences of it. Doing a "Find References" on rootNode also doesn't display any results.

Note: I'm using the latest version of VAX -
VA_X.dll file version 10.5.1738.0 built 2009.10.01


Edited by - BigHands on Oct 08 2009 10:34:03 AM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Oct 08 2009 :  3:30:41 PM  Show Profile  Reply with Quote
I tried the same in a test project, and it worked for me, so there may be something that confuses VA parser.

Can you please try to turn on
VA Options -> Advanced -> Underlines -> Underline mistyped symbols using

to see if there are any underlined symbols around the file? (The underlines appear after you modify the file.)

About the other problem: can you please try to rebuild your symbol databases to see if this helps?

VA Options -> Performance -> Rebuild symbol databases
Go to Top of Page

BigHands
Senior Member

28 Posts

Posted - Oct 19 2009 :  07:49:41 AM  Show Profile  Reply with Quote
I wonder if this issue is somehow related to disk I/O? I noticed when I'm compiling/linking my large projects, Visual Assist pretty much stops working outside of syntax highlighting. It goes back to normal when the build is done.

How does Visual Assist reparse a local project C++ file when I make a change to it? It just seems like it's not reparsing some files and updating its symbol database.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Oct 19 2009 :  4:42:35 PM  Show Profile  Reply with Quote
VA reparses a file after you modify it and you stop typing. In a small file it takes 1 second, in larger files it takes a few seconds after you stop typing. When VA reparses a file it displays a VA X: Parsing <filename> string in the status bar.

Do you use any other Visual Studio plug-ins?
Do you use Visual Studio to build/compile your project or an another build system?

You can use

VAssistX -> Tools -> Reparse current file

to reparse a file manually. If Visual Assist cannot find some references, or the symbol itself like in your
quote:

TreeNode rootNode = new TreeNode();
rootNode.Nodes.Add(new TreeNode("foo"));


example, you can try a manual reparse to see if this helps. I'm wondering whether we are facing two separate problems or "the reparse does not happen" is the cause of both problems.

Edited by - accord on Oct 19 2009 4:44:32 PM
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000