T O P I C R E V I E W |
sjaffe |
Posted - Nov 15 2006 : 4:19:21 PM VAX 1540 in eVC 4.0: After running the Find References command I see the references listed in a window. I would like to "visit" all the references (jump to the references in the source files where they occur). I am using F4 (mapped to GoToNextErrorTag). Sometimes it works, more often it does not. I have yet to find any cause and effect of why it works sometimes but not others. It's a nice feature (when it works ;^) Why the intermittence? |
9 L A T E S T R E P L I E S (Newest First) |
sean |
Posted - Jan 18 2007 : 11:39:00 AM While I don't know of a keybinding to pick a particular tab in the output window, ctrl+page up/down will switch between them. |
sjaffe |
Posted - Jan 18 2007 : 10:50:18 AM Thanks for your explanation. It now makes sense what is happening. You mention VA picks up the IDE's F4 command on the output/build window. The problem is when some other tab is active. I assume it is not possible to intercept the F4 command from the source control tab as well? If that were possible, it seems this problem would go away.
I do have a key binding for the FindReferenceResults, so I can easily toggle between the Find References window and the build window. This is a convenient binding (and I previously found that right here in the forum ;^) I am using ctrl-2 to invoke ActivateOutputWindow. Do you know if there is a way to select which tab is active? The original problem appears because the tab is switch away from either build or Find in Files to Source Control. If after I check out or revert a file (and the output window tab switches to Source Control) I could switch the tab back using a key binding, that would make things a little easier (I like keyboarding over mouse clicks when possible). |
feline |
Posted - Jan 18 2007 : 09:56:41 AM Looking at this I believe you are seeing something of an IDE "bug" or "feature", depending on how you want to look at it.
Using my test project I did a compile, which produced a single error. At this point F4 jumps to this error. So I am using the IDE's F4 handling on the output window, with nothing at all to do with VA or Find References.
I then did a Perforce source control operation. Specifically I selected "undo check out" via right clicking on a file in FileView. As a result the "Source Control" tab jumped to the front.
At this point F4 does "nothing". To be exact it beeps, but that is effectively nothing for our purposes. If I change tabs to "Build" then F4 works, it jumps to the build error. Change tabs back to "Source Control" and F4 beeps.
Looking over your description I seem to be seeing exactly the same effect as you.
F4 to move through VA's Find References Results "cheats" by picking up the IDE's F4 command on the output / build window and then using it to scan through Find References Results instead. Since the IDE its self is not responding to F4 there is not going to be anything for VA to respond to if I had Find References Results to the fore.
This is an unfortunate limitation of EVC++4 and VC6, VA is not free to just do what it wants, it has to work within the limitations set by the IDE.
If you bind a keyboard shortcut to "VAssistX.FindReferencesResults" then does this help? This should place focus in the Find References Results window, with the last item you jumped to selected. You can now use the arrow keys and Enter to select and then jump to the next item of interest. |
sjaffe |
Posted - Jan 11 2007 : 1:42:48 PM Here is a way to get the problem to happen (VAX 1543):
1. Start up eVC (file had previously been loaded into editor) 2. Do a build 3. Run Find References on an item in the file 4. (F4 works correctly) 5. Add a blank line to the file (file was read-only, now checked out and writable) 6. (F4 now does nothing) 7. Run Find in Files 8. Run Find References 9. (F4 works correctly now) 10. Revert file (undo checkout from within eVC) 11. (F4 now does nothing) 12. Run Find References 13. (F4 now does nothing) 14. Run Find in Files, then Find References 15. (F4 working) 16. Check file out from outside eVC 17. (F4 still working) 18. Add blank line to file 19. (F4 working) 20. Update source control status within eVC 21. (F4 working) 22. Undo checkout from within eVC 23. (F4 now does not work)
It is very consistent/repeatable. It appears that after a file is either checked out or has Undo Checkout run from within eVC, F4 no longer works for Find References. Running Find in Files will get it working again.
I would really appreciate if this was working correctly. It seems to be related to the source control status changing from within eVC. I can try different scenarios for you if that will help.
Thanks, Stan |
sjaffe |
Posted - Dec 06 2006 : 11:09:52 AM It may be related, but the interesting part is just having text in the Find in Files output window is not sufficient to get F4 working in the Find References window. You must first use F4 in the Find in Files window before it will work in Find References. |
feline |
Posted - Dec 06 2006 : 08:28:32 AM Interesting. I think this is the same effect as having text in the output window. Notice that F4 steps through the results from Find in Files. |
sjaffe |
Posted - Dec 05 2006 : 1:00:04 PM I've found a way to get it to start working again once it stops. If I do a "Find in Files" I get output (search results) under the Find in Files 1 tab. F4 then jumps to each item in the list. If I then switch to the Find References window using VAssistXFindReferencesResults, F4 will now work correctly with this list of references. Note there was text in the Build window at all times during this test.
To get the problem to happen consistently, I found this sequence:
1. Start up eVC 2. Load a file to edit 3. Run Find References on an item in the file 4. (F4 will not work, yes I know there is no text in the build window) 5. Run Find in Files 6. (F4 will sequence through the Find in Files list) 7. Switch to the Find References window using VAssistXFindReferencesResults 8. F4 will now sequence through the Find References window
Thanks, Stan |
feline |
Posted - Nov 16 2006 : 08:30:19 AM You can try mapping a keyboard shortcut to VAssistX.FindReferencesResults. When Find References Results appears it remembers the last item you jumped to, so you can simply use the up or down arrow keys to move to the next or previous item.
Not quite the same, but being able to scan down the list and select the item you want to jump to is very useful. |
sean |
Posted - Nov 15 2006 : 7:42:45 PM The evc4/vc6 integration of the results window is a bit of hack if you haven't noticed; navigation via GoToNextErrorTag and GoToPreviousErrorTag requires some text in the IDE output window like from a build (aborted or otherwise). see Navigation at http://www.wholetomato.com/products/features/findReferences.asp
|