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
 In some projects Refactoring is not working
 New Topic  Reply to Topic
 Printer Friendly
Previous Page
Author Previous Topic Topic Next Topic
Page: of 3

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jun 13 2012 :  11:23:51 PM  Show Profile  Reply with Quote
I have spoken to our developers about this, and this is a harder problem than I had realised. Each of the effected refactoring commands needs to be fixed separately, due to the way we have to structure VA to work around the IDE.

Which refactoring command is causing the most trouble? Since this needs to be tackled piece by piece, where would it be most useful for you for us to start?

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

FWillen
Senior Member

Germany
45 Posts

Posted - Jul 09 2012 :  02:28:15 AM  Show Profile  Reply with Quote
Hi Feline,

I wasn't present the last days.

I would say it makes sence to start at this:
1.: We have a solution with project A and B, both with class LaSet. But in one project there is a variable named m_MyVar, in the other m_Myvar. Both variable are in suggestion list.

2.: Find References should show only references in both projects if the class A is defined in one file for both projects. If there are one file for project A and one file for project B this are different classes.

3.: Create declaration creates a variable in the header of the wrong project.

best regards
Frank Willen
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jul 12 2012 :  11:13:48 PM  Show Profile  Reply with Quote
For point 1, are you accessing these class instances via local variables in these projects? Global variables inside these projects, or something else?

Adding global variables adds a further complication, so it would be useful to know.

For point 2, to try and limit this problem, are you aware of the option:

VA Options -> Advanced -> Refactoring -> Display project nodes in Find References results

this will allow you to collapse, or simply delete unwanted projects from your Find References Results. This is not going to stop the problem happening, but it will make it a bit easier to work around when it does happen.

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

FWillen
Senior Member

Germany
45 Posts

Posted - Jul 13 2012 :  03:46:34 AM  Show Profile  Reply with Quote
For point 1:
it is a global variable.
For Example this is a class LaSet differently defined in project A und B. In project B there is an instance as a global variable defined:
LaSet* pLaSet;
When I type in pLaSet->m_ in project B Suggestion will show me variable of LaSet from project A and project B.

for point 2: this is correct, I already checked this box. But it would be better if Va shows only variable of LaSet from Project B. Except a class C is defined in a global file. Example: We defined class FK as a container for enums in a global header file. This file is included in both projects. And there it is useful to show instances in all projects. Maybe a Find references in project / solution would be a short solution.

class FK
{
public:
enum eFK
{
Mittig = 0,
Oben = 1,
Unten = 2,
};
};
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jul 15 2012 :  12:37:34 AM  Show Profile  Reply with Quote
For point 1, I have broken this down into two new, sub cases, to make it more manageable:

First the situation with two global variables, but different types, and the listbox for the global variable lists the members from both classes:

case=67831

Second, the situation where you are creating an instance of a class, where there are two classes with this class name, and you are getting the members from both classes listed:

case=67833

For point 2, are you talking about adding a single .h file to two projects at once? We are considering adding a form of the Find References command that only searches the current project, but if you are in a file that has been added to more than one project when you trigger Find References, VA is not going to know which project you want to search.

case=32262

It looks like the Create Declaration problem is a known problem:

case=35401

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

FWillen
Senior Member

Germany
45 Posts

Posted - Jul 16 2012 :  02:58:24 AM  Show Profile  Reply with Quote
For point 2, are you talking about adding a single .h file to two projects at once? We are considering adding a form of the Find References command that only searches the current project, but if you are in a file that has been added to more than one project when you trigger Find References, VA is not going to know which project you want to search.

yes, that's right. This file is used for solutions-wide constants (communication, programm constants etc.)

The best would be this procedure:
Find references for class C_2: This class C_2 is defined in two .h files, one defined in project A and the other defined in project B, => VA shows only references of class C_2, defined in project B

OR

