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
 VA_Update bug while relevant file have been change
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 02 2012 :  01:09:24 AM  Show Profile  Reply with Quote
The XList is a template-list class. In File <Xlist.h>
template<class Type>
class XList {
 //...
  void SortAndCompress();
}

Changed The function signature.
class XList {
 //...
  BOOLSortAndCompress();
}

In the project cpp file,

Even I click the function-reference,Goto Xlist.h file,And Reparse it for times,The nagavite-info is Still the originl.
bug?




Creation come from persist!

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 02 2012 :  6:55:35 PM  Show Profile  Reply with Quote
Is this xlist.h some kind of system header? Visual Assist reparse system headers infrequenly for performance reasons as described here:

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

See "Stable versus Other Directories" section.

Edited by - accord on Nov 02 2012 6:57:26 PM
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 04 2012 :  12:57:03 AM  Show Profile  Reply with Quote
(1)
Xlist.h is not The system file,It's a header file contain a doubly linked list class-declear which I develop for my own use on another static-lib project.
Xlist.h not the file belongs the same project I current opened(which I found the bug),That file and the current project locate on E: Disk but different dir.

(2)
For consideration about the performance,to parse some files infrequently is right.As I have metioned the day before yesterday,I Alt+G + Reparse the Xlist.h File ,The Info is still not updated.
what;s the problem?

Creation come from persist!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 05 2012 :  8:05:57 PM  Show Profile  Reply with Quote
Which IDE and VA version are you using?
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 05 2012 :  9:05:11 PM  Show Profile  Reply with Quote
I saw VS2008 in an other thread so I will use that for my question.

Did you add the directory (where xlist.h is located) to an include directory list? If yes, is it on the global or project specific list? In other words:

Global includes:
Tools -> Options... -> Project and Solutions -> VC++ Directories (Include files)

Project specific includes:
Project -> (proj name) Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 06 2012 :  9:19:31 PM  Show Profile  Reply with Quote
The Xlist.h is locate in project specific list.
i.e
Project specific includes:
Project -> (proj name) Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories
But Not the Current project Directory.



And I have a test that if I put the Xlist.h file to the project Directory,If I change the Memeber function's signature,The reference can update synchronously.

VA 1918 IDE:vs2008 sp1

Creation come from persist!

Edited by - jzq740176597 on Nov 06 2012 9:30:55 PM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 07 2012 :  11:40:09 PM  Show Profile  Reply with Quote
Thank you for the explanation. Unfortunately I wasn't able to reproduce the problem.

1. Does it help if you enable the following option?
VA Options -> Performance -> Watch for externally modified files and reparse when necessary

If step 1 does not help:
2. Can you please try rebuilding your symbol databases to see if it makes any difference?
VA Options -> Performance -> Rebuild

If step 2 does not help:
3. You mentioned that xlist.h is in a different project which is not currently open. Does that mean it is in a different solution as well?
4. Can you please

  1. create a clean new win32 test project
  2. create a new header in a different directory
  3. put it to the additional include directories list
  4. restart VS so VA can apply the change
  4. include the file in a cpp
  5. press alt+g to jump to the header
  6. try to modify it
  7. is the change picked up by VA?

I used an extremely simple header file for my tests:

#pragma once

template <class T> class someclass
{
    bool foo();
    void bar();
};

I tried adding / removing parameters, etc. and the changes were picked up by VA. I am wondering what would you see with this deliberately simplified scenario.

Edited by - accord on Nov 07 2012 11:43:01 PM
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 08 2012 :  06:53:09 AM  Show Profile  Reply with Quote
Yes!I have try it!
1. create a clean new win32 test project
2. create a new header in a different directory
3. put it to the additional include directories list
4. restart VS so VA can apply the change
5....
And the changes were picked up by VA.
Thanks!

Creation come from persist!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 08 2012 :  6:11:57 PM  Show Profile  Reply with Quote
You mean even in your real project?
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 08 2012 :  8:39:42 PM  Show Profile  Reply with Quote
Yes,The project is not very small. Only <5 cpp and <6 h files.
I do the test use it.
And Right now, I have do the test use the original larger project.
The changes were picked up by VA.But It may need some time,I notice the function someclass::bar()(same as your class)which I change the signature,temporary become invalid(Red line under it) for a while.And after a press Reparse cmd in the current cpp file that refer the someclass::bar(),it's then successfully recognized.

And I test again ,Found that Reparse cmd in the current cpp is acquired,otherwise the refered someclass::bar(), is keep invalided.





Creation come from persist!

