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
 Goto implementation does not work
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

noone
New Member

2 Posts

Posted - Jan 25 2006 :  06:28:56 AM  Show Profile  Reply with Quote
Hi,

I am evaluating software and first thing I tested was feature I miss in VS: "Goto implementation"

"Goto implementation" does not work when cpp file has
using statement.

Our namespace hierarchy is complex (and long).
(This is simple test to reproduce behaviour)
//namespace.h
#pragma once
using namespace System;

namespace VisualAssist1 {
namespace Test1 {
public __gc class Class1;
}
}
// VisualAssist1.h
#include "namespace.h"

public __gc class VisualAssist1::Test1::Class1 {
public:
int f1(int i);
};
//VisualAssist1.cpp
#include "stdafx.h"
#include "VisualAssist1.h"

using VisualAssist1::Test1::Class1;

int Class1::f1(int i) {
return 0;
}

If I position cursor in header file "f1" function and pres Alt+G, or select menu VAssistX->Goto Implementation, nothing happens.
It works from .cpp file to .h file.

If I change .cpp file and remove using "VisualAssist1::Test1::Class1;"
and add namespace name in front of method, "Goto implementation works"
(modified)
//VisualAssist1.cpp
#include "stdafx.h"
#include "VisualAssist1.h"

int VisualAssist1::Test1::Class1::f1(int i) {
return 0;
}

Goto implementation does not work in Visual studio too.

Workaround is to remove using statement but it gives long names for functions.
If I break line into two parts I get it working but I have to change all our source files.
//If using removed it works
int VisualAssist1::Test1:://split line
Class1::f1(int i) {
return 0;
}

I uses latest version of demo software (downloaded today) and Visual Studio 2003

feline
Whole Tomato Software

United Kingdom
19020 Posts

Posted - Jan 25 2006 :  5:34:20 PM  Show Profile  Reply with Quote
i am seeing the same thing. thank you for the clear example. to help me picture the extent of the problem is this only happening when you want to swap between a header and a cpp file? or are other alt-g movements also failing? e.g. to look up a function that you are calling?

are you aware of alt-o to swap between a header and a cpp file? you can also use alt-m once in a file to get a drop down list of the functions in that file. type once this list is shown to filter it down to just the item you want.

i have been able to produce the same bug with an even simpler example, which should help.

case=971

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

feline
Whole Tomato Software

United Kingdom
19020 Posts

Posted - Jan 25 2006 :  5:37:21 PM  Show Profile  Reply with Quote
you may also find the post by o2a in this thread

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

to be useful.

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

noone
New Member

2 Posts

Posted - Jan 26 2006 :  02:44:10 AM  Show Profile  Reply with Quote
>look up a function that you are calling?

This also does not work.
VAssist::Test1::Class1* c1 = new VAssist::Test1::Class1();
int i = 0;
c1->f1(i, &i);

If I move cursor between "f" and "1" (c1->f1), and press Alt+G it jumps to declaration (.h file). If I select menu command VAssistX->Goto Implementation, nothing happens.
It works from .cpp file to .h but not vice versa.
Workarround is to use VS (right click function and select: Go To Definition, Go To Declaration. Both works)

Alt+O is very useful feature I discovered at begining. I did not know about Alt-M. It is very handy.


Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19020 Posts

Posted - Jan 26 2006 :  4:40:03 PM  Show Profile  Reply with Quote
a combination of alt-g to get you to the header, and then alt-o and alt-m to find the function is not an ideal work around, but it is worth considering if you find the IDE's goto overly slow, or it ever fails.

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

sean
Whole Tomato Software

USA
2817 Posts

Posted - Dec 19 2006 :  9:27:08 PM  Show Profile  Reply with Quote
case=971 is fixed in build 1543
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