Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Goto implementation does not work

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
noone Posted - Jan 25 2006 : 06:28:56 AM
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
5   L A T E S T    R E P L I E S    (Newest First)
sean Posted - Dec 19 2006 : 9:27:08 PM
case=971 is fixed in build 1543
feline Posted - Jan 26 2006 : 4:40:03 PM
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.
noone Posted - Jan 26 2006 : 02:44:10 AM
>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.


feline Posted - Jan 25 2006 : 5:37:21 PM
you may also find the post by o2a in this thread

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

to be useful.
feline Posted - Jan 25 2006 : 5:34:20 PM
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

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