Edited by - jzq740176597 on Nov 08 2012 8:43:20 PM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 09 2012 :  5:39:40 PM  Show Profile  Reply with Quote
Can you confirm that which VS and VA versions are you using?
Are you using any other Visual Studio extensions?
How large is your file in lines that you're making modifications in?
What type of drive are you keeping the files on? Is it a "regular" drive or some kind of "virtual" or network drive?

One idea that might help is that can you please make a copy of your larger project and than just keep the solution and the project file? (.sln, .vcproj)? Delete the file references from it (using solution explorer), and start creating new files in an attempt to try reproducing the problem. My idea is that the problem might be related to the project or solution file or a setting in them. Maybe. This way, if you could reproduce the problem, would you please send it in, so maybe I would be able to reproduce the problem here?

Edited by - accord on Nov 09 2012 5:43:59 PM
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 11 2012 :  12:35:33 AM  Show Profile  Reply with Quote
quote:
Can you confirm that which VS and VA versions are you using?

VA 1918,VS2008 sp1
quote:
Are you using any other Visual Studio extensions?

no,I'm sure.
quote:
How large is your file in lines that you're making modifications in?

I's only a Test head file.have several lines only.
That's All:
#pragma once

template <class T> class someclass
{
public:
	bool foo(){return true;}
	void bar(){return;}
};

quote:
What type of drive are you keeping the files on? Is it a "regular" drive or some kind of "virtual" or network drive?

It's "regular" drive.
I has create a new console32 prj to do a test.
Found that:
First,I modi the prj's setting:
[Additional Include Directories]{ ..\\..\\mylib\\inc}
The Test header file:Header1.h is located in ..\\..\\mylib\\inc}.It's content is memtioned above(code block).
(1)I do the Test in Main cpp,When I first include "Header1.h",And put the caret on it,The negivate line is blank even a 1-2 min later.however,I manually Ctrl+o open the Header1.h and parse it.
Then the VA negivate bar dipslay the Header1.h file's path.Is bug?
(2)I change the member func void bar() to bool bar().
After wait a while,The VA may itself reparse the Heade1.h file,The negivate bar disp-info is really updated automatic.But a noticeable delay.May 1-2 minutes.My VA's settting in Performance section is all checked.

Creation come from persist!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 13 2012 :  2:28:42 PM  Show Profile  Reply with Quote
Can you please zip it up and send in your test project? 1-2 minutes sounds like way too much. It should more like 1-2 seconds. In not very large files, it should be around 1 sec.

You can use the following form to send files in:
http://www.wholetomato.com/support/contact.asp

Please paste the URL of this topic to the description field so we can match it up.
I will try reproducing the problem here.
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 14 2012 :  04:47:47 AM  Show Profile  Reply with Quote
The project zip has been sent.

Creation come from persist!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 14 2012 :  12:34:01 PM  Show Profile  Reply with Quote
1) In order for Visual Assist to pick up the new Additional Include Directories, you need to restart VS.
2) I got the test project, thank you. However, unfortunately, I wasn't able to reproduce the problem here using the test project.
Can you please export your Visual Assist and Visual Studio settings and then send them in?

To export VA settings:
VA Options -> Performance -> Export

VS:
Tools -> Import and Export Settings

Anyway, 1-2 minutes is a long time. Are you sure you didn't mean 1-2 seconds?
If you meant 1-2 minutes: what did you do before the changes has appeared on the navigation bar? (the void -> bool change) You were just waiting?
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 14 2012 :  7:03:24 PM  Show Profile  Reply with Quote
VA and IDE Setting have been sent.
quote:
Anyway, 1-2 minutes is a long time. Are you sure you didn't mean 1-2 seconds?
If you meant 1-2 minutes: what did you do before the changes has appeared on the navigation bar? (the void -> bool change) You were just waiting?

This morning I try it with VA_Test prj again.I do change (the void -> bool).and Save the change and press Reparse cmd for header1.h.
Then goto the cpp file.
The bar() is under redline.I wait 2 min(No other action but mouse-click text in text-editor),the redline is keep intact.
I must press Reparse cmd with the cpp,then the redline disappeared.The negavite bar is updated in the meantime.

Creation come from persist!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 16 2012 :  3:01:23 PM  Show Profile  Reply with Quote
Finally, I was able to reproduce the problem. Thank you for your patience!

case=62858
Go to Top of Page

jzq740176597
Tomato Guru

China
343 Posts

Posted - Nov 16 2012 :  8:00:36 PM  Show Profile  Reply with Quote
Wonderful!
I think VA is powerful now,The normal bug or sth have already been picked out.So the Rest bug may need our patience and insist.

Creation come from persist!
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Nov 07 2014 :  09:53:59 AM  Show Profile  Reply with Quote
case=62858 is fixed in build 2052
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