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
 VAX 1538: %TEMP% - Alt+G
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 13 2006 :  12:14:16 AM  Show Profile  Reply with Quote
Which one to choose here?


jpizzi
Tomato Guru

USA
642 Posts

Posted - Oct 13 2006 :  12:57:13 AM  Show Profile  Reply with Quote
I strongly suggest choosing the first one

Judging by the number of entries, this will be hard to reproduce in the short run. If you clean out your temp directory and try this again, what do you have to go through to get to start happening again?

Joe Pizzi
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 13 2006 :  09:06:37 AM  Show Profile  Reply with Quote
this remind's me of the SQL temp files:

http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5220

but this does not explain why the IDE (assuming it is the IDE) is placing these files into %TEMP%
are you seeing this problem with a lot of different classes, or only with a few specific classes / files?

do you use edit and continue for C#? I am trying to guess what might prompt the IDE to create temporary cs files.

zen is the art of being at one with the two'ness
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 13 2006 :  09:09:54 AM  Show Profile  Reply with Quote
Seems those temp files are created for project classes and for .net classes, I find occasionally both kinds there.
Edit and continue is enabled.
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 13 2006 :  09:16:53 AM  Show Profile  Reply with Quote
Go to Top of Page

sjaffe
Ketchup Master

USA
60 Posts

Posted - Oct 13 2006 :  10:42:43 AM  Show Profile  Reply with Quote
I believe I have more information on what is happening here. I am having the same problem. We are using Perforce for our revision control. When I diff versions of files, Perforce will create a temporary file(s) for the versions not currently on my local harddrive. These temporary files are placed in a directory called c:\\temp\\p4v\\<computer name>\\... Alt-G works normally until I diff a local file against a different revision in the Perforce archive. Perforce creates a temporary file to diff against my local file. After this, VAX will then list both the original (correct) local file and the temporary file when I press Alt-G for a symbol that is present in this (these) files. The result is a suggestion box with all the temp files that Perforce created when I had diffed the original file. Since I have the checkbox checked to only search files in my project, I don't understand why or how VAX is finding the temporary files. I am running VAX 1535 with eVC++ 4.0.

PLEASE HELP, THIS IS REALLY COMPROMISING THE USEFULNESS OF VAX FOR US.
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 13 2006 :  12:11:03 PM  Show Profile  Reply with Quote
Well, i am NOT using perforce, but VSS although i am not sure this makes a difference. The files seen in the first screenshot have never been checked in (not added yet) when I took the shot.
And I am really not having the time to find out which process/module created those files.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 13 2006 :  12:52:40 PM  Show Profile  Reply with Quote
I will ask, and see if anyone has any ideas on this. from this thread:

http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5434

see the post by Sean, VA is looking in the %TEMP% directory deliberately. I am not sure why, but I wonder if things like COM may be the reason.

sjaffe, doing a perforce diff here is placing a cpp file into the temp directory. I have had a look, but so far I cannot see any option in the P4V client to change the TEMP directory it uses. it would have been a nice workaround if there was one.

zen is the art of being at one with the two'ness
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 16 2006 :  2:15:22 PM  Show Profile  Reply with Quote
quote:
Originally posted by sjaffe

We are using Perforce for our revision control. When I diff versions of files, Perforce will create a temporary file(s) for the versions not currently on my local harddrive.


Can you try turning off:

VA Options -> Text Editor -> C/C++ -> watch for externally modified headers and reparse when necessary

and see if this helps?

zen is the art of being at one with the two'ness
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 16 2006 :  2:18:17 PM  Show Profile  Reply with Quote
quote:
Originally posted by Uniwares

Well, i am NOT using perforce, but VSS although i am not sure this makes a difference. The files seen in the first screenshot have never been checked in (not added yet) when I took the shot.
And I am really not having the time to find out which process/module created those files.



I suspect the IDE has to be creating those files, but this is just my working theory.

Does your C# code use reflection? I have heard of it, but not used it. I am trying to think of something the IDE would be doing that would cause it to create temporary files.

I recall you saying that you use Edit and Continue in C#. By "use" do you actually edit code and let the IDE recompile it? Or is this just turned on but never used. Edit and Continue is the only other logical reason I can see off hand for the IDE creating temporary code files.

zen is the art of being at one with the two'ness
Go to Top of Page

sjaffe
Ketchup Master

USA
60 Posts

Posted - Oct 16 2006 :  2:55:28 PM  Show Profile  Reply with Quote
A quick test indicates turning off the "watch for external changes" eliminates one problem, but will create another. It's typical that I do almost all editing in the IDE, but also have a diff (file compare) program that I will do a small amount of editing in. There is a reparse toolbar button. If I edit the file in the diff app, then select reparse in the IDE, will that find whatever changes I made externally? If so, rather than keep track of what file I changed externally and need to reparse, is there a quick way to just reparse all? But if I do that, is it then going to find those temp files and I'll be back where I started? Why can't VAX just not parse files in the %TEMP% directory (or at least make it optional)? How are you deciding what files to include from the %TEMP% directory?

