Author |
Topic |
|
BigHands
Senior Member
28 Posts |
Posted - Sep 30 2009 : 2:01:53 PM
|
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
|
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. |
|
|
BigHands
Senior Member
28 Posts |
Posted - Oct 05 2009 : 09:14:54 AM
|
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.
|
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Oct 05 2009 : 4:04:56 PM
|
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? |
|
|
BigHands
Senior Member
28 Posts |
Posted - Oct 08 2009 : 10:32:51 AM
|
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 |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Oct 08 2009 : 3:30:41 PM
|
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 |
|
|
BigHands
Senior Member
28 Posts |
Posted - Oct 19 2009 : 07:49:41 AM
|
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. |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Oct 19 2009 : 4:42:35 PM
|
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 |
|
|
|
Topic |
|