Find references for class C_12: This class C_12 is defined in a single .h file, included in project A and project B => VA shows references of class C_12 in both projects
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jul 16 2012 :  11:20:11 AM  Show Profile  Reply with Quote
Thats a clear and helpful answer, searching all projects the file happens to be part of makes sense here. I have put a note onto the case about this, thank you.

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

support
Whole Tomato Software

5566 Posts

Posted - Aug 09 2012 :  02:01:38 AM  Show Profile  Reply with Quote
case=35401 is related to case=56104 and is fixed in build 1912
Go to Top of Page

FWillen
Senior Member

Germany
45 Posts

Posted - Aug 09 2012 :  02:23:39 AM  Show Profile  Reply with Quote
thanks,

In one project, VA was always suggesting the variables of the wrong project. This is working now. I will go for vacation until the third of september. I will continue testing after my vacation.

Do you know, when case=67831 will be fixed?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 10 2012 :  12:12:46 PM  Show Profile  Reply with Quote
Thank you for the update, this is good news, and hopefully will help quite a bit. Unfortunately I don't currently have any estimate for when case=67831 will be fixed, but this is down as a high priority bug.

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

FWillen
Senior Member

Germany
45 Posts

Posted - Sep 06 2012 :  12:21:56 AM  Show Profile  Reply with Quote
It is a high priority bug since 2011-06. Will it be fixed this year?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Sep 11 2012 :  1:21:40 PM  Show Profile  Reply with Quote
Unfortunately I don't currently have an estimate for when this will be fixed. These are difficult problems for us to solve, and they don't seem to be effecting many users. I do realise these are serious problems for you, and they are causing quite a few difficulties. It is sometimes difficult to prioritise the various bug reports we have to look at.

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

FWillen
Senior Member

Germany
45 Posts

Posted - Sep 20 2012 :  07:46:51 AM  Show Profile  Reply with Quote
Create from usage does still create the new variable in the wrong project.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Sep 20 2012 :  11:17:54 AM  Show Profile  Reply with Quote
Unfortunately Create from Usage is still to be fixed. This is a known problem, and is covered by

case=56104

This is one of those complex problems where different refactoring commands require separate fixes.

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

support
Whole Tomato Software

5566 Posts

Posted - Dec 17 2012 :  11:48:27 PM  Show Profile  Reply with Quote
case=56104 is fixed in build 1925
Go to Top of Page

FWillen
Senior Member

Germany
45 Posts

Posted - Dec 18 2012 :  02:31:10 AM  Show Profile  Reply with Quote
thanks, it seems to work.

Then, there is only 67831 to be fixed.

Sometimes the listbox shows only the variables from the wrong class, not from both classes.

Example:
Project A:

classs CAppA
{
long varA;
}
CAppA theApp;

Project B:
classs CAppB
{
long varB;
}
CAppB theApp;

In some projects Va shows only varB if I write "theApp." in project A. If I write "theApp.varA" in Project A VisualAssist underlines VarA.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Dec 18 2012 :  11:38:25 AM  Show Profile  Reply with Quote
work on 67831 is in progress.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Feb 25 2013 :  11:58:22 AM  Show Profile  Reply with Quote
case=32262 is implemented in build 1929
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Feb 25 2013 :  12:21:20 PM  Show Profile  Reply with Quote
case=67831 is fixed in build 1929
Go to Top of Page

FWillen
Senior Member

Germany
45 Posts

Posted - Feb 25 2013 :  11:58:39 PM  Show Profile  Reply with Quote
ok, thanks,

it seems to work.

Then there ist only one thing.

Project A:
class A
{
long m_DatenAusgabe;
}
Project B:
class A
{
long m_Datenausgabe;
}

Va shows me both variables if I type in a variable of class A followed by a dot. VA should show only the correct ones.


Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Feb 26 2013 :  12:09:50 PM  Show Profile  Reply with Quote
I am seeing the same effect here. Thank you for the clear description:

case=67833
Go to Top of Page
Page: of 3 Previous Topic Topic Next Topic  
Previous Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000