Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 VAX 1538: %TEMP% - Alt+G

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
Uniwares Posted - Oct 13 2006 : 12:14:16 AM
Which one to choose here?


20   L A T E S T    R E P L I E S    (Newest First)
support Posted - Oct 30 2006 : 12:30:38 AM
Case 3054 fixed in build 1540. VA X ignores more files in %TEMP%.
sean Posted - Oct 16 2006 : 8:04:00 PM
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.
sjaffe Posted - Oct 16 2006 : 6:50:17 PM
So what exactly is the condition when VAX will parse files in the
%TEMP% directory?
sean Posted - Oct 16 2006 : 6:07:33 PM
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.
sjaffe Posted - Oct 16 2006 : 6:02:06 PM
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).
sean Posted - Oct 16 2006 : 5:53:03 PM
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."
sjaffe Posted - Oct 16 2006 : 5:29:43 PM
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.
feline Posted - Oct 16 2006 : 5:18:16 PM
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
feline Posted - Oct 16 2006 : 3:19:33 PM
one experiment with VS2005 and C# later, edit and continue does not seem to be placing any files into my %TEMP% directory *sigh*
Uniwares Posted - Oct 16 2006 : 3:13:28 PM
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?
sjaffe Posted - Oct 16 2006 : 2:55:28 PM
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?
feline Posted - Oct 16 2006 : 2:18:17 PM
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.
feline Posted - Oct 16 2006 : 2:15:22 PM
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?
feline Posted - Oct 13 2006 : 12:52:40 PM
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.
Uniwares Posted - Oct 13 2006 : 12:11:03 PM
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.
sjaffe Posted - Oct 13 2006 : 10:42:43 AM
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.
Uniwares Posted - Oct 13 2006 : 09:16:53 AM
Uniwares Posted - Oct 13 2006 : 09:09:54 AM
Seems those temp files are created for project classes and for .net classes, I find occasionally both kinds there.
Edit and continue is enabled.
feline Posted - Oct 13 2006 : 09:06:37 AM
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.
jpizzi Posted - Oct 13 2006 : 12:57:13 AM
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?

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000