Art is the zen of being one too

Stan
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 16 2006 :  3:13:28 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Does your C# code use reflection?


No, nothing like that. Have enough with looking into the mirror in the morning...

quote:
Originally posted by feline

I recall you saying that you use Edit and Continue in C#. By "use" do you actually edit code and let the IDE recompile it?


Happens occasionally. Thats what it is made for, right?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 16 2006 :  3:19:33 PM  Show Profile  Reply with Quote
one experiment with VS2005 and C# later, edit and continue does not seem to be placing any files into my %TEMP% directory *sigh*

zen is the art of being at one with the two'ness
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18948 Posts

Posted - Oct 16 2006 :  5:18:16 PM  Show Profile  Reply with Quote
quote:
Originally posted by sjaffe

A quick test indicates turning off the "watch for external changes" eliminates one problem, but will create another. It's typical that I do almost all editing in the IDE, but also have a diff (file compare) program that I will do a small amount of editing in.


I have just done some tests here using VC6 and VA 1539, editing a cpp file. I have "watch for external changes" turned off for these tests.

If the file is open in the IDE and I edit it externally then when I return to the IDE, it detects the file change and prompts me to reload the file. After reloading the file VA automatically re-parses the code its self without any prompting from me.

This seems to happen even if the file was not the "current" file.

When the file was closed, when I opened it VA seems to pick up all of the changes that were made to it.

This suggests that if you are only using the diff program on files you already have open and are working on then you should be able to turn off "watch for externally modified files" without to many problems.

I have put in a bug report to ignore code files under the %TEMP% directory.

case=3054

zen is the art of being at one with the two'ness
Go to Top of Page

sjaffe
Ketchup Master

USA
60 Posts

Posted - Oct 16 2006 :  5:29:43 PM  Show Profile  Reply with Quote
Thanks for looking into this. I'll run eVC with the "watch for external..." VAX option off for a while and see if any new issues come up.

Art is the zen of being one too

Stan
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 16 2006 :  5:53:03 PM  Show Profile  Reply with Quote
Some more "watch for external changes" examples.

Scenario 1:
You sync up to some changes in source control.
You load a solution.
VA will notice the changes and bring itself up to date.
No need for "watch for external changes".

Scenario 2:
You have a solution loaded.
You sync up to some changes in source control.
The files that changed were source files that were not open in the IDE.
Without "watch for external changes", goto information for those source files will be stale.
Opening the changed files should bring the info up to date.

Scenario 3:
You have a solution loaded.
You sync up to some changes in source control.
The files that changed were header files that were not open in the IDE.
Without "watch for external changes", symbol information for those headers may not be incorrect.
Opening the changed headers should bring the info up to date.


Similar situations apply if you substitute "edited externally" for "sync up source control."

Edited by - sean on Oct 16 2006 5:55:51 PM
Go to Top of Page

sjaffe
Ketchup Master

USA
60 Posts

Posted - Oct 16 2006 :  6:02:06 PM  Show Profile  Reply with Quote
Scenario 4: I've done a number of diff's, so I have many files in the %TEMP% directory. I close the IDE. I open the IDE. I have "Parse all files when opening a project" checked. Will VAX parse the files in %TEMP% (original problem)? (Alternatively, I just close and open the workspace).

Art is the zen of being one too

Stan
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 16 2006 :  6:07:33 PM  Show Profile  Reply with Quote
No.

It will look in %TEMP% during project load for tlh files, but not for other source or header files.

You generally do want "Parse all files when opening a project" enabled. It applies to files that are listed in the solution/workspace. VA does cache info about files, so it may not ACTUALLY parse all the files - just those for which it has stale info.

Edited by - sean on Oct 16 2006 6:08:25 PM
Go to Top of Page

sjaffe
Ketchup Master

USA
60 Posts

Posted - Oct 16 2006 :  6:50:17 PM  Show Profile  Reply with Quote
So what exactly is the condition when VAX will parse files in the
%TEMP% directory?

Art is the zen of being one too

Stan
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 16 2006 :  8:04:00 PM  Show Profile  Reply with Quote
VA will parse tlh files in %TEMP% during solution/workspace/project load.

If you open a file from the temp dir in the IDE, VA will parse it.

If "watch for external changes" is enabled, then changes to source and header (but not C#) files are monitored including those in the temp dir.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Oct 30 2006 :  12:30:38 AM  Show Profile  Reply with Quote
Case 3054 fixed in build 1540. VA X ignores more files in %TEMP%.
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